https://bugs.winehq.org/show_bug.cgi?id=46097
Bug ID: 46097 Summary: Cannot build wine-i386 on a x86-64 host Product: Wine Version: 3.19 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: critical Priority: P2 Component: build-env Assignee: wine-bugs@winehq.org Reporter: aros@gmx.com Distribution: ---
make[1]: Entering directory '/tmp/wine-3.19/dlls/joy.cpl' ../../tools/winegcc/winegcc -o joy.cpl.so -B../../tools/winebuild -fasynchronous-unwind-tables -shared joy.cpl.spec \ main.o joy.res ../../dlls/dxguid/libdxguid.a ../../dlls/dinput/libdinput.a \ ../../dlls/dinput8/libdinput8.a -lole32 -lcomctl32 -luser32 -ladvapi32 \ ../../libs/port/libwine_port.a -m32 -Wl,-O1 -Wl,--hash-style=gnu ld: relocatable linking with relocations from format elf64-x86-64 (../../dlls/dinput8/libdinput8.a(dinput8.kc7iBi.o)) to format elf32-i386 (joy.iEAF1I.o) is not supported winebuild: ld failed with status 1 winegcc: ../../tools/winebuild/winebuild failed make[1]: *** [Makefile:237: joy.cpl.so] Error 2 make[1]: Leaving directory '/tmp/wine-3.19/dlls/joy.cpl' make: *** [Makefile:8177: dlls/joy.cpl] Error 2
This are is my compilation routine (has always worked previously): $ export CFLAGS="-O2 -march=pentium-m -m32 -pipe" $ export LDFLAGS="-m32 -Wl,-O1 -Wl,--hash-style=gnu" $ setarch i686 ./configure $ make
Host: fedora 29 x86-64 with all updates installed.
Strangely libdinput.a doesn't get built when make enters wine-3.19/dlls/dinput directory. It's wine-3.19/dlls/joy.cpl which builds it.
This is what's inside libdinput.a:
data_formats.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped dinput.6vh9eu.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped dinput.CtsDd6.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped dinput.tP5ioN.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped