httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Steinmetz <...@domdv.de>
Subject Re: Compiling Apache-2.1.6-alpha error on SLES9 x86_64
Date Thu, 11 Aug 2005 13:06:51 GMT
Hu, Xuekun wrote:
> 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?  

I think it will help. It solves the problem in most cases but not if
somebody wants to build a 32bit apache on AMD64 which can happen with
respect to third party modules. Any auto* tools guru?

-- 
Andreas Steinmetz                       SPAMmers use robotrap@domdv.de

Mime
View raw message