libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AIX apr-util questions / problems


From: Perry Smith
Subject: Re: AIX apr-util questions / problems
Date: Fri, 3 Aug 2012 16:09:01 -0500

On Aug 3, 2012, at 8:34 AM, Bob Friesenhahn wrote:

> On Thu, 2 Aug 2012, Perry Smith wrote:
>> Note that there is no -L options and the -pthread option is present.  To my 
>> eyes, this looks correct.  (Note that the original line also had --silent 
>> which I removed to help me debug this.)
>> 
>> The call to ld is this:
>> 
>> ld -bpT:0x10000000 -bpD:0x20000000 -btextro -bnodelcsect -bM:SRE -bnoentry
> 
> Is libtool invoking 'ld' directly in your build, or does it invoke gcc then 
> which invokes ld?
> 
> Please post the full unmodified output showing the libtool command and 
> everything it executes as a result.
> 
>> I don't know how libtool figures out (or does it guess?) what the compiler 
>> needs but in this case, it appears to be making a couple mistakes.
> 
> Usually libtool queries gcc to see how it would link a program using those 
> major options.  Sometimes gcc does not accurately describe what it would do.

I hope (below) is what you are asking for.

This is a very interesting problem to me.  Apache has two support libraries: 
apr and apr-util.  The problem is with apr-util.  The libtool call for apr 
appears to me to be "the same" and produces correct results.  The only 
significant difference I see if apr-util has -lexpat -liconv.

expat is a staticly linked library and it is the one that causes libgcc_s to be 
needed due to setting up exception handling.  apr needs libgcc_s "directly" 
(one of the object files being linked needs it) where as apr-util does not need 
it directly but only because of expat's needs.

libtool: link: rm -fr  .libs/libaprutil-1.a .libs/libaprutil-1.exp 
.libs/libaprutil-1.la .libs/libaprutil-1.lai .libs/libaprutil-1.so 
.libs/libaprutil-1.so.0 .libs/libaprutil-1.so.0.4.1
libtool: link: /bin/nm -B -BCpg  buckets/.libs/apr_brigade.o 
buckets/.libs/apr_buckets.o buckets/.libs/apr_buckets_alloc.o 
buckets/.libs/apr_buckets_eos.o buckets/.libs/apr_buckets_file.o 
buckets/.libs/apr_buckets_flush.o buckets/.libs/apr_buckets_heap.o 
buckets/.libs/apr_buckets_mmap.o buckets/.libs/apr_buckets_pipe.o 
buckets/.libs/apr_buckets_pool.o buckets/.libs/apr_buckets_refcount.o 
buckets/.libs/apr_buckets_simple.o buckets/.libs/apr_buckets_socket.o 
crypto/.libs/apr_crypto.o crypto/.libs/apr_md4.o crypto/.libs/apr_md5.o 
crypto/.libs/apr_sha1.o crypto/.libs/getuuid.o crypto/.libs/uuid.o 
dbd/.libs/apr_dbd.o dbm/.libs/apr_dbm.o dbm/.libs/apr_dbm_sdbm.o 
dbm/sdbm/.libs/sdbm.o dbm/sdbm/.libs/sdbm_hash.o dbm/sdbm/.libs/sdbm_lock.o 
dbm/sdbm/.libs/sdbm_pair.o encoding/.libs/apr_base64.o hooks/.libs/apr_hooks.o 
ldap/.libs/apr_ldap_stub.o ldap/.libs/apr_ldap_url.o 
memcache/.libs/apr_memcache.o misc/.libs/apr_date.o misc/.libs/apr_queue.o 
misc/.libs/apr_reslist.o misc/.libs/apr_rmm.o misc/.libs/apr_thread_pool.o 
misc/.libs/apu_dso.o misc/.libs/apu_version.o strmatch/.libs/apr_strmatch.o 
uri/.libs/apr_uri.o xlate/.libs/xlate.o xml/.libs/apr_xml.o   | awk '{ if ((($ 
2 == "T") || ($ 2 == "D") || ($ 2 == "B")) && (substr($ 3,1,1) != ".")) { print 
$ 3 } }' | sort -u > .libs/libaprutil-1.exp
libtool: link: gcc -o .libs/libaprutil-1.so.0.4.1  buckets/.libs/apr_brigade.o 
buckets/.libs/apr_buckets.o buckets/.libs/apr_buckets_alloc.o 
buckets/.libs/apr_buckets_eos.o buckets/.libs/apr_buckets_file.o 
buckets/.libs/apr_buckets_flush.o buckets/.libs/apr_buckets_heap.o 
buckets/.libs/apr_buckets_mmap.o buckets/.libs/apr_buckets_pipe.o 
buckets/.libs/apr_buckets_pool.o buckets/.libs/apr_buckets_refcount.o 
buckets/.libs/apr_buckets_simple.o buckets/.libs/apr_buckets_socket.o 
crypto/.libs/apr_crypto.o crypto/.libs/apr_md4.o crypto/.libs/apr_md5.o 
crypto/.libs/apr_sha1.o crypto/.libs/getuuid.o crypto/.libs/uuid.o 
dbd/.libs/apr_dbd.o dbm/.libs/apr_dbm.o dbm/.libs/apr_dbm_sdbm.o 
dbm/sdbm/.libs/sdbm.o dbm/sdbm/.libs/sdbm_hash.o dbm/sdbm/.libs/sdbm_lock.o 
dbm/sdbm/.libs/sdbm_pair.o encoding/.libs/apr_base64.o hooks/.libs/apr_hooks.o 
ldap/.libs/apr_ldap_stub.o ldap/.libs/apr_ldap_url.o 
memcache/.libs/apr_memcache.o misc/.libs/apr_date.o misc/.libs/apr_queue.o 
misc/.libs/apr_reslist.o misc/.libs/apr_rmm.o misc/.libs/apr_thread_pool.o 
misc/.libs/apu_dso.o misc/.libs/apu_version.o strmatch/.libs/apr_strmatch.o 
uri/.libs/apr_uri.o xlate/.libs/xlate.o xml/.libs/apr_xml.o   
-Wl,-blibpath:/gsa/ausgsa/projects/r/ruby/lib:/gsa/ausgsa/projects/r/ruby/apache2/lib:/gsa/ausgsa-p9/06/ruby/bin/../lib/gcc/powerpc-ibm-aix6.1.0.0/4.5.2:/gsa/ausgsa-p9/06/ruby/bin/../lib/gcc:/gsa/ausgsa-p9/06/ruby/bin/../lib/gcc/powerpc-ibm-aix6.1.0.0/4.5.2/../../..:/usr/lib:/lib
 /gsa/ausgsa/projects/r/ruby/lib/libexpat.a -L/gsa/ausgsa/projects/r/ruby/lib 
