Compilation error with newer CVS on glibc -2.1.3
Martin Cracauer
cracauer at cons.org
Thu Aug 1 16:26:27 CDT 2002
Martin Cracauer wrote on Thu, Aug 01, 2002 at 03:08:18PM -0400:
> Alexandre Julliard wrote on Thu, Aug 01, 2002 at 11:45:27AM -0700:
> > Martin Cracauer <cracauer at cons.org> writes:
> >
> > > Unless somebody disagrees with that analysis, I'll submit a patch to
> > > rename the struct. Suggestions about a suitable name welcome.
> >
> > Before doing that it would be interesting to find out why sys/user.h
> > gets included. This is not supposed to happen.
>
> This is the sequence:
>
> make[2]: Entering directory `/disks/part9/home/cracauer/work/cvs-packages-work/stupids/wine/wine/tools/wrc'
> gcc -c -I. -I. -I../../include -I../../include -g -O2 -Wall -fno-strength-reduce -mpreferred-stack-boundary=2 -D__WINE__ -D_REENTRANT -I/usr/X11R6/include -o wrc.o wrc.c
> In file included from /usr/include/sys/ucontext.h:31,
> from /usr/include/ucontext.h:27,
> from /usr/include/signal.h:317,
> from wrc.c:59:
> /usr/include/sys/user.h:26: #error traceme
> make[2]: *** [wrc.o] Error 1
> make[2]: Leaving directory `/disks/part9/home/cracauer/work/cvs-packages-work/stupids/wine/wine/tools/wrc'
signal.h only includes ucontext.h when __USE_GNU is defined.
That is why a simple test program with its own 'struct user' and
#include <signal.h> does not fail.
Now, where does __USE_GNU come from? By definign GNU_SOURCE:
#define _GNU_SOURCE /* for pread/pwrite */
./include/wine/port.h
#define _GNU_SOURCE /* we may need to override some GNU extensions */
./scheduler/pthread.c
The offending _GNU_SOURCE is in here for some time.
1.18 (julliard 07-Jan-02): #define _GNU_SOURCE /* for pread/pwrite */
I think the julliard 22-Jul-02 commits to this file triggered the
error.
Have to head for home now, will sniff more later today.
Martin
More information about the wine-devel
mailing list