apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From d.@nsn.no
Subject Buildproblem with apr-util-1.2.2/autoconf in SLES10 source-rpm when both 32bit and 64bit libexpat is present
Date Thu, 10 May 2007 08:01:55 GMT
Hi,

I found a problem with the build of apr-util-1.2.2 (
libapr-util1-1.2.2-13.2.src.rpm), when both expat-2.0.0-13.2.x86_64.rpm 
and expat-32bit-2.0.0-13.2.x86_64.rpm are installed.
I am using SLES10 amd64 version, and building a amd64 version of 
libapr-util1.2.2.

This is the error-message that appears when I issue command: "rpmbuild -ba 
SPECS/libapr-util1.spec"


1.      gcc -O2 -g -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fPIC -Wall 
-fno-strict-aliasing -DLDAP_DEPRECATED -Wall -g -fpie -fstack-protector 
-pthread -pie -fno-pie -fno-PIE -o .libs/svn add-cmd.o blame-cmd.o 
cat-cmd.o checkout-cmd.o cleanup-cmd.o commit-cmd.o copy-cmd.o 
delete-cmd.o diff-cmd.o export-cmd.o help-cmd.o import-cmd.o info-cmd.o 
lock-cmd.o log-cmd.o ls-cmd.o main.o merge-cmd.o mkdir-cmd.o move-cmd.o 
notify.o prompt.o propdel-cmd.o propedit-cmd.o propget-cmd.o 
proplist-cmd.o props.o propset-cmd.o resolved-cmd.o revert-cmd.o 
status-cmd.o status.o switch-cmd.o unlock-cmd.o update-cmd.o util.o 
../../../subversion/libsvn_client/.libs/libsvn_client-1.so 
/usr/src/packages/BUILD/subversion-1.3.x/subversion/libsvn_wc/.libs/libsvn_wc-1.so 
/usr/src/packages/BUILD/subversion-1.3.x/subversion/libsvn_ra/.libs/libsvn_ra-1.so 
../../../subversion/libsvn_wc/.libs/libsvn_wc-1.so 
/usr/src/packages/BUILD/subversion-1.3.x/subversion/libsvn_diff/.libs/libsvn_diff-1.so 
../../../subversion/libsvn_ra/.libs/libsvn_ra-1.so 
/usr/src/packages/BUILD/subversion-1.3.x/subversion/libsvn_ra_local/.libs/libsvn_ra_local-1.so

/usr/src/packages/BUILD/subversion-1.3.x/subversion/libsvn_repos/.libs/libsvn_repos-1.so 
/usr/src/packages/BUILD/subversion-1.3.x/subversion/libsvn_fs/.libs/libsvn_fs-1.so 
/usr/src/packages/BUILD/subversion-1.3.x/subversion/libsvn_fs_fs/.libs/libsvn_fs_fs-1.so 
/usr/src/packages/BUILD/subversion-1.3.x/subversion/libsvn_fs_base/.libs/libsvn_fs_base-1.so

/usr/src/packages/BUILD/subversion-1.3.x/subversion/libsvn_ra_svn/.libs/libsvn_ra_svn-1.so

/usr/src/packages/BUILD/subversion-1.3.x/subversion/libsvn_delta/.libs/libsvn_delta-1.so 
../../../subversion/libsvn_delta/.libs/libsvn_delta-1.so 
/usr/src/packages/BUILD/subversion-1.3.x/subversion/libsvn_subr/.libs/libsvn_subr-1.so 
../../../subversion/libsvn_subr/.libs/libsvn_subr-1.so 
/usr/lib64/libaprutil-1.so /usr/lib/libexpat.so -lldap -llber -ldb-4.3 
/usr/lib64/libexpat.so /usr/lib64/libapr-1.so -lrt -lcrypt -lpthread -ldl 
-lz -Wl,--rpath -Wl,/usr/lib64
2.      /usr/lib/libexpat.so: could not read symbols: File in wrong format

as the error-message shows, it's trying to include /usr/lib/libexpat.so, 
and the reason for this can be found in 
SOURCES/apr-util-1.2.2/build/apu-conf.m4, where a macro tests first for a 
32bit version, and uses this if it exists. 

What I did to make the sourcecode build, was to change the order in which 
the macro tests/includes, so that the 64bit-version takes presence over 
the 32bit version. I do not consider this a foolproof sollution, because 
this might break when building a 32bit version. What probably should be 
done is to use @libdir@/$libdir, or somehow check arcitechture for build 
before including a version of this lib (my autoconf knowlege is minimal).

Here is patch I used to get the package built:

--- apu-conf.m4.orig    2007-05-10 09:05:58.927993750 +0200
+++ apu-conf.m4 2007-05-10 09:06:28.277828000 +0200
@@ -64,13 +64,6 @@
     expat_libs="-lexpat"
     expat_libtool="$1/lib/libexpat.la"
   elif test -r "$1/include/expat.h" -a \
-    -r "$1/lib/libexpat.la"; then
-    dnl Expat 1.95.* installation (with libtool)
-    expat_include_dir="$1/include"
-    expat_ldflags="-L$1/lib"
-    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"
@@ -78,6 +71,13 @@
     expat_libs="-lexpat"
     expat_libtool="$1/lib64/libexpat.la"
   elif test -r "$1/include/expat.h" -a \
+    -r "$1/lib/libexpat.la"; then
+    dnl Expat 1.95.* installation (with libtool)
+    expat_include_dir="$1/include"
+    expat_ldflags="-L$1/lib"
+    expat_libs="-lexpat"
+    expat_libtool="$1/lib/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

Med vennlig hilsen/Best Regards

NSN ASA

Daniel Bond




Østerdalsgata 1 K
0658 OSLO

Telefon:  +47 21 00 01 00
Telefax:  +47 21 00 01 01
-----------------------------------------------------------

Vi ber om at alle henvendelser går via post@nsn.no. 
Du sikrer da en rask behandling av din henvendelse. 
Jeg må gjøre deg oppmerksom på at det kan ta tid å
behandle din sak om du velger å ikke bruke post@nsn.no.

-----------------------------------------------------------------------------
This email may contain NSN confidential and privileged material for
the sole use of the intended recipient.  Any review or distribution by
others is strictly prohibited.  If you are not the intended recipient
please contact the sender and delete all copies.
Mime
View raw message