Compiling wine on an x86-64 system

Pavel Troller patrol at
Mon May 29 16:32:18 CDT 2006

  I would like to ask for a help with wine compilation on an x86_64 system.
  Today I successfully did the compilation, but the result is totally unusable.
  I've supplied -m32 switch to both CFLAGS and LDFLAGS (I have to specify my
own C/LDFLAGS because of custom -I/-L options to find various packages). gcc
as well as winegcc correctly generated 32bit output.
  There was just one error during compilation - it attempted to compile
dlls/ntdll/signal_i386.c, which suffered from __NR_sigaction being undefined.
Because my kernel headers are set up for a 64bit system, there is not such a
define. __NR_rt_sigaction is defined instead. I'm not sure whether it's ok
that wine tried to compile this file (it compiled signal_x86_64.c too, with
no problems). I also don't know how to hack the kernel includes to define it
correctly (I have just vanilla, unmodified set of native kernel headers for
2.6.17-rc5 set up). So I hacked it by copying the appropriate #define 
from asm-i386/unistd.h kernel header directly to signal_i386.c.
  wine then compiled and installed without a glitch. However, any attempt to
run it ends up with immediate return without any diagnosis. It even doesn't
output its usage help.
  I've already compiled a lot of "normal" programs for 32bit systems on my
x86_64 system. However, wine resists.
  What am I doing wrong ? What's the correct way ?
                   With regards, Pavel Trolle

More information about the wine-devel mailing list