Hi,
I've been playing with the latest alpha release of libtool and have come
across this issue.
When linking a shared library (for a dynamically loaded module), the
project I'm working on uses code from a subdirectory that has been
compiled into an archive library (.a).
So the link line is something like:
/bin/sh ./libtool --mode=link c++ -W -Wall -o module.la --module main.lo
extra/libextra.a
This generates the following warning:
*** Warning: This library needs some functionality provided by
extra/libextra.a.
*** I have the capability to make that library automatically link in when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
*** Warning: inter-library dependencies are not known to be supported.
*** All declared inter-library dependencies are being dropped.
*** Warning: libtool could not satisfy all declared inter-library
*** dependencies of module module.la. Therefore, libtool will create
*** a static module, that should work as long as the dlopening
*** application is linked with the -dlopen flag.
Unfortunately I can't get the application to load the libshared.a file
as a dynamic module (not unsurprising). Even if I specify -dlopen on
the command line it still barfs - but since darwin doesn't have a dlopen
call and I'm using wrapper library (dlcompat) this flag probably does
nothing.
I'm just wondering why it can't just suck the object files out of the
archive when linking the shared library? That seems to be how it works
on other platforms. Is it a problem with the object code not being
relocatable?
Alternatively I can compile the subdir as a shared library, but that
means I need to use inter library dependencies when module loading -
which doesn't seem to be supported?? (And besides, I don't want to have
to distribute a second library file).
Any suggestions or comments. Is this a bug?
Thanks,
Chris Leishman
_______________________________________________
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool