libtool
[Top][All Lists]
Advanced

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

AIX 5.2 module without AR container?


From: Kent Boortz
Subject: AIX 5.2 module without AR container?
Date: Tue, 12 Sep 2006 12:19:15 +0200
User-agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.2 (darwin)

Hi,

I'm using this great "libltdl" library for dynamic loading on lots
of Unix/Linux platforms. I build a "module" to be loaded at runtime.

All is well, except on AIX 5.2. What happens is that libtool part of
the build produces a binary with soname ".so", but this file is also,
according to AIX tradition, put into a AR archive. And this is what is
installed with "make install".

I have a small test program that uses "libltdl" and it complains the
format of this file is unknown. If I unpack the ".so", that binary
loads fine.

A few questions

 - How do I prevent the AR version to be installed with "make install",
   but instead get the ".so" version, i.e. a module I can load?

 - I saw there are some versions, or hacked versions, of "ltdl.c"
   floating round that sets RTLD_MEMBER on AIX, enabling opening
   a "module" inside a AR container. As far as I can see, this never
   made it to the official source, why not?

 - Browsing the source of libtool (in no way claiming I understand
   anything I see), I come across a symbol "aix_use_runtimelinking"
   that seems to prefer ".so" over the AR container, but it is set if
   "-brtl" is in LDFLAGS. I thought libtool was to protect me from
   depending on flags, that I in my Makefile.am need to write
   something like

     # Set with AM_CONDITIONAL in configure.in
     if WANT_AIX_RUNTIMELINKING
     mymodule_la_LDFLAGS = -brtl
     endif

   Or do I misunderstand, that the way to control this is somethig
   else?

Sorry if part of this is automake questions, it is so hard to tell
sometimes from the user perspective.

Thanks,

kent

Ref: http://www.mager.org/aix/aix_ll.pdf

-- 
Kent Boortz, Senior Software Developer
MySQL AB, www.mysql.com
Office: +46 18 174400 ext. 4450 (VoIP)
Office: +46 19 182931
Mobile: +46 70 2791171




reply via email to

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