nsb@THUMPER.BELLCORE.COM (Nathaniel Borenstein) (08/09/90)
Building Andrew on our 3100's has turned out to be much harder than on our Suns. The latest problem has me really stumped. in atk/basics/common, the compile dies trying to make region.o. The command it is using is: cc -Dvoid=int -G 0 "-Wl,-D,1000000" -c -I. -I/u/andrew/3100/include/atk -I/u/andrew/3100/include -I/usr/local/pkg/X11/include region.c The error mesage it produces, reliably, is: cpp: error region.c:219: missing endif Now, this doesn't make any sense at all. I've checked and all the if/endif pairs are balanced. In fact, all of the include files are IDENTICAL to what they were on the Sun, and yet the preprocessor thinks I've got a missing endif. Possibly there are some screwy #define's and #if's somewhere, but I can't find them. Oh, another piece of data: If I capture the preprocessor output with -E, on the sun4 it is 66 kilobytes, whereas on the 3100 it is only 17K. What turns out to be missing is everything from halfway though Xlib.h all the way through the end of region.eh. But the point at which stuff starts to be missing is NOT where there are any #ifdef's -- it's right after the definition of the XTimeCoord structure in Xlib.h. Has anyone else seen this problem? Can anyone tell me what's going on? I'm totally stumped. Thanks. -- Nathaniel
sean@DSL.PITT.EDU (Sean McLinden) (08/10/90)
nsb@thumper.bellcore.com writes: > Building Andrew on our 3100's has turned out to be much harder than on > our Suns. The latest problem has me really stumped. > > in atk/basics/common, the compile dies trying to make region.o. The > command it is using is: > > cc -Dvoid=int -G 0 "-Wl,-D,1000000" -c -I. > -I/u/andrew/3100/include/atk -I/u/andrew/3100/include > -I/usr/local/pkg/X11/include region.c > > The error mesage it produces, reliably, is: > > cpp: error region.c:219: missing endif > > Now, this doesn't make any sense at all. I've checked and all the > if/endif pairs are balanced. In fact, all of the include files are > IDENTICAL to what they were on the Sun, and yet the preprocessor thinks > I've got a missing endif. Possibly there are some screwy #define's and > #if's somewhere, but I can't find them. This *sounds* like either a C or a class preprocessor error, but you say that all the files are the same (the ".eh" files included?). Did you also build X11R4 and use the imake and such (I assume that you did since your include paths suggest a local X11 implementation)? You aren't using C++ I assume (why would you with Classes)? Another thing to consider is some type of buffer overflow that causes lines to be lost. I assume that you checked your config files for X11 and Andrew to make sure that you don't have any nasties, there. Finally, I assume that you aren't building across an NFS filesystem or someplace where an earlier operation could have failed (due to a lost file server, or file system overflow), so that you got a truncated file somewhere? I guess that some more information is needed. Like are you using the DEC standard C compiler and the standard X11R4 distribution? Did you capture the output from the make up until this point and did anything else fail anywhere? This is all standard stuff, but... Sean P.S. I found the DECstation 3100 build to be incredibly time consuming. Also, I've found that if the Andrew build fails, for any reason, anywhere, the *only* safe thing to do is to remove /usr/andrew, do a "make clean" generate a new makefile, and do another "make World". I have not gotten make to restart reliably.