I couldn't successfully compile Apache (2.1.6-alpha) with SLES9 (2.6.5-7.97-smp, 64bit).
The error is: ...-lrt -lcrypt -lpthread -ldl -lgdbm -ldb-4.2 /usr/lib/libexpat.la /root/huxuekun/httpd-2.1.6-alpha/srclib/apr/libapr-1.la -lrt -lcrypt -lpthread -ldl /usr/lib/libexpat.so: could not read symbols: Invalid operation collect2: ld returned 1 exit status make[3]: *** [libaprutil-1.la] Error 1 make[3]: Leaving directory `/root/huxuekun/httpd-2.1.6-alpha/srclib/apr-util' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/root/huxuekun/httpd-2.1.6-alpha/srclib/apr-util' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/root/huxuekun/httpd-2.1.6-alpha/srclib' make: *** [all-recursive] Error 1 Since this is 64 bit, libexpat.la should be reference to /usr/lib64 instead of /usr/lib. So, I think the below patch could fix the problem for x86_64 bit Linux. diff -Nraup httpd-2.1.6-alpha.orig/srclib/apr-util/build/apu-conf.m4 httpd-2.1.6-alpha.lib64/srclib/apr-util/build/apu-conf.m4 --- httpd-2.1.6-alpha.orig/srclib/apr-util/build/apu-conf.m4 2005-08-11 10:16:44.653903328 +0800 +++ httpd-2.1.6-alpha.lib64/srclib/apr-util/build/apu-conf.m4 2005-08-11 10:19:56.132794112 +0800 @@ -40,7 +40,14 @@ AC_DEFUN(APU_TEST_EXPAT,[ expat_libtool="" - if test -r "$1/lib/expat.h.in"; then + if test -r "$1/include/expat.h" -a \ + -r "$1/lib64/libexpat.la"; then + dnl Expat 1.95.* installation on certain 64-bit platforms (with libtool) + expat_include_dir="$1/include" + expat_ldflags="-L$1/lib64" + expat_libs="-lexpat" + expat_libtool="$1/lib64/libexpat.la" + elif test -r "$1/lib/expat.h.in"; then dnl Expat 1.95.* distribution expat_include_dir="$1/lib" expat_ldflags="-L$1/lib" @@ -54,13 +61,6 @@ AC_DEFUN(APU_TEST_EXPAT,[ expat_libs="-lexpat" expat_libtool="$1/lib/libexpat.la" elif test -r "$1/include/expat.h" -a \ - -r "$1/lib64/libexpat.la"; then - dnl Expat 1.95.* installation on certain 64-bit platforms (with libtool) - expat_include_dir="$1/include" - expat_ldflags="-L$1/lib64" - expat_libs="-lexpat" - expat_libtool="$1/lib64/libexpat.la" - elif test -r "$1/include/expat.h" -a \ -r "$1/lib/libexpat.a"; then dnl Expat 1.95.* installation (without libtool) dnl FreeBSD textproc/expat2 Since some Linux (64bit) distributions maybe have lib/libexpat.la file, so I put the lib64 check early. Any comments? Thanks, Xuekun Hu