Le mer 05/01/2005 à 17:27, Gabriel de Perthuis a écrit : > Hello, > I'm trying to get wine cross compiled for my distrib, a 64-bit ubuntu. > I'm using: > a gcc-3.4 bi-arch toolchain (gcc built with --enable-multilib); > the wine-20041201 tarball; > this configure command (CC is ccache gcc-3.4): > AS="as --32" CC="$CC -m32" CXX="$CXX -m32" ./configure > --x-libraries=/usr/X11R6/lib32 > note: with AS the same as CC, it gets stuck with > dlls/ntdll/relay32.s -> relay32.o > these two patches : > sed -i s/SYS_sigaction/SYS_rt_sigaction/g dlls/ntdll/signal_i386.c > replacing ld with ld -m elf_i386 in the ld_cmd definition in > tools/winebuild/main.c
What happens with straight ./configure? By default it'll use "gcc -m32" et al, as a native x86-64 Wine is not usable yet (I don't even know if it compiles as some asm (non-portable across archs) parts are probably non-existing yet. Not to mention some other things I'm sure I'm forgetting. > > With all this, I can get it to build! > The problem is, it doesn't run; > wine stops with this unhelpful message: > wine: could not exec \uffff\uffffmU\uffff\uffffmUp/bin/wine-pthread > (special characters inside) > > So, I am interested in past experiences (versions used and patches): I think > wine, as most applications if need be, can be built in 32-bit mode and used by > amd64 distros. It would be nice if these fixes were sent back to CVS to save > people headaches; Submitting the fixes as actual patches (diff -u format) sent to wine-patches will improve the chances of the fixes get in cvs. > I also would like to know where I can go from here, to debug the binaries I > finally got. I'd first verify that they actually work on a 32-bit kernel (and 32-bit libs). Else, it's probably a build problem (so there's probably another problem lurking somewhere). Vincent