"Sisyphus" <[email protected]> wrote on 31.05.2010 11:40:36:

> 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
> 

Well, if you are specifying runtime library to command line, you should 
use -nostdlib, or don't add default libraries added by gcc driver itself.

Regards,
Kai

|  (\_/)  This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| (")_(") world domination.


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

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

Reply via email to