-liconv -L/gsa/ausgsa/projects/r/ruby/apache2/lib -lapr-1 -lpthread -lc 
-Wl,-bnoentry  -O2 -pthread -Wl,-brtl   -pthread `if test "x-berok" != "x"; 
then func_echo_all "-Wl,-berok"; else :; fi` 
-Wl,-bexport:.libs/libaprutil-1.exp -shared -Wl,-G
libtool: link: (cd ".libs" && rm -f "libaprutil-1.so.0" && ln -s 
"libaprutil-1.so.0.4.1" "libaprutil-1.so.0")
libtool: link: (cd ".libs" && rm -f "libaprutil-1.so" && ln -s 
"libaprutil-1.so.0.4.1" "libaprutil-1.so")
libtool: link: ar cru .libs/libaprutil-1.a  buckets/apr_brigade.o 
buckets/apr_buckets.o buckets/apr_buckets_alloc.o buckets/apr_buckets_eos.o 
buckets/apr_buckets_file.o buckets/apr_buckets_flush.o 
buckets/apr_buckets_heap.o buckets/apr_buckets_mmap.o 
buckets/apr_buckets_pipe.o buckets/apr_buckets_pool.o 
buckets/apr_buckets_refcount.o buckets/apr_buckets_simple.o 
buckets/apr_buckets_socket.o crypto/apr_crypto.o crypto/apr_md4.o 
crypto/apr_md5.o crypto/apr_sha1.o crypto/getuuid.o crypto/uuid.o dbd/apr_dbd.o 
dbm/apr_dbm.o dbm/apr_dbm_sdbm.o dbm/sdbm/sdbm.o dbm/sdbm/sdbm_hash.o 
dbm/sdbm/sdbm_lock.o dbm/sdbm/sdbm_pair.o encoding/apr_base64.o 
hooks/apr_hooks.o ldap/apr_ldap_stub.o ldap/apr_ldap_url.o 
memcache/apr_memcache.o misc/apr_date.o misc/apr_queue.o misc/apr_reslist.o 
misc/apr_rmm.o misc/apr_thread_pool.o misc/apu_dso.o misc/apu_version.o 
strmatch/apr_strmatch.o uri/apr_uri.o xlate/xlate.o xml/apr_xml.o
libtool: link: ranlib .libs/libaprutil-1.a
libtool: link: ( cd ".libs" && rm -f "libaprutil-1.la" && ln -s 
"../libaprutil-1.la" "libaprutil-1.la" )

I hope this is what you are asking for... Thank you for your help
Perry




reply via email to

[Prev in Thread] Current Thread [Next in Thread]