Compiling wine on an x86-64 system

Pavel Troller patrol at
Tue May 30 03:49:13 CDT 2006

Hi Rob!
> There are quite a few places that use i386 syscalls directly and you 
> just fixed the one place it was detected. What you need to do is to copy 
> a 32-bit unistd.h to asm-i386/unistd.h and make sure that it is included 
> correctly by asm/unistd.h.
  Many thanks for your explanation. 
  So I created my own /usr/include/asm directory and wrote a small script,
which populated it with files like this sample:

/* Automatically generated wrapper for asm/unistd.h - do not edit */

#ifdef __i386__
#  include <asm-i386/unistd.h>
#  ifdef __x86_64__
#    include <asm-x86_64/unistd.h>
#  else
#    error "Unknown architecture, neither i386 nor x86_64"
#  endif

  asm-i386 and asm-x86_64 contain the appropriate headers from the kernel tree.
I hope it's a good solution to have a flexible bi-arch development system.

  After that, I recompiled wine (and removed my previous unistd.h hack first).
The resulting wine is fully functional now. 
                                         With regards, Pavel Troller

More information about the wine-devel mailing list