PATCH: define __user
Robert Shearman
rob at codeweavers.com
Mon Mar 6 18:30:43 CST 2006
dmitry serpokryl wrote:
> Hi,
>
> please beg my pardon for the kind of a possible stupidity, but:
>
> 1. 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.
> 2. 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.
> 3. $ wine --version
> Wine 0.9.7
> (compiled some times ago from CVS. I make CVS updates monthly)
As is this.
> 4. $ 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
>
>
> 5. /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 at 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.
>>
>
>
>
--
Rob Shearman
More information about the wine-devel
mailing list