Hi,

I'm on Windows Vista64, using the x64 crosscompiler.

The command being run (it's part of a build of a perl extension named PDL) :

###############################
x86_64-w64-mingw32-g++ -o
..\..\blib\arch\auto\PDL\Minuit\Minuit.dll -Wl,--base-file -Wl,dll.base -mdll
 -s -L"c:\_64\perl512_M\lib\CORE" -L"C:\_64\mingw64\mingw\lib" Minuit.o
minuitlib/futils.o  minuitlib/minuit.o
 minuitlib/intracfalse.o -Wl,--image-base,0x241d0000
C:\_64\perl512_M\lib\CORE\libperl512.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libgfortran.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libm.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\libgcc.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libmoldname.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libkernel32.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libuser32.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libgdi32.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libwinspool.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libcomdlg32.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libadvapi32.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libshell32.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libole32.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\liboleaut32.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libnetapi32.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libuuid.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libws2_32.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libmpr.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libwinmm.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libversion.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libodbc32.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libodbccp32.a
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\..\..\..\..\x86_64-w64-mingw32\lib\libcomctl32.a
dll.exp
###############################

The '.o' files in the above command are compiled using gfortran at an 
earlier stage of the same build process.

I've tried using both 'gcc version 4.4.4 20100208 (prerelease) (GCC)' (which 
is the compiler that built perl) and 'gcc version 4.6.0 20100414 
(experimental) (GCC)'. In both cases the same errors occur.

The errors generated by the above command:

###############################
C:\_64\mingw64\mingw\lib/libmingw32.a(lib64_libmingw32_a-gccmain.o): In
function `_do_global_ctors':
g:\buildbot\vista64-mingw32\mingw-x86-x86_64\build\build\mingw\obj/../../../build/mingw/mingw-w64-crt/crt/gccmain.c:46:
multiple definition of `__do_global_ctors'
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\libgcc.a(__main.o):g:\buildbot\vista64-mingw32\mingw-x86-x86_64\build\build\gcc\obj\x86_64-w64-mingw32\libgcc/../../../../../build/gcc/gcc/libgcc/../gcc/libgcc2.c:2160:
first defined here
C:\_64\mingw64\mingw\lib/libmingw32.a(lib64_libmingw32_a-gccmain.o): In
function `_main':
g:\buildbot\vista64-mingw32\mingw-x86-x86_64\build\build\mingw\obj/../../../build/mingw/mingw-w64-crt/crt/gccmain.c:80:
multiple definition of `__main'
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\libgcc.a(__main.o):g:\buildbot\vista64-mingw32\mingw-x86-x86_64\build\build\gcc\obj\x86_64-w64-mingw32\libgcc/../../../../../build/gcc/gcc/libgcc/../gcc/libgcc2.c:2184:
first defined here
C:\_64\mingw64\mingw\lib/libmingw32.a(lib64_libmingw32_a-gccmain.o): In
function `_do_global_dtors':
g:\buildbot\vista64-mingw32\mingw-x86-x86_64\build\build\mingw\obj/../../../build/mingw/mingw-w64-crt/crt/gccmain.c:28:
multiple definition of `__do_global_dtors'
c:\_64\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.4.4\libgcc.a(__main.o):g:\buildbot\vista64-mingw32\mingw-x86-x86_64\build\build\gcc\obj\x86_64-w64-mingw32\libgcc/../../../../../build/gcc/gcc/libgcc/../gcc/libgcc2.c:2131:
first defined here
C:\_64\mingw64\mingw\lib/libmingw32.a(lib64_libmingw32_a-gccmain.o):gccmain.c:(.text+0x7a):
undefined reference to `_imp__GetModuleHandleA'
collect2: ld returned 1 exit status
dmake:  Error code 129, while making
'..\..\blib\arch\auto\PDL\Minuit\Minuit.dll'
dmake:  Error code 255, while making 'subdirs'
dmake:  Error code 255, while making 'subdirs'
###############################

There's also an undefined reference error at the end which seems a bit odd, 
but it's the 'multiple definition' errors that I first wish to deal with. 
Anyone know what's going on there ? I also googled up this page which looks 
like it's concerned with something similar:

http://www.mail-archive.com/[email protected]/msg01955.html

Cheers,
Rob


------------------------------------------------------------------------------

_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to