bi-arch on an amd64

Vincent Béron vberon at
Wed Jan 5 19:45:22 CST 2005

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

> 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 mailing list