httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ignaz Birnstingl <ign...@gmail.com>
Subject [users@httpd] Problems building httpd on AIX 6.1 64 bit with GCC
Date Thu, 02 Feb 2012 15:22:33 GMT
Hi,

I'm trying to build Apache 2.2.22 on AIX 6.1 PPC 64 bit with gcc 4.4.6.
The configure line looks like this:
LDFLAGS="-maix64" LD=gcc AR="ar -X 64" CFLAGS="-maix64" ./configure
--prefix=/home/labuser/apache/httpd-22-x64 --enable-mods-shared=all
--enable-cache --enable-mem-cache --enable-headers --enable-proxy
--enable-proxy-http --enable-http --enable-cgi --enable-rewrite
--enable-deflate --with-included-apr

When linking APR, ar complains about an invalid object file format:
/bin/sh /home/labuser/apache/src/httpd-2.2.22-x64/srclib/apr/libtool
--silent --mode=link  gcc -pthread  -maix64 -DHAVE_CONFIG_H -U__STR__
-D_THREAD_SAFE   -I./include
-I/home/labuser/apache/src/httpd-2.2.22-x64/srclib/apr/include/arch/unix
-I./include/arch/unix
-I/home/labuser/apache/src/httpd-2.2.22-x64/srclib/apr/include/arch/unix
-I/home/labuser/apache/src/httpd-2.2.22-x64/srclib/apr/include
-version-info 4:5:4 -Wl,-brtl  -maix64 -o libapr-1.la -rpath
/home/labuser/apache/httpd-22-x64/lib passwd/apr_getpass.lo
strings/apr_cpystrn.lo strings/apr_fnmatch.lo strings/apr_snprintf.lo
strings/apr_strings.lo strings/apr_strnatcmp.lo strings/apr_strtok.lo
tables/apr_hash.lo tables/apr_tables.lo atomic/unix/builtins.lo
atomic/unix/ia32.lo atomic/unix/mutex.lo atomic/unix/ppc.lo
atomic/unix/s390.lo atomic/unix/solaris.lo dso/unix/dso.lo
file_io/unix/buffer.lo file_io/unix/copy.lo file_io/unix/dir.lo
file_io/unix/fileacc.lo file_io/unix/filedup.lo
file_io/unix/filepath.lo file_io/unix/filepath_util.lo
file_io/unix/filestat.lo file_io/unix/flock.lo file_io/unix/fullrw.lo
file_io/unix/mktemp.lo file_io/unix/open.lo file_io/unix/pipe.lo
file_io/unix/readwrite.lo file_io/unix/seek.lo file_io/unix/tempdir.lo
locks/unix/global_mutex.lo locks/unix/proc_mutex.lo
locks/unix/thread_cond.lo locks/unix/thread_mutex.lo
locks/unix/thread_rwlock.lo memory/unix/apr_pools.lo
misc/unix/charset.lo misc/unix/env.lo misc/unix/errorcodes.lo
misc/unix/getopt.lo misc/unix/otherchild.lo misc/unix/rand.lo
misc/unix/start.lo misc/unix/version.lo mmap/unix/common.lo
mmap/unix/mmap.lo network_io/unix/inet_ntop.lo
network_io/unix/inet_pton.lo network_io/unix/multicast.lo
network_io/unix/sendrecv.lo network_io/unix/sockaddr.lo
network_io/unix/socket_util.lo network_io/unix/sockets.lo
network_io/unix/sockopt.lo poll/unix/epoll.lo poll/unix/kqueue.lo
poll/unix/poll.lo poll/unix/pollcb.lo poll/unix/pollset.lo
poll/unix/port.lo poll/unix/select.lo random/unix/apr_random.lo
random/unix/sha2.lo random/unix/sha2_glue.lo shmem/unix/shm.lo
support/unix/waitio.lo threadproc/unix/proc.lo
threadproc/unix/procsup.lo threadproc/unix/signals.lo
threadproc/unix/thread.lo threadproc/unix/threadpriv.lo
time/unix/time.lo time/unix/timestr.lo user/unix/groupinfo.lo
user/unix/userinfo.lo   -lpthread
0654-210 passwd/.libs/apr_getpass.o is not valid in the current object
file mode.
        Use the -X option to specify the desired object mode.
0654-210 strings/.libs/apr_cpystrn.o is not valid in the current
object file mode.
        Use the -X option to specify the desired object mode.
0654-210 strings/.libs/apr_fnmatch.o is not valid in the current
object file mode.
        Use the -X option to specify the desired object mode.
0654-210 strings/.libs/apr_snprintf.o is not valid in the current
object file mode.
        Use the -X option to specify the desired object mode.
0654-210 strings/.libs/apr_strings.o is not valid in the current
object file mode.
        Use the -X option to specify the desired object mode.
...
Note that the build does not stop here.

When linking APR-util there are some linker errors concerning the
location of libodbc.so: the build searches in /opt/freeware/lib
instead of /opt/freeware/lib64. I simply changed that in the Makefile
but when linking the thing together similar errors occur like for APR:
0654-210 buckets/.libs/apr_brigade.o is not valid in the current
object file mode.
        Use the -X option to specify the desired object mode.
0654-210 buckets/.libs/apr_buckets.o is not valid in the current
object file mode.
        Use the -X option to specify the desired object mode.
0654-210 buckets/.libs/apr_buckets_alloc.o is not valid in the current
object file mode.
        Use the -X option to specify the desired object mode.
...

And finally, when linking htpasswd there are linker errors of undefined symbols:
        /home/labuser/apache/src/httpd-2.2.22-x64/srclib/apr/libtool
--silent --mode=link gcc -pthread  -maix64   -Wl,-brtl  -maix64 -o
htpasswd  htpasswd.lo -Wl,-uXML_Parse  -lm
/home/labuser/apache/src/httpd-2.2.22-x64/srclib/pcre/libpcre.la
/home/labuser/apache/src/httpd-2.2.22-x64/srclib/apr-util/libaprutil-1.la
-lexpat /home/labuser/apache/src/httpd-2.2.22-x64/srclib/apr/libapr-1.la
-lpthread
ld: 0711-317 ERROR: Undefined symbol: .apr_generate_random_bytes
ld: 0711-317 ERROR: Undefined symbol: .apr_file_printf
ld: 0711-317 ERROR: Undefined symbol: .apr_file_puts
ld: 0711-317 ERROR: Undefined symbol: .apr_strerror
ld: 0711-317 ERROR: Undefined symbol: .apr_file_close
...
This seems to be a consequence of ar not putting the objects to the .a
file, right?

So to me it seems I'm doing something fundamentally wrong. Is there a
flag to tell the configure script to use 64 bits instead of 32 bits? I
tried using the CFLAGS, LDFLAGS etc. but is that the correct approach?
Please let me know if I should post some more information.

Any help would be greatly appreciated.

Thanks,
-- Ignaz

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message