Hello,

I seek your advice on some weirdness I've noticed with AIX 4.3.3.  I
want to create a shared library for dynamic loading using libtool with
the -module option.  When the AIX linker (or something in the compiler
chain) creates the shared library, it is put into a .a file.  That is,
it creates libfoo.a, a static archive of one element, which is
libfoo.so.0, and that shared object has an SONAME of libfoo.so.
Apparently, the linker knows how to link and run against that animal
if you just wanted to link.  But if you want to dynamically load it
(say from java or Tcl), these programs cannot dlopen the .a.  So I
need to do a post-install step like this:

   $ ar xv libfoo.a
   x - libfoo.so.0
   $ ln -s libfoo.so.0 libfoo.so

This gives me a libfoo.so that I can dlopen directly.

Anybody understand AIX?  Am I missing something basic here?
Do I need a post install step to accomplish my mission?

I don't think this is related, but I needed to patch libtool
to use the linker's -qmkshrobj rather than -Wl,-Bexport:foo.exp.
That's in order to all the symbols I needed exported.  I'll
submit that patch in a separate message.

- Don

-- 

        =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Don Anderson                    [EMAIL PROTECTED]
        Sleepycat Software Inc.         +1-978-287-4781
        118 Tower Rd.                   http://www.sleepycat.com
        Lincoln, MA 01773


_______________________________________________
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool

Reply via email to