Instructions for Building XFree86 on an Intel Pentium Aviion machine with DG/ux R4.20MU04 Takis Psarogiannakopoulos July 27, 1999 1. Whats new July 27, 1999 DG has fix the streams bug in /usr/lib/tcpip.so . (Read below) The workaround in the July 25 source code has been removed. I've been told from DG that BSD sockets perform better in DGUX than SVR4 native STREAMS. From R4.20MU06 DG/ux will have the correct tcpip.so lib (no bug in STREAMS). If you have MU05,MU04 and you want for some reason STREAMS definitely conntact DG for an upated /usr/lib/tcpip.so in /usr/lib (patch for your MU04,5). DG/ux at the moment lacks the sysi86 syscall and the definition of SYSI86IOPL (that is in but guarded by a UNIXWARE defintion that of course cannot be applicable to DG/ux). Until this header is accessible by a simple -DDGUX , and _sysi86, sysi86 subroutines added to libc (or some other extra library) we need to define the DG_NO_SYSI86 to be 1. If DG makes the above modifications , you will need to manually edit the files (before building!) xc/programs/Xserver/hw/xfree86/SuperProbe/OS_DGUX.c xc/pro- grams/Xserver/hw/xfree86/etc/scanpci.c xc/programs/Xserver/hw/xfree86/os-sup- port/dgux/dgux_video.c and eliminate DG_NO_SYSI86 flag by changing DG_NO_SYSI86 1-->0. July 25, 1999 A major bug has now been corrected in this release. According to this since the STREAMS interface of DG/ux were broken the server was listening not to port 6000 (= 0x1770) but to 0x7017. All binaries that you have from 3.3.3.1, 3.3.3 they will work locally (if you run them in the same machine) but NOT remotely because they use an Xlib that tries to connect to port 28365. If you want to run them remotely YOU MUST recompile them! Steve thank you for bringing this to my attension initially but was too bussy then to look at it in detail... Perhaps I should have... We now use sockets intead of ioctls. But I 've fix and tested the STREAMS also. David thanks for making me realize that this was indeed a problem in DG/ux. I 've also take the trouble to port gdb-4.17/8 and ddd (X inter) in pub/XFree86/3.3.5/binaries/DGUX-ix86/GDB_BETA (both binaries and source code) in order to be able to send me traces of core files produced by Xservers. Try gdb /usr/X11R6/bin/X location of core/core gdb: where and send me what you see. (I suppose that the Xserver executable is in /usr/X11R6.3/bin) From 3.3.3.1: Several bugs are now fixed. DG/ux support is on this official patch. All configuration is in xc/config/cf/DGUX.cf and in xf86site.def. Also Imake autodetects (thanks to David Dawes) the DGUX OS (including Release ver- sion). So only a simple "make World" is needed anymore to build in ix86 DG/ux. Usually the process to build is (after unpacking and patching the source "xc" tree) to go to xc/config/cf copy the file xf86site.def to site.def and edit the files DGUX.cf ,site.def for whatever changes you need to do. Default ProjectRoot in 3.3.5 is /usr/X11R6 (except if you set this specifi- cally in DGUX.cf either as /usr/X11R6.3-- --my choice, or in whatever you like). From: December 1, 1998 IMPORTANT: PLEASE READ THE FILE README-GCC-2.8.1 GCC VERSION 2.8.1 is recommended for the DGUX build of X11R6.3 You can ignore below the _old_ converstation about gcc compiler if you already run a gcc-2.8.1 in your machine. 2. GENERAL: Get from ftp.xfree86.org the XFree 3.3.x source code: ftp ftp.xfree86.org login: ftp passwd: your e-mail address cd pub/XFree86/3.3.5/source You need the files: X335src-1.tgz X335src-2.tgz X335src-3.tgz Get also the contributed X software cd /pub/XFree86/3.3.5/source X335contrib.tgz If you have the source tarballs of 3.3.3 go to /pub/XfFree86/3.3.5/bina- ries/DGUX-ix86/SOURCE get the DGUX source patch 3.3.3-3.3.5-DGUX.diff.gz X335contrib-DGUX.diff.gz (patch for the contrib software). to avoid downloading all the source code again. Sorry some DGUX changes they didnt make in time for the official release date of 3.3.4... I do this for free, so some times I may be excused for something like this... To build X11R6.3 you need also the tools for DG/ux (see discussion below). They will be in ftp dpmms.cam.ac.uk (University of Cambridge,Department of Pure Mathematics) in /pub/takis/DGUX-Tools/BuildXtools.tar.gz (anonymous ftp) or in the ftp.xfree86.org ... (pub/XFree86/3.3.5/binaries/DGUX- ix86/SOURCE/BUILD-TOOLS/ BuildXtools.tar.gz). Using a big filesytem (I use a virtual disk "xf86work" mounted on /xf86work of size 1400000 blocks) copy the source as: cp X335src-1.tgz /xf86work/X335src-1.tar.gz cp X335src-2.tgz /xf86work/X335src-2.tar.gz cp X335src-3.tgz /xf86work/X335src-3.tar.gz (or X333src-1,2,3.tar.gz as above plus the DG/ux patch to 3.3.5 i.e. the file 3.3.3-3.3.5-DGUX.diff.gz) And maybe the contributed software: cp X335contrib.tgz /xf86work (cp X335contrib-DGUX.diff.gz /xf86work). If you get the patches from DGUX-ix86, to build from source 3.3.3 your first problem is that in order to apply the source patch you need "patch" a very common GNU program that DG/ux doesnt have!? This program is in BuildX- tools.tar.gz (or ftp prep.ai.mit.edu cd/pub/gnu get patch-2.5.tar.gz) So lets speak about these tools before anything else: Using "sysadm" mount a filesys- tem usr_local under /usr/local with size 200000 blocks. Then copy the BuildX- tools file in /usr and give: gzip -d < BuildXtools.tar.gz | tar xvf - It will unfold in the new filesytem /usr/local. Then go to your ".profile" (in your Home dir , mine eg is /admin) and add the /usr/local/bin in your path and the /usr/local/lib in your lib-path. What you need is like that: (vi .profile) PATH=/usr/local/bin:/sbin:/usr/sbin:/usr/bin if [ -d /usr/opt/X11/bin ] then PATH=$PATH:/usr/opt/X11/bin fi export PATH (/usr/local/bin is before any other path!) LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/ccs/lib export LD_LIBRARY_PATH then exit and re-login so that your new modified .profile will take effect. Now do the following: cd /usr/sbin cp install install_dg rm install cp /usr/local/bin cp install /usr/bin *(make the GNU install the default install)* (DG/ux install is useless) (Look also the file xc/config/cf/DGUX.cf , below). (Or get GNU make-3.77 and copy install.sh (or -sh) to a /usr/bin/install) cd /usr/bin cp true /usr/local/bin cd /usr/local/bin ln -s true ranlib (Install true as ranlib in the DG/ux system) Usually giving -v,-V or --version will give you build info on all the tools in /usr/local/bin (try it). **Look the discussion for gcc before you build (below)** Now untarr the source tree: In /xf86work (or whatever name you gave to the big filesystem for the build) gzip -d < X335src-1.tar.gz | tar xvf - gzip -d < X335src-2.tar.gz | tar xvf - gzip -d < X335src-3.tar.gz | tar xvf - (If you have X-3.3.3 do the same for the 3.3.3 sources and then apply the 3.3.5-DGUX source patch gzip -d < 3.3.3-3.3.5-DGUX.diff.gz | patch -p0 -E). The directory xc in now present in your build filesystem. 3. Configuration for the build: Almost all you need is in "DGUX.cf" located in xc/config/cf. Edit the file DGUX.cf and site.def and change what ever you need. Remember DGUX.cf over- writes site.def. The default ProjectRoot for XFree86-3.3.5 is now /usr/X11R6 (located in site.def). If you want to change this to whatever you like (I prefer /usr/X11R6.3 and a link in /usr X11R6->X11R6.3) edit DGUX.cf and locate the entry: #if 0 #define ProjectRoot /usr/X11R6.3 #endif Eliminate the #if 0 , #endif. Then change this to whatever you prefer. (I prefer the above for the precompiled binaries) The DG/ux malloc is crap and keeps bringing problems with some X software so I dont use it. Instead there is a port of GNU malloc in /usr/local (it came with the BuildXtools file). Dont try to build with the /lib/libmalloc.a of DG/ux and then send me e-mails that some programs they dont work properly. In my build I use tcl8.0 and tk8.0 since the xconfig of R4.20MU03 is report- ing incorrect values for the monitors and XF86Setup need to be build in order to manage to adjust the display. If you dont have this (or dont want this) comment out the lines about tcl,tk, (in DGUX.cf) /*******TCL TK DEFINITIONS ***********/ #define HasTk YES-->NO ... #define HasTcl YES-->NO Also 'GNU make' is required for the correct X11R6.3 build. (it is in Buildx- tools file). If you decide yes to tcl,tk obtain the files tcl8.0.3.tar.gz tk8.0.3.tar.gz (from some ftp) (or newer versions) and compile them before the building of X11R6.3 (Build first tcl8.0.3 then tk8.0.3). 4. DISCUSSION ABOUT GCC There are so much things that I can say for the system gcc of DG/ux. If I was keeping track for the programs that fail using this compiler I will certainly have fill a book (conveniently for the DG of course). But my work is not to correct bugs for the DG/ux compiler or anything else) , and in particular to collect reports for the genius of DG. (DG:Sorry guys nothing personal. I am a pure Mathematician , I am doing all this work for pleasure, I dont want any money from DG or anybody else , I am not looking to become a employer of DG,and I am NOT a trouble shooter of the DG/ux in general. But maybe some times if you help I may be able to help you also). What I wanted to do is to build X11. Thats why you will find in BuildXtools a new gcc. This gcc is build for DG/ux R4.20MU02. so you have to upgrade your DG/ux OS version to the above. But it is solid to build not only X11 but whatever else you want. DO NOT use gcc of DG/ux. If you do I cannot tell you anything about any problems that you have. To complete the installation of this new gcc do the following: cp -r /usr/local/gcc-dgux /usr/opt/sdk/sde/ix86dgux/usr/lib cd /usr/opt/sdk/sde/ix86dgux/usr/lib rm gcc ln -s gcc-dgux gcc (set link gcc--->gcc-dgux) cd /usr/local cp -r /usr/local/gcc-dgux /usr/sde/ix86dgux/usr/lib cd /usr/sde/ix86dgux/usr/lib rm gcc ln -s gcc-dgux gcc (set link gcc-->gcc-dgux) To come back to your old DG/ux gcc just change the above two links gcc-->gcc- dgux to gcc-->gcc-2 with the command: (in both the above two dirs) rm gcc ln -s gcc-2 gcc /usr/bin/gcc -v should report the version that you have. To build succes- fully this version of X11 gcc is a *MUST*. Dynamic loading Servers: Edit xc/config/cf/DGUX.cf and change the entry #ifndef BuildDynamicLoading #define BuildDynamicLoading NO --->YES. #endif Remeber when you build you will see lots of errors and the servers will NOT build! This is because the dynamic linker doesnt know the locatios of the newly created R6 libX's. So after the (seem faulty) building do a make DESTDIR=ProjectRoot/lib install (look below for install, ProjectRoot the location that you choose in the file xc/config/cf/DGUX.cf above) So that all your new libXR6 libraries will go there. (do a cd Project- Root/lib to make sure). Then go to your home dir and declare the path ProjectRoot/lib dir in you LD_LIBRARY_PATH (your profile) as: LD_LIBRARY_PATH=ProjectRoot/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH Then relogin! Now just _rebuild_ A FULL XFree86-3.3.5 with the entry #define BuildDynamicLoading YES in your DGUX.cf. This time you will build _all_ XFree86-3.3.5 correctly. 5. BUILD In the usual X11R5 of DG (mwm) open an xterm and give: (/bin/sh = Bourne shell) cd xc make World > Build-dg.log In that way you will get all the error meggages in your screen. Dont worry with messages about -znodefs. Note: the old command make World BOOTSTRAPCFLAGS="-DDGUX" > Build-dg.log is no longer needed since imake will detect the DGUX OS (in Version => 3.3.3.1) and set up things. However this command will also work. And in another xterm give cd xc tail -f Build-dg.log to watch the building progress. To install X11R6.3 XFree version 3.3.5 after the build you must have a filesystem say usr_X11R6.3 mounted to the directory /usr/X11R6 size 350000 blocks. (or whatever you choose to be your ProjectRoot, if you modify DGUX.cf for another ProjectRoot than the default /usr/X11R6 in site.def). Then give make install make install.man (install the man pages) The installation will not put an XF86Config in your /usr/X11R6.3/lib/X11/ and so if you give startx the new X11 will not start. Read the file README- X3331.DGUX in this ftp site (located in the binaries) about the whole instal- lation procedure of X11R6.3. Or quickly you can do: (I remind: DG/ux mouse device "/dev/mouse") cd /usr/X11R6.3/bin ln -s XF86_VGA16 X Then put in your .profile the path /usr/X11R6.3/bin and run the XF86Setup program. Ajust first the mouse device then everything else. (You need to read really the file README-DGUX.INSTALL-> look in the end of this file). To build the contributed software with XFree86-3.3.5 get the X335contrib.tgz and do gzip -d < X335contrib.tgz | tar xvf - (Or for 3.3.3 sources unpack X333contrib.tgz and apply the DGUX patch as gzip -d < X335contrib-DGUX.diff.gz | patch -p0 -E ). Please note: You must have already install and active the X11R6.3 that you build so that the imake is working properly for your system. Read below for how to install this Xwindow system. After that you could do: cd contrib xmkmf -a make make install make install.man (for installing the man pages) 6. INSTALLATION OF THE BINARY: NOTE:This executable has been compiled with the macro -DPENTIUM_CHANGE (that all the new Aviion machines support). If you have an old i486 (rather unlikely) the executable will NOT RUN correctly. But we havent use -mcpu=pentiumpro, so the executable will work on ALL PENTIUM machines. o About Project Root: I choose as ProjectRoot for ix86 DG/ux the location /usr/X11R6.3. The default (in 3.3.5 sources) is the /usr/X11R6. To cover this we make a link in /usr as X11R6->X11R6.3 (read below) ;so dont for- get to do this link. I dont like the location /usr/opt/X11 (default location of DG X11) that some of you have suggested to me, I believe it is a good idea to keep the original X11 as is for several reasons. o Make a filesystem,using sysadm, mounted under "/usr/X11R6.3". This is the default location of X11R6.3 , you cannot change this except if you recompile the whole source of X. (Please dont send e-mails about this). The size of this filesystem should be around 175 MB(350000 blocks). The list of files is: X3353DL.tgz 3D_Labs XServer ... etc X3358514.tgz X335AGX.tgz X335I128.tgz X335Ma32.tgz Mach32 Xserver X335Ma64.tgz Mach64 Xserver X335Ma8.tgz X335Mono.tgz X335P9K.tgz X335S3.tgz X335S3V.tgz X335SVGA.tgz SuperVGA Xserver (Supports AV3700 Cirrus) X335VG16.tgz VGA16 Xserver (needed by XF86Setup) X335W32.tgz X335bin.tgz BIN (you must have this) X335cfg.tgz X335doc.tgz X335f100.tgz X335fcyr.tgz X335fnon.tgz X335fnts.tgz X335fscl.tgz X335fsrv.tgz X335lib.tgz LIB (you must have this) X335lkit.tgz Linkkit (X development) X335man.tgz Man pages X335nest.tgz X335prog.tgz X335prt.tgz X335set.tgz X335vfb.tgz preinst.sh Install script extract The XFree86 extract program (for ix86 DG/ux) SUMS.md5 CheckSums for the integrity of the files (Try compile the GNU textutils-1.22.tar.gz from prep.ai.mit.edu /pub/gnu. md5sum is there). You need at least: X335bin.tgz X335lib.tgz And the correct Xserver for your machine/Graphics card. In my opinion take all files , in the future you may need to switch to another graph- ics device etc ... (mget *). Generally it is good to have the full dis- tribution of the X11R6.3 window system ,it should make life easier in DG/ux. (Trivial:you must have root privilege). o Unpack the *.tgz files in your / so that it will go directly inside to the new filesystem /usr/X11R6.3. After you do that cd /usr and do a link : ln -s X11R6.3 X11R6. (Use the install script). This link will indi- cate in XF86 programs like XF86Setup where the new X11 window system is. o cd your home dir and backup your .profile as "cp .profile myprofile". Then cd /usr/X11R6.3. Copy the file HOME.profile-X11R6.3 to your home dir as "cp HOME.profile-X11R6.3 your home dir/.profile" ,then cd your home dir and "chmod 644 .profile" to make sure that the new profile is active. This is because you need to tell to the system to look for the X software in a different location than the usual /usr/bin/X11 of DG/ux. Also you need to tell to the system that the new X libraries are in /usr/X11R6.3/lib. **You NEED to re-login in order to make the new .profile active !** ** DO NOT GIVE "startx" AFTER THAT, READ Configuration below !** o About Configuration: DG/ux has a program (actually a script) called xconfig that makes the configuration for you. Usually when you run xcon- fig in the DG/ux-X11R5 it creates a file XdgConfig in /var/X11/Xserver which is the corresponding of the XF86-configuration file located in /usr/X11R6.3/lib/X11/XF86Config. This file ,in the section monitor, has all values for your monitor. Please Note: Unfortunately in DG/ux R4.20MU02 things change. Instead of going forwards we going backwards... xconfig reports crazy values for my DG-DA1765VA monitor. So if you have a CDROM of DG/ux R4.11MU02,or MU03 use it to find an xconfig that will give you reliable values for your monitor. Your best bet is to use XF86Setup for correct adjustments. Thats the reason that in this binary there is a mininum tcl,tk(version 8.0). Before you run XF86Setup read the relevant documents found in www.xfree86.org. (Or read below for a hand-made configuration). Notice about XF86Setup: You will will see the message "The program is running on a different virtual" "Please switch to the correct virtual terminal" DG/ux does NOT have any virtual terminals. But XF86Setup uses a script that doesnt checks for this. So it is printing this message anyway. Ignore it and dont send e-mails asking how to set the virtual terminal! XF86Setup WORKS for SURE (if you use it correctly) to set your configu- ration. Just remember: 1. make a link in /usr/X11R6.3/bin: ln -s XF86_VGA16 X 2. set mouse device in your XF86Config to /dev/mouse (this the mouse in DGUX) 3. set the correct mouse protocol. (usually for a typical AViiON PS/2). Or just cd /usr/X11R6.3/lib/X11 and copy XF86Config.eg.dgux to XF86Con- fig (it is for a PS/2 protocol mouse that almost all AViiON's have) , then run XF86Setup and choose to use this XF86Config file as default (so mouse works). Alternatively, you can run xf86config, a non-graphical configuration utility but you will need to enter manually the values for your monitor. If you have the small booklet that came with the monitor they are inside. Hand made configuration: I have an DG/ux Medium resolution (1280x1024) 17 inch DG-26059,DA1765VA. ONLY IF YOU HAVE THE ***EXACT SAME*** MONI- TOR USE THE FILE XF86Config_SVGA_DGUX that you will find in /usr/X11R6.3/. IT IS IN YOUR OWN RISK IF YOU DECIDE TO USE THIS FILE WHEN YOU DONT HAVE THE SAME MOTINOR AS MINE. YOU CAN DAMAGE YOUR VIDEO MONITOR OR YOUR GRAPHICS CARD. An examble of how to use the Accel Servers (eg ATI=XF86_Mach64) is in the file XF86Config_ATI_DGUX. Again remember: I have an DG/ux Medium resolution (1280x1024) 17 inch DG-26059,DA1765VA. ONLY IF YOU HAVE THE ***EXACT SAME*** MONITOR USE THE FILE XF86Config_ATI_DGUX that you will find in /usr/X11R6.3/. IT IS IN YOUR OWN RISK IF YOU DECIDE TO USE THIS FILE WHEN YOU DONT HAVE THE SAME MOTINOR AS MINE. YOU CAN DAMAGE YOUR VIDEO MONITOR. Start with the file XF86Config.eg as a prototype. READ the REAME.Config . In Cirrus chips you need to read the file README.cirrus located in /usr/X11R6.3 There is a problem with the accelarated XAA code ,so you need to try to put the following option in your XF86Config: Option "no_mmio" (in Section Screen ,subsection display). Look in the XF86Config_SVGA_DGUX to see how this can be done . If this doesnt work (it will probably) try Option "noaccel" or "no_bitblt".Again READ the file README.cirrus (and README.Config). I suggest to print (in paper) the file XdgConfig and have a look in it. Then it should be quite trivial to figure out what you have to do with the XF86 file ie XF86Con- fig in the sections mouse, keyboard, screen ... After you have a cor- rect XF86Config in /usr/X11R6.3/lib/X11 give chmod 444 XF86Config. Supposing that you have already re-login so that the new .profile is active and you have the correct XF86Config file (as your XdgConfig sug- gest) (DO not forget for a cirrus to put the Option "no_mmio" in section screen !), give startx and the new X11 will start . Remember: You can shut down at any point the Xserver by pressing CONTROL+ALT+BACKSPACE (if something goes wrong). Also Xservers dont produce messages unless to want them to do so. This is because the DG/ux console driver some times causes corruption of the screen if you print text during the startup of the Xserver. If you require messages try in bash shell to give: (bash# ) X -verbose >& info1 or even X -verbose -verbose >& info2 for more messages. Then when the server is up press CONTROL+ALT+BACKSPACE to shutdown the Xserver. File info1 (or info2) have all relevant info about your graph- ics card , display memory etc ... I suggest you do that at least one time before start using the new X11R6.3. Read this info file to see if all ok. If not try change settings in your XF86Config to make thinks correct. If you have an ATI Rage II (or RageII+) use the server XF86_Mach64 (make a link link X--->XF86_MACH64, or run xf86config, or use XF86Setup above). o If you want to compile programs with the X11R6.3 the headers in /usr/include /X11 pointing to /usr/opt/X11 of DG/ux is a problem . Do: a): unmounting the /usr/opt/X11 will prevent the sysadm to use the X graphical interface. But this will be the only thing that you loose. The correct thing to do for X11R6.3 is to delete the filesystem /usr/opt/X11 and make a link /usr/opt/X11--->/usr/X11R6.3 , so that the libraries from dglib and /usr/lib point correctly to the new ones in /usr/X11r6.3/lib. Before you unmount this filesystem you need to do this: cd /usr/opt/X11/include cp -r Mrm /usr/X11R6.3/include cp -r uil /usr/X11R6.3/include cp -r Xm /usr/X11R6.3/include cd /usr/X11R6.3/include ln -s uil Uil LIBRARIES: and cd /usr/opt/X11/lib cp libXm.a /usr/X11R6.3/lib and similarly copy the following libraries: libX11.so.2, libX11.so.5, libXIM.so.1, libXaw.so.1, libXaw.so.2, libXext.so.2, libXi.so.2, libXimp.so.1, libXm.so.2, libXmu.so.2, libXsess.so.1, libXsi.so.1, libXt.so.2, libXt.so.5.0, libMrm.a, libUil.a, libX11_s, libXR4sco_s into /usr/X11R6.3/lib. Then cd /usr/X11R6.3/lib and make links: ln -s libXm.so.2 libXm.so ln -s libXm.so.2 libXm.so.1 ln -s libXm.so.2 libXm.so.5.0 ln -s libX11.so.5.0 libX11.so.1 ln -s libXIM.so.1 libXIM.so.5.0 ln -s libXaw.so.2 libXaw.so.5.0 ln -s libXext.so.2 libXext.so.5.0 ln -s libXext.so.2 libXext.so.1 ln -s libXi.so.2 libXi.so.1 ln -s libXi.so.2 libXi.so.5.0 ln -s libXimp.so.1 libXimp.so.5.0 ln -s libXmu.so.2 libXmu.so.5.0 ln -s libXt.so.2 libXt.so.5.0 ln -s libXsi.so.1 libXi.so.5.0 cd /usr/X11R6.3/lib rm libXmu.so (to avoid undefs when building X software) Also you need to correct the links in /usr/dglib at least! (the correct thing to do is modify also /usr/lib links to /usr/opt/X11 libs). Try cd /usr/ tar -cvf dglib-orig.tar dglib gzip dglib-orig.tar (to minimize the space dglib-backup takes) then cd /usr/dglib and delete ALL links to libraries in /usr/opt/X11. Then copy the script create_new_links_in_dglib (found in /usr/X11R6.3 to /usr/dglib and cd /usr/dglib execute script. This will create all new links with the X11R6.3 X window system. But remember to do in the end : cd /usr/dglib rm *.a (no static libs links in dglib) Then unmount (delete) the old X11 by giving "umount /usr/opt/X11". NOTE: If you compile programs in the X11R6 make sure that you unmount /usr/opt/X11 or you eliminate the links in /usr/lib to the OLD libX's in /usr/opt/X11/lib. Otherwise gcc will link these old libraries! and the binary will not run correctly. Always after an R6 compilation do "ldd prog" to make sure that the binary loads only R6 version libraries (except maybe the motif library libXm.so.2), --if you dont use the static libXm.a b:) cd /usr/include tar -cvf old-X11headers.tar X11 gzip old-X11headers.tar so that you store your old headers in /usr/include. Then cd /usr/include/ and delete rm -r X11 rm Xm rm Mrm rm Uil rm uil Make new links as: cd /usr/include ln -s ../X11R6.3/include/X11 X11 ln -s ../X11R6.3/include/uil Uil ln -s ../X11R6.3/include/uil uil ln -s ../X11R6.3/include/Xm Xm ln -s ../X11R6.3/include/Mrm Mrm 7. What is about: This new X11R6 are not simply an upgrade of the servers to the latest ones. It is a new programming platform in your DG/ux system to allow you to import all this *FREE* or not software for the X window system. This software will not compile in the old (and ungly) X11 of Data General. The imake command that is implemented in almost all the (source) software for X11 (free or not) will not work with the totally broken "imake" command of /usr/opt/X11 of DG/ux. The imake of DG/ux X11R5 is badly broken: I have seen DG/ux releases R4.11,MU01, ...MU04, R420, R4.20MU02 ,R4.20MU03 and nobody bother to look in all these releases the imake command... While until now DG was rather hostile to the prospect of a new X11 in DG/ux some new folks there they have turn their interest in X11R6 (XFree86) these days. That is good of cource because the ultimate target is to make XFree86 (3.3.5 or whatever version) to run in _their_ DG/ux Unix! I will be able to make a much better X11 in DG/ux if I could had some access to DG/ux sources (i.e. the original R5 sources , but not only --eg kernel driver sources as for examble the DG/ux kernel console driver sources). I have compile almost anything that runs for Linux in DG/ux using this X11. In doing this work in XFree86 I would like to express my thanks to David Dawes that he help me all the time with several techical questions. Also D.T. is one of the people that offer valuable help. Finally I want to express my thanks to John H. for enlight me in some syscall issues. Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DGux.sgml,v 1.1.2.3 1999/08/03 09:41:42 hohndel Exp $