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> #else # ifdef __x86_64__ # include <asm-x86_64/unistd.h> # else # error "Unknown architecture, neither i386 nor x86_64" # endif #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