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 <[EMAIL PROTECTED]> 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