You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Ali Halawi <ha...@gmail.com> on 2009/11/13 14:29:41 UTC

libexpat.a linking

Hello, 

i am trying to make a binary distribution for apache 2.2.14 on aix 6.1.4

i have this installed  : 

# rpm -aq
cdrecord-1.9-7
mkisofs-1.13-4
AIX-rpm-6.1.4.0-1
tcl-8.4.7-3
tk-8.4.7-3
expect-5.42.1-3
bash-3.2-1
gcc-4.2.0-3
libgcc-4.2.0-3
expat-2.0.1-2
expat-devel-2.0.1-2

Now i launch ./build/binbuild.sh -> all goes ok ! 

now when i test the binary distribution on a test enviromenet where only
libgcc is installed.

i have a libaprutil-1.so problem because he uses libexpat.a 
i make a # dump -H /opt/xxx/httpd-2.2.14/lib/libaprutil-1.so


***Loader Section***
                      Loader Header Information
VERSION#         #SYMtableENT     #RELOCent        LENidSTR
0x00000001       0x000001ad       0x000004cc       0x00000122

#IMPfilID        OFFidSTR         LENstrTBL        OFFstrTBL
0x00000005       0x000061e8       0x000021b0       0x0000630a


                        ***Import File Strings***
INDEX  PATH                          BASE                MEMBER
0     
/opt/freeware/lib:/opt/xxx/httpd-2.2.14/lib:/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.0:/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.0/../../..:/usr/lib:/lib
1      /opt/freeware/lib             libexpat.a          libexpat.so.1
2                                    libiconv.a          shr4.o
3      /opt/xxx/httpd-2.2.14/lib   libapr-1.so
4                                    libc.a              shr.o


As you can see libexpat.a is linkied at /opt/freeware/lib 

but the problem in the test enviroment expat is not installed so
/opt/freeware/lib/libexpat.a doesnt exist

on my dev enviromenent the configure parameters are : 

CONFIGPARAM="--with-mpm=worker --enable-layout=Apache --prefix=$BUILD_DIR
--enable-mods-shared=most --with-expat=$APFULLDIR/srclib/apr-util/xml/expat
--enable
-static-support"

NOTE: when i install on test enviroment the libexpat.a is generated in the
right place in : 
/opt/xxx/httpd-2.2.14/lib

but the linking in libaprutil-1.so is not right (like shown above)

# ldd lib/libaprutil-1.so
lib/libaprutil-1.so needs:
Cannot find /opt/freeware/lib/libexpat.a(libexpat.so.0) >-(
         /usr/lib/libiconv.a(shr4.o)
         /opt/jonas/httpd-2.2.14/lib/libapr-1.so
         /usr/lib/libc.a(shr.o)
         /usr/lib/libpthread.a(shr_xpg5.o)
        
/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.0/libgcc_s.a(shr.o)
         /unix
         /usr/lib/libcrypt.a(shr.o)
         /usr/lib/libpthreads.a(shr_comm.o)



is there any idea? (Maybe a problem with using the existing libexpat in
apache and instead using the installed one ? anyway to avoid this ?)



-- 
View this message in context: http://old.nabble.com/libexpat.a-linking-tp26336604p26336604.html
Sent from the Apache HTTP Server - Dev mailing list archive at Nabble.com.


Re: libexpat.a linking

Posted by Ville Jussila <vi...@jussi.la>.
Hi,

I solved this by configuring Apache 2.2.16 :
./configure ... --with-expat=builtin

the --with-expat=builtin does the magic of using the internal expat when
apr-util is built. Otherwise it takes the one from /opt/freeware/lib and
statically links it. :(.

Regards, Ville

------------------------


Ali Halawi wrote:
> 
> Hello, 
> 
> i am trying to make a binary distribution for apache 2.2.14 on aix 6.1.4
> 
> i have this installed  : 
> 
> # rpm -aq
> cdrecord-1.9-7
> mkisofs-1.13-4
> AIX-rpm-6.1.4.0-1
> tcl-8.4.7-3
> tk-8.4.7-3
> expect-5.42.1-3
> bash-3.2-1
> gcc-4.2.0-3
> libgcc-4.2.0-3
> expat-2.0.1-2
> expat-devel-2.0.1-2
> 
> Now i launch ./build/binbuild.sh -> all goes ok ! 
> 
> now when i test the binary distribution on a test enviromenet where only
> libgcc is installed.
> 
> i have a libaprutil-1.so problem because he uses libexpat.a 
> i make a # dump -H /opt/xxx/httpd-2.2.14/lib/libaprutil-1.so
> 
> 
> ***Loader Section***
>                       Loader Header Information
> VERSION#         #SYMtableENT     #RELOCent        LENidSTR
> 0x00000001       0x000001ad       0x000004cc       0x00000122
> 
> #IMPfilID        OFFidSTR         LENstrTBL        OFFstrTBL
> 0x00000005       0x000061e8       0x000021b0       0x0000630a
> 
> 
>                         ***Import File Strings***
> INDEX  PATH                          BASE                MEMBER
> 0     
> /opt/freeware/lib:/opt/xxx/httpd-2.2.14/lib:/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.0:/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.0/../../..:/usr/lib:/lib
> 1      /opt/freeware/lib             libexpat.a          libexpat.so.1
> 2                                    libiconv.a          shr4.o
> 3      /opt/xxx/httpd-2.2.14/lib   libapr-1.so
> 4                                    libc.a              shr.o
> 
> 
> As you can see libexpat.a is linkied at /opt/freeware/lib 
> 
> but the problem in the test enviroment expat is not installed so
> /opt/freeware/lib/libexpat.a doesnt exist
> 
> on my dev enviromenent the configure parameters are : 
> 
> CONFIGPARAM="--with-mpm=worker --enable-layout=Apache --prefix=$BUILD_DIR
> --enable-mods-shared=most
> --with-expat=$APFULLDIR/srclib/apr-util/xml/expat --enable
> -static-support"
> 
> NOTE: when i install on test enviroment the libexpat.a is generated in the
> right place in : 
> /opt/xxx/httpd-2.2.14/lib
> 
> but the linking in libaprutil-1.so is not right (like shown above)
> 
> # ldd lib/libaprutil-1.so
> lib/libaprutil-1.so needs:
> Cannot find /opt/freeware/lib/libexpat.a(libexpat.so.0) >-(
>          /usr/lib/libiconv.a(shr4.o)
>          /opt/jonas/httpd-2.2.14/lib/libapr-1.so
>          /usr/lib/libc.a(shr.o)
>          /usr/lib/libpthread.a(shr_xpg5.o)
>         
> /opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.0/libgcc_s.a(shr.o)
>          /unix
>          /usr/lib/libcrypt.a(shr.o)
>          /usr/lib/libpthreads.a(shr_comm.o)
> 
> 
> 
> is there any idea? (Maybe a problem with using the existing libexpat in
> apache and instead using the installed one ? anyway to avoid this ?)
> 
> ADDITION : 
> 
> To make it clear i would like to link to libexpat.a statically from apache
> after building it (/opt/xxx/httpd-2.2.14/lib) and not from the dynamic
> expat installed on the system(/opt/freeware/lib). ANY ideas ? i hope i am
> clear enough
> 
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/libexpat.a-linking-tp26336604p29783771.html
Sent from the Apache HTTP Server - Dev mailing list archive at Nabble.com.