On Thu, 2008-08-28 at 20:33 +0200, Ralf Wildenhues wrote: > Hello Joost, > > * Joost Kraaijeveld wrote on Thu, Aug 28, 2008 at 04:02:58PM CEST: > > > > I have a large Makefile project that uses autotools for configuration. > > If I run "../configure" and "make" from the MSYS command prompt (rxvt) > > everything configures an compiles OK. > > > > However, if I use Eclipse to compile using exactly the same Makefiles, I > > get an error at link-time: for some reason libtool (1.5.26) decides to > > rewrite it's files (the asci stub files that point to the actual > > library) and forgets that paths in Windows and MSYS work differently in > > the process. > > > > Is it possible to make libtool use the correct paths? > > What is it that Eclipse does differently from ../configure && make? As far as I can determine: nothing. The only thing I can come up with is that Eclipse calls "make" using *cmd.exe* instead of sh.exe (the latter being used in MSYS), which of course returns Windows paths and not MSYS/unixlike paths.. But that does not explain the rewriting: the Makefile is not changed, so why would libtool rewrite it's files?
But the actual error is caused by the following path changes : The working MSYS file: dependency_libs=' /d/workspace/Danu/mingw/library/DanuBase/libdanubase.la -lpthread' [snip] relink_command="(cd /d/workspace/Danu/mingw/library/DanuStream; /bin/sh ../libtool --tag=CXX --mode=relink g++ -I/d/boost/include -g -Wall -Wextra -Wundef -Wshadow -Wconversion -Wmissing-declarations -no-undefined -o libdanustream.la -rpath /usr/local/lib libdanustream_la-BaseStream.lo libdanustream_la-ByteStream.lo libdanustream_la-DllMain.lo libdanustream_la-FileStream.lo libdanustream_la-StreamableObject.lo libdanustream_la-StreamableObjectCreator.lo libdanustream_la-StreamableObjectFactory.lo ../../library/DanuBase/libdanubase.la @inst_prefix_dir@) " The non-working Eclipse file: dependency_libs=' D:\workspace/Danu/mingw/library/DanuBase/libdanubase.la -lpthread' [snip] relink_command="(cd D:\\workspace/Danu/mingw/library/DanuStream; /bin/sh ../libtool --tag=CXX --mode=relink g++ -I/d/boost/include -g -Wall -Wextra -Wundef -Wshadow -Wconversion -Wmissing-declarations -no-undefined -o libdanustream.la -rpath /usr/local/lib libdanustream_la-BaseStream.lo libdanustream_la-ByteStream.lo libdanustream_la-DllMain.lo libdanustream_la-FileStream.lo libdanustream_la-StreamableObject.lo libdanustream_la-StreamableObjectCreator.lo libdanustream_la-StreamableObjectFactory.lo ../../library/DanuBase/libdanubase.la @inst_prefix_dir@) " Notice the change from /d/ to d:\ in the first and /d/ to d:\\ in the second quoted line. The error I get is saying something about D:workspace, so I assume that it is about the first line without the escaped \ in d:\workspace. > How about fixing that? That is the other line I am investigating. But for now I am satisfied with (and desperate for) every working solution ;-) > As far as I understand, this is not a problem of autotools/libtool, > but one of the program using them. If you think otherwise, then I > would like to see more details. I am afraid I did not convince you, but there are more details ;-) -- Groeten, Joost Kraaijeveld Askesis B.V. Molukkenstraat 14 6524NB Nijmegen tel: 024-3888063 / 06-51855277 fax: 024-3608416 web: www.askesis.nl
