Roumen Petrov wrote:
Daniel Sands wrote:
I have an executable that dlopens modules, and the modules make use of symbols provided by the executable. Since AIX does not export symbols unless either it has to (if needed for direct linkage to a shared object) or you REALLY want it to (either by -bexpall or by providing an exports list), these symbols don't resolve. So it either crashes (if compiled without -brtl) or complains about unresolved references. Is there a Libtool-standard way to make the executable export all of its symbols?

The standard is to add libtool flag -export-dynamic to executable LDFLAGS but may be libtool is not ported to you linker.

For GNU linker:
./libtool --config | grep export_dynamic
export_dynamic_flag_spec="\${wl}--export-dynamic"


Roumen



Since Daniel's e-mail address return mails - reason: User unknown
so I quote response.

You're right:  On AIX this flag is blank.  I'm also scratching my head
> because I'm sure I got a successful run without -brtl once the symbols
> were exported.  But today that is not the case:  Both the library and
> the executable must be built with -brtl if the library references
> symbols within the executable.  So those flags should also be added to
> the AIX platform.  Basically, -bexpall (or do the nm > exports trick)
> on executables, and -brtl on everything.

I could not help him to resolve issue (I don't have access to AIX, nor experience ).

Daniel please find attached file bootstrap.sh.gz with sample code and build based on autotools. The sample is strip down of C++ version. Please could you adapt to you host environment and post result to list so that people with experience on AIX to help you. Also it is wort to try libtool version 1.2.26 where AIX support is improved or may be to check 2.1b since it will be rool up soon.


Roumen

Attachment: bootstrap.sh.gz
Description: application/gzip

_______________________________________________
http://lists.gnu.org/mailman/listinfo/libtool

Reply via email to