Package: libtool;
Reported by: Andreas Otto <aotto1968 <at> t-online.de>
Date: Tue, 26 Mar 2013 09:41:01 UTC
Severity: normal
Message #14 received at 14055 <at> debbugs.gnu.org (full text, mbox):
From: Andreas Otto <aotto1968 <at> t-online.de> To: Peter Rosin <peda <at> lysator.liu.se> Cc: 14055 <at> debbugs.gnu.org Subject: Re: bug#14055: windows link problem with ".lib" files Date: Tue, 26 Mar 2013 16:34:13 +0100
[Message part 1 (text/plain, inline)]
Hi, in addition ... 1) my libtooll config -> attachment 2) $ sh ./libtool --features host: x86_64-w64-mingw32 enable shared libraries disable static libraries 3) put the library with absolute path '/cygdrive/c/Tcl/lib/tcl86.lib' does not work ... + /bin/sh ../../libtool --tag=CC --verbose --mode=link /usr/bin/ccache x86_64-w64-mingw32-gcc -std=gnu99 -shared -I/home/dev1usr/Project/NHI1/theLink/tclmsgque/../libmsgque -I/cygdrive/c/Tcl/include -DMQ_IGNORE_EXTERN -g -Wall -Wcast-align -g -O2 -shared -module -avoid-version -no-undefined /cygdrive/c/Tcl/lib/tcl86.lib -o tclmsgque.la -rpath /usr/local/lib/NHI1 tclmsgque_la-MqS_tcl.lo tclmsgque_la-misc_tcl.lo tclmsgque_la-msgque_tcl.lo tclmsgque_la-read_tcl.lo tclmsgque_la-send_tcl.lo tclmsgque_la-config_tcl.lo tclmsgque_la-service_tcl.lo tclmsgque_la-slave_tcl.lo tclmsgque_la-MqBufferS_tcl.lo tclmsgque_la-error_tcl.lo tclmsgque_la-link_tcl.lo tclmsgque_la-MqFactoryS_tcl.lo tclmsgque_la-MqDumpS_tcl.lo ../libmsgque/libtmp.la libtool: link: rm -fr .libs/tclmsgque.dll.a libtool: link: x86_64-w64-mingw32-gcc -std=gnu99 -shared .libs/tclmsgque_la-MqS_tcl.o .libs/tclmsgque_la-misc_tcl.o .libs/tclmsgque_la-msgque_tcl.o .libs/tclmsgque_la-read_tcl.o .libs/tclmsgque_la-send_tcl.o .libs/tclmsgque_la-config_tcl.o .libs/tclmsgque_la-service_tcl.o .libs/tclmsgque_la-slave_tcl.o .libs/tclmsgque_la-MqBufferS_tcl.o .libs/tclmsgque_la-error_tcl.o .libs/tclmsgque_la-link_tcl.o .libs/tclmsgque_la-MqFactoryS_tcl.o .libs/tclmsgque_la-MqDumpS_tcl.o -Wl,--whole-archive ../libmsgque/.libs/libtmp.a -Wl,--no-whole-archive -lws2_32 -O2 -o .libs/tclmsgque.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/tclmsgque.dll.a Creating library file: .libs/tclmsgque.dll.a.libs/tclmsgque_la-MqS_tcl.o: In function `Tclmsgque_ThreadExit': /home/dev1usr/Project/NHI1/theLink/tclmsgque/MqS_tcl.c:86: undefined reference to `__imp_Tcl_FinalizeThread' .libs/tclmsgque_la-MqS_tcl.o: In function `Tclmsgque_ProcessExit': /home/dev1usr/Project/NHI1/theLink/tclmsgque/MqS_tcl.c:78: undefined reference to `__imp_Tcl_Exit' .libs/tclmsgque_la-MqS_tcl.o: In function `Tclmsgque_MqS_Free': /home/dev1usr/Project/NHI1/theLink/tclmsgque/MqS_tcl.c:612: undefined reference to `__imp_TclFreeObj' .libs/tclmsgque_la-MqS_tcl.o: In function `Tclmsgque_MqS_Cmd': /home/dev1usr/Project/NHI1/theLink/tclmsgque/MqS_tcl.c:585: undefined reference to `__imp_Tcl_GetIndexFromObjStruct' /home/dev1usr/Project/NHI1/theLink/tclmsgque/MqS_tcl.c:581: undefined reference to `__imp_Tcl_WrongNumArgs' .libs/tclmsgque_la-MqS_tcl.o: In function `Tclmsgque_StorageDelete': /home/dev1usr/Project/NHI1/theLink/tclmsgque/MqS_tcl.c:148: undefined reference to `__imp_Tcl_GetWideIntFromObj' /home/dev1usr/Project/NHI1/theLink/tclmsgque/MqS_tcl.c:149: undefined reference to `__imp_Tcl_WrongNumArgs' /home/dev1usr/Project/NHI1/theLink/tclmsgque/MqS_tcl.c:148: undefined reference to `__imp_Tcl_WrongNumArgs' .libs/tclmsgque_la-MqS_tcl.o: In function `Tclmsgque_StorageSelect': I have to rename the library from 'C:\Tcl\lib\tcl86.lib' to 'C:\Tcl\lib\libtcl86.a' make the project compile-able mfg AO Am 26.03.2013 15:05, schrieb Peter Rosin: > On 2013-03-26 10:38, Andreas Otto wrote: >> Hi, >> >> from time to time I use my automake/libtool project to build libraries on windows ... >> this create al least problems ... >> >> my actual problem is, I got a tcl distrubution from activestate providing a libraray: >> >> C:/Tcl/lib/tcl8.6.lib >> >> and using the libtool command: >> >> /bin/sh ../../libtool --tag=CC --mode=link /usr/bin/ccache x86_64-w64-mingw32-gcc -std=gnu99 -shared -I/home/dev1usr/Project/NHI1/theLink/tclmsgque/../libmsgque -IC:/Tcl/include -DMQ_IGNORE_EXTERN -g -Wall -Wcast-align -g -O2 -shared -module -avoid-version -no-undefined*-LC:/Tcl/lib -ltcl86* -o tclmsgque.la -rpath /usr/local/lib/NHI1 tclmsgque_la-MqS_tcl.lo tclmsgque_la-misc_tcl.lo tclmsgque_la-msgque_tcl.lo tclmsgque_la-read_tcl.lo tclmsgque_la-send_tcl.lo tclmsgque_la-config_tcl.lo tclmsgque_la-service_tcl.lo tclmsgque_la-slave_tcl.lo tclmsgque_la-MqBufferS_tcl.lo tclmsgque_la-error_tcl.lo tclmsgque_la-link_tcl.lo tclmsgque_la-MqFactoryS_tcl.lo tclmsgque_la-MqDumpS_tcl.lo ../libmsgque/libtmp.la >> >> with "*-LC:/Tcl/lib -ltcl86*" I got the mystic libtool error message that the library is NOT found ... > It would help if you quoted the error message. > >> using the "--debug" option give a hint .... > It would help if you shared the hint. > >> libtool does not serach for the "right" name ... >> >> If I copy the file tcl86.lib to libtcl86.a in the same directory .... >> >> => everything works fine. >> >> and now my question: >> >> why does "libtool" on "windows" does NOT search for "*.lib" files > I'll try to answer when you have provided the above details. > >> => enduser would be happy to save debugging hours ;-) >> >> Hint, I use the mingw cross compiler but this is NOT the problem. > Since you are using a cross compiler (presumably still from Cygwin), > you should not feed it Windows paths, you should feed it POSIX > paths. I.e. something like "-L/cygdrive/c/Tcl/lib -ltcl86". In addition > to that, you (or the package) have specified the library before any > object files, which is not the right thing to do. Try this: > > /bin/sh ../../libtool --tag=CC --mode=link /usr/bin/ccache x86_64-w64-mingw32-gcc -std=gnu99 -shared -I/home/dev1usr/Project/NHI1/theLink/tclmsgque/../libmsgque -I/cygdrive/c/Tcl/include -DMQ_IGNORE_EXTERN -g -Wall -Wcast-align -g -O2 -shared -module -avoid-version -no-undefined -L/cygdrive/c/Tcl/lib -o tclmsgque.la -rpath /usr/local/lib/NHI1 tclmsgque_la-MqS_tcl.lo tclmsgque_la-misc_tcl.lo tclmsgque_la-msgque_tcl.lo tclmsgque_la-read_tcl.lo tclmsgque_la-send_tcl.lo tclmsgque_la-config_tcl.lo tclmsgque_la-service_tcl.lo tclmsgque_la-slave_tcl.lo tclmsgque_la-MqBufferS_tcl.lo tclmsgque_la-error_tcl.lo tclmsgque_la-link_tcl.lo tclmsgque_la-MqFactoryS_tcl.lo tclmsgque_la-MqDumpS_tcl.lo ../libmsgque/libtmp.la -ltcl86 > > Cheers, > Peter >
[libtool.config (text/plain, attachment)]
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.