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 [EMAIL PROTECTED] 
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 [EMAIL PROTECTED]

-----------------------------------------------------------------------------
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.
--- 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

Reply via email to