bi-arch on an amd64
vberon at mecano.gme.usherb.ca
Wed Jan 5 19:45:22 CST 2005
Le mer 05/01/2005 à 17:27, Gabriel de Perthuis a écrit :
> 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
> 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
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
> 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).
More information about the wine-devel