  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 contact DG for an updated
/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 <sys/sysi86.h> 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 attention initially but was too busy then to look at it
in detail... Perhaps I should have...

We now use sockets instead 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_ conversation 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/XFree86/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 didn't 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 filesystem (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 doesn't 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 filesystem /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 untar 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 pre-compiled binaries)

The DG/UX malloc is crap and keeps bringing problems with some X software so
I don't use it. Instead there is a port of GNU malloc in /usr/local (it came
with the BuildXtools file).  Don't try to build with the /lib/libmalloc.a of
DG/UX and then send me e-mails that some programs they don't 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 don't have this (or don't 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 don't 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 success-
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

Remember when you build you will see lots of errors and the servers will NOT
build! This is because the dynamic linker doesn't know the locations 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 messages in your screen.  Don't 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. Adjust
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 X window 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 haven't 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 don't
     forget to do this link. I don't 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 don't 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 minimum 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 doesn't checks for this. So it is printing this message anyway.
     Ignore it and don't 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 DON'T HAVE THE SAME MONITOR AS MINE. YOU CAN DAMAGE YOUR VIDEO
     MONITOR OR YOUR GRAPHICS CARD.

     An example 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 DON'T HAVE THE SAME MONITOR AS MINE. YOU CAN DAMAGE YOUR
     VIDEO MONITOR.

     Start with the file XF86Config.eg as a prototype. READ the README.Config
     .  In Cirrus chips you need to read the file README.cirrus located in
     /usr/X11R6.3 There is a problem with the accelerated 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
     doesn't work (it will probably) try Option "noaccel" or "no_bit-
     blt".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 XF86Config in the sections mouse, keyboard, screen ...  After
     you have a correct 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 don't 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 don't 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 ugly) 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 course 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 example 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 technical questions. Also
D.T. is one of the people that offer valuable help.  Finally I want to
express my thanks to John H. for enlightening me in some syscall issues.

     Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DGUX.sgml,v 1.1 2000/02/24 20:43:23 dawes Exp $


$XFree86: xc/programs/Xserver/hw/xfree86/doc/README.DGUX,v 1.2 2000/03/01 01:48:04 dawes Exp $
