curl-library
How to statically re-bind a dynamic library on AIX
Date: Wed, 23 Mar 2011 19:14:25 -0700
*From: Alona Rossen
<arossen_at_opentext.com<https://mail.google.com/mail/?view=cm&fs=1&tf=1&to=arossen_at_opentext.com&su=Re:%20building%20libcurl%20with%20SSL%20on%20AIX53/61>
> *
> *Date: Wed, 23 Mar 2011 12:42:38 -0400
> Hi All:
> Symbols are not exported when I link libcurl statically to
> OpenSSL libraries (OpenSSL 0.9.8e and OpenSSL 1.0.0d) on AIX53 and AIX61
>
> *
Alona, this is very odd, to see your question on my first visit to the site.
I just happen to have your solution: "re-bind" the library statically
*before* linking. This applies to any .a or .so. Here is how I did it:
mkdir OLD
> mv libcurl* OLD
> cd OLD
> ar x libcurl.a; ls
> file *.4
> rm libcurl.so.4
> cd ..
> ld -o libcurl.o -b svr4 -dn -r -z nodefs -b expall -b noipath -b nox -b
> nortl -b noglink -b nogc -b noentry OLD/libcurl.a
> ar -q libcurl.a libcurl.o
> nm -A -g *.a | tail -80
walker_at_aix364 08:33$ mkdir OLD
walker_at_aix364 08:33$ mv libcurl* OLD
walker_at_aix364 08:33$ cd OLD
walker_at_aix364 08:33$ ar x libcurl.a; ls
libcurl.a libcurl.la libcurl.so.4
walker_at_aix364 08:33$ file *.4
libcurl.so.4: executable (RISC System/6000) or object module not stripped
walker_at_aix364 08:33$ rm libcurl.so.4
walker_at_aix364 08:33$ cd ..
walker_at_aix364 08:33$ ld -o libcurl.o -b svr4 -dn -r -z nodefs -b expall -b
noipath -b nox -b nortl -b noglink -b nogc -b noentry OLD/libcurl.a
walker_at_aix364 08:33$ ar -q libcurl.a libcurl.o
ar: Creating an archive file libcurl.a.
walker_at_aix364 08:33$ nm -A -g *.a | tail -80
libcurl.a[libcurl.o]: stat U -
libcurl.a[libcurl.o]: stat64 U -
libcurl.a[libcurl.o]: strcasecmp U -
libcurl.a[libcurl.o]: strcat D 140940 12
libcurl.a[libcurl.o]: strchr U -
libcurl.a[libcurl.o]: strcmp D 97348 8
...
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2011-03-24