Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!snorkelwacker.mit.edu!thunder.mcrcim.mcgill.edu!mouse From: mouse@thunder.mcrcim.mcgill.edu (der Mouse) Newsgroups: comp.sys.next Subject: Re: Xnext (mouse-X) Message-ID: <1991Mar26.131556.12368@thunder.mcrcim.mcgill.edu> Date: 26 Mar 91 13:15:56 GMT References: <1991Mar20.210206.29985@cunixf.cc.columbia.edu> Distribution: na Organization: McGill Research Centre for Intelligent Machines Lines: 31 In article <1991Mar20.210206.29985@cunixf.cc.columbia.edu>, howie@cunixf.cc.columbia.edu (Howie Kaye) writes: >> cc test.c -lXext -lX11 -lm [undefined symbols:] >> _XErrorFunction >> _qfree >> _XHeadOfDisplayList [...] > This is because the global variables in the X libraries are > uninitialized. So, the linker doesn't put them in the data segment, > but in another "Common" segment. They don't get put into the symbol > table of the library. Evidently, this is conformant with ANSI C. Putting them in common is, yes, but UNIX has done that for years. The non-UNIXism involved is ranlib's not recognizing those symbols. Another thing wrong with the NeXT. This much-hyped "productivity improvement tool" is rapidly becoming more pain than it's worth. No adb, broken ranlib, no etext/edata/end, no X (mostly fixed now), deficient keyboard, the bletcherous new keyboard layout, the tiny screen (really guys, Sun's 1152x900 is too small!)...what *didn't* they do wrong?! And such nice hardware, too. All undocumented, of course, so you can't replace NeXTOS with anything useful. Grrrr. der Mouse old: mcgill-vision!mouse new: mouse@larry.mcrcim.mcgill.edu