dmitry serpokryl wrote:
Hi,
please beg my pardon for the kind of a possible stupidity, but:
- I'm using SuSE kernel for SuSE 10 x86-64, so all compiliation goes
into x86-64 (not in i386) mode by default
Wine automatically adds the -m32 flag to gcc to force it to compile in i386 mode.
- gcc - 4.0.2 (release):
Target: x86_64-unknown-linux-gnu Configured with: ../configure --prefix=/usr/local/gcc-4.0.2 Thread model: posix gcc version 4.0.2
That's fine.
- $ wine --version
Wine 0.9.7 (compiled some times ago from CVS. I make CVS updates monthly)
As is this.
- $ locate unistd.h | egrep usr/include
/usr/include/asm-i386/unistd.h /usr/include/asm-x86_64/ia32_unistd.h /usr/include/asm-x86_64/unistd.h /usr/include/asm.default/ia32_unistd.h /usr/include/asm.default/unistd.h /usr/include/kpathsea/c-unistd.h /usr/include/linux.default/unistd.h /usr/include/sys/unistd.h /usr/include/unistd.h
- /usr/include/asm is a symlink, pointing to ->
/usr/src/linux/include/asm/
I think this is the problem. Is this a default symlink on your distro or was it put there by installing kernel source?
So, I'm not quite understand the reason of compiliation error at this time.
In 32-bit mode the i386 headers should be used instead of x86-64 ones. On your system this isn't happening, although the headers are there. Try looking in /usr/include/asm.default and seeing whether they try to do the right thing and select the right unistd.h for the environment.
Please beg my pardon for the disturbing.
Thanks,
My best regards, Dmitry
On Tue, 28 Feb 2006 08:08:45 -0300, Robert Shearman rob@codeweavers.com wrote:
dmitry serpokryl wrote:
Hi, thanks for your feedback.
I just updated wine cvs, no ./configure errors but still "make" unable to complete:
gcc -m32 -c -I. -I. -I../../include -I../../include -D__WINESRC__ -D_NTSYSTEM_ -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -gstabs+ -Wdeclaration-after-statement -Wpointer-arith -g -O2 -o signal_i386.o signal_i386.c signal_i386.c: In function ‘wine_sigaction’: signal_i386.c:123: error: ‘__NR_sigaction’ undeclared (first use in this function)
You're using some buggy headers that define SYS_sigaction, but don't define __NR_sigaction. You should have /usr/include/asm/unistd.h that includes /usr/include/asm-i386/unistd.h if not compiling in x86_64 mode, and the latter should have a define for __NR_sigaction.