From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Andy Hare" To: "Keith Seitz" Cc: "Insight Mail list" Subject: Re: Problems building TCL for insight on cygwin & win2k Date: Fri, 26 Oct 2001 14:22:00 -0000 Message-id: <089b01c15e64$563d4100$0100000a@dualbeast> References: X-SW-Source: 2001-q4/msg00206.html Keith, I have now re-configed into an empty directory and re-built without the -mwin32 flags. I now get the errors shown below: gcc -c -g -O2 -Wall -Wconversion -I"/GNU-Source-Code/src/tcl/win/../generic " -I"/GNU-Source-Code/src/tcl/win" -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME= 1 -DHAVE_TZNAME=1 -DBUILD_tcl "/GNU-Source-Code/src/tcl/win/../generic/tclPipe.c" -o tclPipe.o /GNU-Source-Code/src/tcl/win/../generic/tclPipe.c: In function `TclCleanupChildren': /GNU-Source-Code/src/tcl/win/../generic/tclPipe.c:313: invalid operands to binary & /GNU-Source-Code/src/tcl/win/../generic/tclPipe.c:313: invalid operands to binary >> /GNU-Source-Code/src/tcl/win/../generic/tclPipe.c:318: invalid operands to binary & /GNU-Source-Code/src/tcl/win/../generic/tclPipe.c:320: invalid operands to binary >> /GNU-Source-Code/src/tcl/win/../generic/tclPipe.c:325: invalid operands to binary & /GNU-Source-Code/src/tcl/win/../generic/tclPipe.c:325: invalid operands to binary & /GNU-Source-Code/src/tcl/win/../generic/tclPipe.c:329: invalid operands to binary & /GNU-Source-Code/src/tcl/win/../generic/tclPipe.c:331: invalid operands to binary & /GNU-Source-Code/src/tcl/win/../generic/tclPipe.c:336: invalid operands to binary & /GNU-Source-Code/src/tcl/win/../generic/tclPipe.c:340: invalid operands to binary >> /GNU-Source-Code/src/tcl/win/../generic/tclPipe.c:342: invalid operands to binary >> make[3]: *** [tclPipe.o] Error 1 This is the problem I started with before adding the win32 flags. The problem is that the lines use a set of macros defined in tclunixport.h that assume that the value passed is an int, but the value passed isn't an int. Here is the snippet of code fromthe .h file: #ifdef _AIX # define WAIT_STATUS_TYPE pid_t #else #ifndef NO_UNION_WAIT # define WAIT_STATUS_TYPE union wait #else # define WAIT_STATUS_TYPE int #endif #endif /* * Supply definitions for macros to query wait status, if not already * defined in header files above. */ #ifndef WIFEXITED # define WIFEXITED(stat) (((*((int *) &(stat))) & 0xff) == 0) #endif The value passed in the line that give erros in tclpipe.c use this WIFEXIT but the value passed is of type WAIT_STATUS_TYPE and I guesss is of type union wait rather than the int. So should there be a definition for NO_UNION_WAIT or should the defines be within the #ifndef NO_UNION_WAIT so they take account of the differeing types. Andy Hare www.ahare.btinternet.co.uk ----- Original Message ----- From: "Keith Seitz" To: "Andy Hare" Cc: "Insight Mail list" Sent: Thursday, October 25, 2001 11:31 PM Subject: Re: Problems building TCL for insight on cygwin & win2k > On Thu, 25 Oct 2001, Andy Hare wrote: > > > Have now re-built the config and the run the make in the /build/tcl > > directory. Problem still exists with the missing #defines for MASK_SIZE and > > SELECT_MASK. Tried Ians suggestion of -mno-win32 and now the tcl stuff > > compiles without a problem. So I will look at the way tcl is configured to > > see if I can find the problem and the missing -mno-win32. > > Hmm. I don't understand why this doesn't work for you, but it works for > me. What is gcc -v? > > > Thanks for all your help, I will go back modify the make files in the tcl > > and then continue. > > This should not be necessary. I am really confused about why it is. > > Does the repository build for anyone else out there? I can do a checkout > and build it as-is with the latest cygwin (1.3.3) and the gcc distributed > with it (gcc-2.95.3-5 cygwin special). > > I am confused. > > Keith > >