libtool
[Top][All Lists]
Advanced

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

Re: libtool, Apache 2.0, AIX


From: mcnichol
Subject: Re: libtool, Apache 2.0, AIX
Date: Fri, 30 Nov 2001 13:59:19 -0600

Jeff,

You can change the behavior of libtool on AIX by adding a
a flag to the LDFLAGS variable.

Try this:

export LDFLAGS="-Wl,-brtl"

before doing configure and make.

Dan

> From: Jeff Trawick <address@hidden>
> 
> Apache 2.0 uses libtool and has for some time now.
> 
> On AIX we're trying to use libtool 1.4.2 but are running into some
> issues that perhaps someone can shed some light on.
> 
> background info:
> 
>   Apache 2.0 uses code in libapr and libaprutil, implicitly loaded
>   with httpd.
> 
>   As always, Apache 2.0 does dlopen() on DSOs configured in
>   httpd.conf.  These DSOs reference symbols in the main executable
>   (httpd), libapr, libaprutil, and anything else needed by the DSO.
> 
> libtool+AIX behaviors which we don't understand:  
> 
> (Some of this we can work-around with AIX-specific logic in our own
> build.  Some of this we might be able to patch into libtool.  For all
> of this, it would be useful if the suggested behavior is inappropriate
> for some reason.)
> 
> 1) after building our shared libraries, libtool is putting them in an
>    archive file and that archive file is what gets installed...  why
>    is this?  while this works on AIX, it is non-intuitive... people
>    expect foo.so, particularly with Apache DSOs like mod_include...
> 
>    currently on AIX I need to use the Apache syntax
> 
>      LoadModule mod_foo libfoo.a(libfoo.so.0)
> 
>    and turn on the dlopen() flag that allows members to be loaded.
> 
>    While the libfoo isn't a major problem for libraries used
>    implicitly by httpd (libapr and libaprutil), it is messy for DSOs
>    because of the Apache configuration file syntax implications.
> 
>    So... really important for us to avoid the archive/member thing for
>    Apache DSOs.  nice for us to avoid the archive/member thing for
>    libapr/libaprutil
> 
>    It seems to me that doing run-time linking will trick libtool into
>    skipping the archive/member thing but we don't want run-time
>    linking.
> 
> 2) export file format
> 
>    libtool seems to be building a nice export file on AIX, but it is
>    missing a small detail which would allow it to be used as an 
>    import file
> 
>    remember that on AIX, a shared library which needs symbols from
>    another shared library must use import files to tell the loader
>    which symbols are expected from which shared libraries...
> 
>    Apache builds libaprutil.a(libaprutil.so) which depends on
>    libapr.a(libapr.so).  It would be nice if the export file for
>    libapr had "#! libapr.a(libapr.so)" at the top so it can be used as
>    an import file
> 
> 3) implicitly specifying import files
> 
>    (closely related to #2 above)
> 
>    libaprutil depends on libapr
> 
>    when I build libaprutil it would be nice for the libapr
>    import/export file to be specified by libtool; it should be able to
>    know that I'm building a shared library (libaprutil) which depends
>    on another shared library (libapr)
> 
>    currently, libaprutil is not usable because the dynamic linker
>    doesn't know how to resolve the symbols
> 
> 4) it would be nice to get libtool-generated export files for main
>    executables... libtool has the nice logic to generate the export
>    files...  I don't know how to get one generated for the main
>    executable (e.g., .libs/httpd.exp to go with .libs/httpd)
> 
>    we do have logic to generate our own export files, but if we get
>    libtool to implicitly use import files libtool would want to use a
>    file it had generated
> 
> Thanks and best wishes,
> 
> Jeff
> -- 
> Jeff Trawick | address@hidden | PGP public key at web site:
>        http://www.geocities.com/SiliconValley/Park/9289/
>              Born in Roswell... married an alien...
> 
> _______________________________________________
> Libtool mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/libtool
> 



reply via email to

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