On Thu, 10 Oct 2002, Earnie Boyd wrote: > Bob Friesenhahn wrote: > > > > Cygwin does not have these problems so we have a working example. > > As I've stated before, the workings parts are the same between MinGW and > Cygwin with regard to producing the end result. AFA libtool is > concerned the two are equal.
CVS libtool fails to link C++ DLLs under MinGW, but succeeds under Cygwin. I have looked at the .la files, and everything appears to be in order there, so the problem seems to be during the C++ DLL link phase. The MinGW environment is the base MinGW release, with Windows API updates applied. The behavior of libtool when linking under Cygwin and MinGW is shown below (lines wrapped for clarity). Please let me know if you spot a reason for the failure. Cygwin: /bin/bash ../../libtool --mode=link g++ -O0 -march=i686 -L/usr/local/lib -L/usr/X11R6/lib -L/usr/X11R6/lib -L/usr/lib -L/usr/local/lib -L/usr/X11R6/lib -L/usr/X11R6/lib -L/usr/lib -o libMagick++.la -rpath /usr/local/lib -version-info 5:51:0 Blob.lo BlobRef.lo CoderInfo.lo Color.lo Drawable.lo Exception.lo Functions.lo Geometry.lo Image.lo ImageRef.lo Montage.lo Options.lo Pixels.lo STL.lo Thread.lo TypeMetric.lo ../../magick/libMagick.la g++ -shared -nostdlib .libs/Blob.o .libs/BlobRef.o .libs/CoderInfo.o .libs/Color.o .libs/Drawable.o .libs/Exception.o .libs/Functions.o .libs/Geometry.o .libs/Image.o .libs/ImageRef.o .libs/Montage.o .libs/Options.o .libs/Pixels.o .libs/STL.o .libs/Thread.o .libs/TypeMetric.o -L/usr/local/lib -L/usr/X11R6/lib -L/usr/lib ../../magick/.libs/libMagick.dll.a -L/usr/lib/w32api -L/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5 -lstdc++ -lgcc -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 -lgcc -o .libs/cygMagick++-5.dll -Wl,--image-base=0x10000000 -Wl,--out-implib,.libs/libMagick++.dll.a Creating library file: .libs/libMagick++.dll.a creating libMagick++.la (cd .libs && rm -f libMagick++.la && ln -s ../libMagick++.la libMagick++.la) MinGW: /bin/sh ../../libtool --mode=link g++ -O0 -march=i686 -L/usr/local/lib -L/usr/local/lib -o libMagick++.la -rpath /usr/local/lib -version-info 5:51:0 Blob.lo BlobRef.lo CoderInfo.lo Color.lo Drawable.lo Exception.lo Functions.lo Geometry.lo Image.lo ImageRef.lo Montage.lo Options.lo Pixels.lo STL.lo Thread.lo TypeMetric.lo ../../magick/libMagick.la g++ -shared c:/mingw/bin/../lib/gcc-lib/mingw32/2.95.3-6/../../../dllcrt2.o .libs/Blob.o .libs/BlobRef.o .libs/CoderInfo.o .libs/Color.o .libs/Drawable.o .libs/Exception.o .libs/Functions.o .libs/Geometry.o .libs/Image.o .libs/ImageRef.o .libs/Montage.o .libs/Options.o .libs/Pixels.o .libs/STL.o .libs/Thread.o .libs/TypeMetric.o -L/usr/local/lib ../../magick/.libs/libMagick-5.dll -Lc:/mingw/bin/../lib/gcc-lib/mingw32/2.95.3-6 -Lc:/mingw/bin/../lib/gcc-lib -L/mingw/lib/gcc-lib/mingw32/2.95.3-6 -Lc:/mingw/bin/../lib/gcc-lib/mingw32/2.95.3-6/../../../../mingw32/lib -L/mingw/lib/gcc-lib/mingw32/2.95.3-6/../../../../mingw32/lib -Lc:/mingw/bin/../lib/gcc-lib/mingw32/2.95.3-6/../../.. -L/mingw/lib/gcc-lib/mingw32/2.95.3-6/../../.. -lstdc++ -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 -lgcc -lmoldname -lmsvcrt -o .libs/libMagick++-5.dll c:/mingw/bin/../lib/gcc-lib/mingw32/2.95.3-6/../../../dllcrt2.o: In function `DllMainCRTStartup': //c/cygmnt/samo/mingw/msys/dllcrt1.c(.text+0x0): multiple definition of `DllMainCRTStartup@12' c:/mingw/bin/../lib/gcc-lib/mingw32/2.95.3-6/../../../dllcrt2.o(.text+0x0)://c/cygmnt/samo/mingw/msys/dllcrt1.c: first defined here c:/mingw/bin/../lib/gcc-lib/mingw32/2.95.3-6/../../../dllcrt2.o: In function `atexit': //c/cygmnt/samo/mingw/msys/dllcrt1.c(.text+0xe8): multiple definition of `atexit' c:/mingw/bin/../lib/gcc-lib/mingw32/2.95.3-6/../../../dllcrt2.o(.text+0xe8)://c/cygmnt/samo/mingw/msys/dllcrt1.c: first defined here c:/mingw/bin/../lib/gcc-lib/mingw32/2.95.3-6/../../../dllcrt2.o: In function `onexit': //c/cygmnt/samo/mingw/msys/dllcrt1.c(.text+0x114): multiple definition of `_onexit' c:/mingw/bin/../lib/gcc-lib/mingw32/2.95.3-6/../../../dllcrt2.o(.text+0x114)://c/cygmnt/samo/mingw/msys/dllcrt1.c: first defined here make[3]: *** [libMagick++.la] Error 1 ====================================== Bob Friesenhahn [EMAIL PROTECTED] http://www.simplesystems.org/users/bfriesen _______________________________________________ Libtool mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/libtool