libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MinGW libtool DLL failure


From: Bob Friesenhahn
Subject: Re: MinGW libtool DLL failure
Date: Thu, 10 Oct 2002 15:41:51 -0500 (CDT)

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 address@hidden'
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
address@hidden
http://www.simplesystems.org/users/bfriesen





reply via email to

[Prev in Thread] Current Thread [Next in Thread]