haynes@ucscc.UCSC.EDU (99700000) (10/05/90)
I just applied all the patches and did a make World in my sun3 directory and got everything made. Nothing (that I have tried so far) works; they all report "inappropriate ioctl for device" . Any hints from Old Hands where I should start looking? The one my sidekick made back in April works fine; but he's now in the depths of Africa, so can't ask him if this is a familiar problem that he solved. haynes@ucscc.ucsc.edu haynes@ucscc.bitnet ..ucbvax!ucscc!haynes "Any clod can have the facts, but having opinions is an Art." Charles McCabe, San Francisco Chronicle
rgrodrig@pb2esac.UUCP (Robert Rodriguez) (10/08/90)
In article <7498@darkstar.ucsc.edu> haynes@ucscc.UCSC.EDU.UUCP (Jim Haynes) writes: >I just applied all the patches and did a make World in my sun3 >directory and got everything made. Nothing (that I have tried so far) >works; they all report "inappropriate ioctl for device" . Any hints >from Old Hands where I should start looking? Jim, I'll have to guess that you are trying to build X11 release 4, and using the Gnu compiler "gcc". If I am right, then all you need to do is a "make clean", then run gcc's fixincludes script, then another "make World". Here's an excerpt from "Frequently asked questions about X": -- Subject: 30) How do I build X with gcc? MIT is now using regularly the Free Software Foundation's GNU-CC to build the X distribution and uses gcc-built servers to test performance increases. [These options are gathered from several descriptions of building X with gcc 1.34, 1.35, and 1.36]: Use the options -O -fstrength-reduce -fpcc-struct-return -traditional may also be necessary if your version of gcc is sufficiently old. Do not use -finline-functions, particularly on the R4 server. ---> Make sure to run 'fixincludes' from the gcc distribution ---> before doing anything, or you will get fatal errors such as: ---> xterm: Error 15, errno 25: Inappropriate ioctl for device. HOWEVER, there is a bug in gcc 1.34 and 1.36 (but not in 1.35 or 1.37) which miscompiles things of the form (expr == 0 ? exp1 : exp2). The fix needed in X11R4 (and probably X11R3) is to change the definition of XtNewString in Intrinsic.h to: #define XtNewString(str) \ ((str) != NULL ? (strcpy(XtMalloc((unsigned)strlen(str) + 1), str)) : NULL) A work-around is also in fix-2 to X11R4. -- If you'd like a copy of this complete file, I'll mail you one. Robert