Re: shared library link problem
Liwei: Libtool 1.4.2 is not safe for anything but C, C++ support is in the current CVS sources. The architecture of 1.4 is such that C++ can't be supported which is why the current CVS development is significantly branched off from it. Robert -- Robert Boehne Software Engineer Ricardo Software Chicago Technical Center TEL: (630)789-0003 x. 238 FAX: (630)789-0127 email: rboehne AT ricardo-us DOT com ___ Libtool mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/libtool
Re: How use --whole-archive ld arg with libtool ?
Alain: Ok, I was confused about what exectly you were asking. I think the best way to do this is to pass it as a single flag, like this: -Wl,'-whole-archive -lfoo -no-whole-archive' This way those options won't be rearranged on the ld command line. Thanks, Robert -- Robert Boehne Software Engineer Ricardo Software Chicago Technical Center TEL: (630)789-0003 x. 238 FAX: (630)789-0127 email: rboehne AT ricardo-us DOT com ___ Libtool mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/libtool
Cross compiling, FreeBSD, libtool 1.4.2 - --host=i386-mingw32msvc
When trying to cross compile using --host=i386-mingw32msvc on libtool 1.4.2 under FreeBSD, I'm running into problems when it tries to build ltdl. Is it something I'm doing in the configure.in/Makefile.am/bootstrap or is this a problem with ltdl? http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/prolix/prolix/src/ ^^^ is where the configure.in, etc are for the project I'm working on. Would anyone mind taking a look? Thanks ;-) (errors on make as follows...) gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c ltdl.c -DDLL_EXPORT -DPIC -o .libs/ltdl.lo ltdl.c: In function `__declspec': ltdl.c:161: parameter `lt_dlmalloc' is initialized ltdl.c:162: syntax error before `__declspec' ltdl.c:188: storage class specified for parameter `rpl_strdup' ltdl.c:192: syntax error before `const' ltdl.c:188: declaration for parameter `rpl_strdup' but no such parameter ltdl.c:161: declaration for parameter `lt_dlmalloc' but no such parameter ltdl.c:196: `str' undeclared (first use in this function) ltdl.c:196: (Each undeclared identifier is reported only once ltdl.c:196: for each function it appears in.) ltdl.c:205: warning: return makes integer from pointer without a cast ltdl.c: In function `lt_estrdup': ltdl.c:884: warning: initialization makes pointer from integer without a cast *** Error code 1 -- [EMAIL PROTECTED] ___ Libtool mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/libtool
Re: How use --whole-archive ld arg with libtool ?
Original problem: Take example in libtool doc: burger$ libtool gcc -module -o libhello.la foo.lo \ hello.lo -rpath /usr/local/lib -lm If symbols from your executable are needed to satisfy unresolved references in a library you want to dlopen you will have to use The flag -export-dynamic. You should use -export-dynamic while linking the executable that calls dlopen: burger$ libtool gcc -export-dynamic -o hell-dlopener main.o What I want do is: burger$ libtool gcc -export-dynamic -o hell-dlopener main.o --whole-archive myneededlib.a --no-whole-archive Because symbols needed for libhello.la are in mynneededlib.a, not in main.o, and gcc will not export these symbols without --whole-archive ... and libtool give me: gcc -export-dynamic -o hell-dlopener main.o -Wl,--export-dynamic --whole-archive --no-whole-archive myneededlib.a Not what I want ... From Robert Boehne: Ok, I was confused about what exectly you were asking. I think the best way to do this is to pass it as a single flag, like this: -Wl,'-whole-archive -lfoo -no-whole-archive' This way those options won't be rearranged on the ld command line. Yes thank you for this workaround but ld didn't like it: /usr/bin/ld: unrecognized option '-L/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/../../..' /usr/bin/ld: use the --help option for usage information collect2: ld returned 1 exit status Without quote, expression links good so ... 1/ I think there isn't any options in automake / libtool for do what I want. 2/ -whole-archive flag is os dependant, and already defined in libtool, I must use it 3/ I must do an automake / libtool patch that: a/ In automake, define something in automake template, something like mybinaries_WHOLE_LIB = myfirstlib.la mysecondlib.la This variable isn't in use without --disable-shared flag b/ If --disable-shared option of configure is in use, automake must remove libs that is two times on link command and keep only this with whole-archive flag. c/ Add a -whole-archive options in libtool that use os specific option for link a library into a binarie What you think of this ? -- Alain BARBET ___ Libtool mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/libtool