You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Tommi Mäkitalo <to...@epgmbh.de> on 2005/05/06 21:29:30 UTC
problem compiling apr-util-1.1.2 with suse 9.3 x86-64
Hi,
I try to compile apr-util-1.1.2. After unpacking, ./configure and make I get:
make[1]: Entering directory `/home/tommi/Projekte/apr-util-1.1.2'
/bin/sh /usr/local/apr/build-1/libtool --silent --mode=link gcc -g -O2
-pthread -DHAVE_CONFIG_H -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE
-I/home/tommi/Projekte/apr-util-1.1.2/include
-I/home/tommi/Projekte/apr-util-1.1.2/include/private
-I/usr/local/apr/include/apr-1 -version-info 1:1:1 -o libaprutil-1.la
-rpath /usr/local/apr/lib buckets/apr_buckets_refcount.lo
buckets/apr_buckets_pipe.lo buckets/apr_buckets_heap.lo
buckets/apr_brigade.lo buckets/apr_buckets_file.lo buckets/apr_buckets.lo
buckets/apr_buckets_flush.lo buckets/apr_buckets_socket.lo
buckets/apr_buckets_eos.lo buckets/apr_buckets_pool.lo
buckets/apr_buckets_simple.lo buckets/apr_buckets_alloc.lo
buckets/apr_buckets_mmap.lo crypto/apr_sha1.lo crypto/getuuid.lo
crypto/apr_md4.lo crypto/uuid.lo crypto/apr_md5.lo dbm/apr_dbm_ndbm.lo
dbm/apr_dbm.lo dbm/apr_dbm_berkeleydb.lo dbm/apr_dbm_sdbm.lo
dbm/apr_dbm_gdbm.lo dbm/sdbm/sdbm_pair.lo dbm/sdbm/sdbm.lo
dbm/sdbm/sdbm_hash.lo dbm/sdbm/sdbm_lock.lo encoding/apr_base64.lo
hooks/apr_hooks.lo ldap/apr_ldap_option.lo ldap/apr_ldap_url.lo
ldap/apr_ldap_init.lo misc/apr_reslist.lo misc/apr_date.lo misc/apr_queue.lo
misc/apu_version.lo misc/apr_rmm.lo uri/apr_uri.lo xml/apr_xml.lo
strmatch/apr_strmatch.lo xlate/xlate.lo -lrt -lcrypt -lpthread -ldl
-lgdbm /usr/lib/libexpat.la /usr/local/apr/lib/libapr-1.la -lrt -lcrypt
-lpthread -ldl
/usr/lib/libexpat.so: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make[1]: *** [libaprutil-1.la] Fehler 1
make[1]: Leaving directory `/home/tommi/Projekte/apr-util-1.1.2'
make: *** [all-recursive] Fehler 1
/usr/lib/libexpat.so is a 32-bit-library and this does not link with a 64-bit
library. I have a libexpat.so in /usr/lib64, which links well with a normal
programm. I created a minimal program ttt.cpp with just an empty
main-function, which compiles and links with libexpat with "g++ -lexpat -o
ttt ttt.cpp". "ldd ttt" tells me, that it depends
on /usr/lib64/libexpat.so.0.
Tommi
Re: problem compiling apr-util-1.1.2 with suse 9.3 x86-64
Posted by Joe Orton <jo...@redhat.com>.
On Tue, May 10, 2005 at 11:52:58AM +0200, Tommi Mäkitalo wrote:
> Hi,
>
> I see the problem.
>
> As a workaround it might be helpful to change the order. Look first
> at /usr/lib64 and then /usr/lib. 64-bit-systems might have 32-bit-libraries
> in /usr/lib, but 32-bit-systems normally have no 64-bit-libraries
> in /usr/lib64. Another possible workaround would be to add a configure-switch
> for expat. Or just skip the test. "g++ -lexpat something.cpp" works for me.
Changing the order just breaks the check for someone else unfortunately.
It's quite normal to have systems with both 32-bit and 64-bit libraries
installed and the compiler defaults vary e.g. on ppc64 the default is
normally 32-bit binaries.
> Just now I can't build apr on my system.
You can use --with-expat=xml/expat if you don't mind using the bundled
copy of the expat library.
joe
Re: problem compiling apr-util-1.1.2 with suse 9.3 x86-64
Posted by Tommi Mäkitalo <to...@epgmbh.de>.
Hi,
I see the problem.
As a workaround it might be helpful to change the order. Look first
at /usr/lib64 and then /usr/lib. 64-bit-systems might have 32-bit-libraries
in /usr/lib, but 32-bit-systems normally have no 64-bit-libraries
in /usr/lib64. Another possible workaround would be to add a configure-switch
for expat. Or just skip the test. "g++ -lexpat something.cpp" works for me.
Just now I can't build apr on my system.
Tommi
Re: problem compiling apr-util-1.1.2 with suse 9.3 x86-64
Posted by Joe Orton <jo...@redhat.com>.
On Sat, May 07, 2005 at 09:43:58PM +0200, Tommi Mäkitalo wrote:
> Hi,
>
> some more investigation:
>
> it looks like the problem is in build/apu-conf.m4. There is a definition for
> APU_TEST_EXPAT, which looks for existence of /usr/lib/libexpat.la. This file
> exists in my system (SuSE 9.2 x86-64 - not 9.3 as I mentioned before - sorry
> - I'm just used to use the most recent version;-).
>
> APU_TEST_EXPAT looks later in /usr/lib64, but not here, because it was already
> successful.
>
> The solution is to try out the library. A minimal program ("int main() {}")
> linked with /usr/lib/libexpat.la will fail.
It's hard to test linking against a libtool .la library from autoconf.
But yes, it's a long-standing bug, the whole macro really needs to be
rewritten to test for the presence of the library properly using
autoconf macros, rather than test -r.
http://issues.apache.org/bugzilla/show_bug.cgi?id=28205
joe
Re: problem compiling apr-util-1.1.2 with suse 9.3 x86-64
Posted by Tommi Mäkitalo <to...@epgmbh.de>.
Hi,
some more investigation:
it looks like the problem is in build/apu-conf.m4. There is a definition for
APU_TEST_EXPAT, which looks for existence of /usr/lib/libexpat.la. This file
exists in my system (SuSE 9.2 x86-64 - not 9.3 as I mentioned before - sorry
- I'm just used to use the most recent version;-).
APU_TEST_EXPAT looks later in /usr/lib64, but not here, because it was already
successful.
The solution is to try out the library. A minimal program ("int main() {}")
linked with /usr/lib/libexpat.la will fail.