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