Since the custom dialog control data user32 test was added [1] it's no longer possible to compile WineTest.exe on Debian 9: one gets the following compilation error.
../../.././../wine-native/tools/winegcc/winegcc -o user32_test.exe -B../../.././../wine-native/tools/winebuild \ --sysroot=../../.. -b i686-w64-mingw32 -fasynchronous-unwind-tables broadcast.o class.o \ clipboard.o combo.o cursoricon.o dce.o dde.o dialog.o edit.o generated.o input.o listbox.o menu.o \ monitor.o msg.o resource.o scroll.o static.o sysparams.o text.o uitools.o win.o winstation.o \ wsprintf.o resource.res testlist.o ../../../dlls/user32/libuser32.a ../../../dlls/gdi32/libgdi32.a \ ../../../dlls/advapi32/libadvapi32.a /usr/bin/i686-w64-mingw32-windres: dialog control data: not enough binary data
The reason is that the binutils-mingw-w64-{i686,x86-64} packages on Debian 9 are too old; it only has binutils 2.28-5+7.4+b4.
Unfortunately no recent version of binutils was backported and the version available in Debian Testing has seen major packaging changes that make it impossible to backport.
The solution is to apply Dmitry's binutils patch [2] to the 2.28 package and rebuild it on Debian 9. This is what I did for the TestBot. I then created a Debian bug report [3] but since this is Debian Stable there is little hope it will be fixed. So I also uploaded the resulting packages to my website for anyone who needs them.
http://fgouget.free.fr/tmp/binutils-mingw-w64/binutils-mingw-w64_2.28-5+7.4+... http://fgouget.free.fr/tmp/binutils-mingw-w64/binutils-mingw-w64_7.4+w1_amd6... http://fgouget.free.fr/tmp/binutils-mingw-w64/binutils-mingw-w64_7.4+w1_amd6... http://fgouget.free.fr/tmp/binutils-mingw-w64/binutils-mingw-w64_7.4+w1.dsc http://fgouget.free.fr/tmp/binutils-mingw-w64/binutils-mingw-w64_7.4+w1.tar.... http://fgouget.free.fr/tmp/binutils-mingw-w64/binutils-mingw-w64-i686_2.28-5... http://fgouget.free.fr/tmp/binutils-mingw-w64/binutils-mingw-w64-i686-dbgsym... http://fgouget.free.fr/tmp/binutils-mingw-w64/binutils-mingw-w64-x86-64_2.28... http://fgouget.free.fr/tmp/binutils-mingw-w64/binutils-mingw-w64-x86-64-dbgs...
[1] https://source.winehq.org/git/wine.git/commit/606b0272776ec2a4e6146aa29a993f... [2] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=6bb21700... [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=910650
Hi Francois,
On 10/09/2018 12:33 PM, Francois Gouget wrote:
Since the custom dialog control data user32 test was added [1] it's no longer possible to compile WineTest.exe on Debian 9: one gets the following compilation error.
../../.././../wine-native/tools/winegcc/winegcc -o user32_test.exe -B../../.././../wine-native/tools/winebuild \ --sysroot=../../.. -b i686-w64-mingw32 -fasynchronous-unwind-tables broadcast.o class.o \ clipboard.o combo.o cursoricon.o dce.o dde.o dialog.o edit.o generated.o input.o listbox.o menu.o \ monitor.o msg.o resource.o scroll.o static.o sysparams.o text.o uitools.o win.o winstation.o \ wsprintf.o resource.res testlist.o ../../../dlls/user32/libuser32.a ../../../dlls/gdi32/libgdi32.a \ ../../../dlls/advapi32/libadvapi32.a /usr/bin/i686-w64-mingw32-windres: dialog control data: not enough binary data
The reason is that the binutils-mingw-w64-{i686,x86-64} packages on Debian 9 are too old; it only has binutils 2.28-5+7.4+b4.
Unfortunately no recent version of binutils was backported and the version available in Debian Testing has seen major packaging changes that make it impossible to backport.
The solution is to apply Dmitry's binutils patch [2] to the 2.28 package and rebuild it on Debian 9. This is what I did for the TestBot. I then created a Debian bug report [3] but since this is Debian Stable there is little hope it will be fixed. So I also uploaded the resulting packages to my website for anyone who needs them.
Could we use wrc instead of windres?
Jacek
On Tue, 9 Oct 2018, Jacek Caban wrote: [...]
Could we use wrc instead of windres?
I don't know. Naively linking i686-w64-mingw32-windres to wrc does not work. I guess that's not too surprising although it may actually be a bug.
Also I think it's good to make sure MinGW works as expected even if that's not the TestBot's primary goal.
Francois Gouget fgouget@codeweavers.com writes:
On Tue, 9 Oct 2018, Jacek Caban wrote: [...]
Could we use wrc instead of windres?
I don't know. Naively linking i686-w64-mingw32-windres to wrc does not work. I guess that's not too surprising although it may actually be a bug.
wrc doesn't know how to build a PE .o file from a .res, and it shouldn't need to know, that's MinGW's job.