hartzell@boulder.colorado.edu (George Hartzell) (09/19/90)
I just got done building X11R4 under Ultrix 4.0 on my color DECstation3100, and thought I might share what I learned since I haven't seen some of it on the net before. I've been running this for a day or so and it seems to work. I've seen one anomaly that I haven't been able to repeat reliably. Usually the load on the DECstation when someone is using the console but not actively doing anything hovers around 0. Twice now I've caught it idling at about .4, with cfpmax being the only thing apparently using time. If anyone else sees this or knows what might be causing it I'd like to know. Here are my changes: [I've seen this mentioned on the net already but am including it for completeness] DEC changed the definition of "fileno", requiring the following changes to two files in the xterm directory. X11R4/mit/clients/xterm *** /tmp/,RCSt1a29477 Wed Sep 19 08:53:39 1990 --- misc.c Mon Sep 17 18:33:06 1990 *************** *** 431,437 **** --- 431,441 ---- old_bufend = _bufend(stderr); #endif /* SYSV */ close(fileno(stderr)); + #ifdef ultrix /* work around ultrix 4.0 stdio */ + stderr->_file = 2; + #else fileno(stderr) = 2; + #endif #ifdef SYSV _bufend(stderr) = old_bufend; #endif /* SYSV */ *** /tmp/,RCSt1a29482 Wed Sep 19 08:53:44 1990 --- main.c Mon Sep 17 10:12:35 1990 *************** *** 822,828 **** --- 822,832 ---- fileno(stderr) = i; _bufend(stderr) = old_bufend; #else /* USE_SYSV_TERMIO */ + #ifdef ultrix /* work around ultrix4.0 stdio. */ + stderr->_file = i; + #else fileno(stderr) = i; + #endif #endif /* USE_SYSV_TERMIO */ /* mark this file as close on exec */ [I haven't seen this mentioned on the net yet] DEC rearranged some of the names and locations used in the code for the mono and color DECstation servers. Here are the patches. /X11R4/mit/server/ddx/dec/cfbpmax *** /tmp/,RCSt1a29436 Wed Sep 19 08:43:58 1990 --- cfbpmax_io.c Mon Sep 17 17:11:22 1990 *************** *** 31,38 **** #include <sys/tty.h> #include <errno.h> #include <sys/devio.h> ! #include <machine/pmioctl.h> ! #include <machine/dc7085cons.h> #include "misc.h" #include "X.h" --- 31,38 ---- #include <sys/tty.h> #include <errno.h> #include <sys/devio.h> ! #include <io/tc/pmioctl.h> ! #include <io/tc/dc7085reg.h> #include "misc.h" #include "X.h" *** /tmp/,RCSt1a29444 Wed Sep 19 08:49:20 1990 --- cfbpmaxcolor.c Mon Sep 17 17:11:29 1990 *************** *** 49,56 **** #include <sys/tty.h> #include <errno.h> #include <sys/devio.h> ! #include <machine/pmioctl.h> ! #include <machine/dc7085cons.h> #include "X.h" /* required for DoRed ... */ #include "Xproto.h" /* required for xColorItem */ --- 49,56 ---- #include <sys/tty.h> #include <errno.h> #include <sys/devio.h> ! #include <io/tc/pmioctl.h> ! #include <io/tc/dc7085reg.h> #include "X.h" /* required for DoRed ... */ #include "Xproto.h" /* required for xColorItem */ X11R4/mit/server/ddx/dec/mfbpmax *** /tmp/,RCSt1a29413 Wed Sep 19 08:42:42 1990 --- mfbpmax_io.c Mon Sep 17 17:15:23 1990 *************** *** 31,38 **** #include <sys/tty.h> #include <errno.h> #include <sys/devio.h> ! #include <machine/pmioctl.h> ! #include <machine/dc7085cons.h> #include "misc.h" #include "X.h" --- 31,38 ---- #include <sys/tty.h> #include <errno.h> #include <sys/devio.h> ! #include <io/tc/pmioctl.h> ! #include <io/tc/dc7085reg.h> #include "misc.h" #include "X.h" *** /tmp/,RCSt1a29418 Wed Sep 19 08:42:51 1990 --- init.c Mon Sep 17 17:16:35 1990 *************** *** 27,33 **** #include "X.h" #include "Xproto.h" #include <sys/types.h> ! #include <machine/pmreg.h> #include "scrnintstr.h" #include "servermd.h" --- 27,33 ---- #include "X.h" #include "Xproto.h" #include <sys/types.h> ! #include <io/tc/pmreg.h> #include "scrnintstr.h" #include "servermd.h" George Hartzell (303) 492-4535 MCD Biology, University of Colorado-Boulder, Boulder, CO 80309 hartzell@Boulder.Colorado.EDU ..!ncar!boulder!hartzell