Dmitry Timoshkov dmitry@baikal.ru writes:
Alexandre Julliard julliard@winehq.org wrote:
Also, not mentioned in the patch, for me the 32-bit build still fails like this in dlls/msvcrt/tests: ../../.././../wine64/tools/winegcc/winegcc -o msvcrt_test-stripped.exe -B../../.././../wine64/tools/winebuild \ --sysroot=../../.. -b i586-pc-mingw32 --lib-suffix=.cross.a -s -Wb,-F,msvcrt_test.exe -mno-cygwin \ cpp.cross.o data.cross.o dir.cross.o environ.cross.o file.cross.o headers.cross.o heap.cross.o \ locale.cross.o misc.cross.o printf.cross.o scanf.cross.o signal.cross.o string.cross.o \ time.cross.o testlist.cross.o ../../../dlls/advapi32/libadvapi32.cross.a ../../../dlls/msvcrt/libmsvcrt.cross.a(drjebs00585.o):(.text+0x0): multiple definition of `__onexit' /usr/i586-pc-mingw32/sys-root/mingw/lib/crt2.o:crt1.c:(.text+0x10): first defined here collect2: ld returned 1 exit status winegcc: i586-pc-mingw32-gcc failed
This is a wow64 build, but pure 32-bit build fails same way. I didn't want to make noise with creating a bug report, hopefully you have an idea how to fix this with new PE scheme for the tests.
For most of these cases, I'm afraid the answer will be: upgrade Mingw. The old mingw support library has many issues, and I'm not sure we can work around them all. What version are you using?
The crosscompiler is 'i586-pc-mingw32-gcc (GCC) 4.4.2 20091113' while the system-wide compiler is 'gcc-5.3.1 20151207'. It's unlikely that mingw32 version is going to change though.
You'd want to install mingw-w64. This will probably become a requirement at some point, old mingw is just hopeless.