* Joachim Worringen wrote on Fri, Oct 12, 2007 at 06:39:20PM CEST: > Ralf Wildenhues wrote: > > >Another general remark: convenience libraries don't enter the picture > >here much; think of them as a short-hand notation for a collection of > >objects that will all be copied into the final library. > > Yes, I understand. The interesting thing in this context is that I can > link the convenience lib into my shared lib (as it has obviously been > built as PIC), but the static version of a library to be installed > (which thus exists as .a and .so) can *not* be linked into my shared lib > as it has obviously not been compiled as PIC. What is the rationale > behind not generating PIC for the static version of a library, while the > shared one needs this anyway?
Efficiency: non-PIC code executes faster; whether the difference is marginal or rather noticeable depends a lot on the code in question. > >1) Explicit linkage of libshared against libfoo should cause the runtime > >linker to pull it in: > > lib_LTLIBRARIES = libfoo.la libshared.la > > libshared_la_LIBADD = libfoo.la > > libfoo_la_SOURCES = ... > > ... > > > >If that's what you already did, but it's producing errors anyway, then > >please post a build log that contains the mode=link and mode=install > >commands for both of these libraries plus all output they generate, > >and the error output of the `LD_PRELOAD=...' command. > > I did this - I will re-iterate and post the log. Good, because I don't yet see why this doesn't work. Cheers, Ralf _______________________________________________ http://lists.gnu.org/mailman/listinfo/libtool
