DG/UX

Data General Unix variant

GreenFive 20-MAY-2004 I had quite some problems in compiling Tcl 8.4.6 and Tk 8.4.6 on my DG/UX based machine. With the help of members on the Tcl chat, I finally managed to build it and here are some of my findings:

  • Data General AViiON 5500 with two mc88100 CPUs and 96 MB of RAM
  • a stock distribution of DG/UX 5.4R3.10 is installed, no patches
  • uname -a shows: dgux linoserver-4100 5.4R3.10 generic AViiON mc88110
  • gcc --version shows: 2.5.8

I first compiled GNU make 3.79.1, as the included DG/UX make barfed with some bogus error messages. Compiling GNU make 3.79.1 is straight forward and does not need any special preparation.

To unpack the current source tarballs of both Tcl and Tk, you need the GNU zip tools (gzip). Compilation is straight forward as with GNU make and doesn't require any special settings.

Compile Tcl 8.4.6

 gzip -dc tcl8.4.6-src.tar.gz | tar xfv -
 cd tcl8.4.6/unix
 ./configure --prefix=/usr  --enable-gcc --enable-shared
 make; make install

To check if the installation worked, use:

 # /usr/bin/tclsh8.4
 % puts [info patchlevel]
 8.4.6

Compile Tk 8.4.6

 gzip -dc tk8.4.6-src.tar.gz | tar xfv -
 cd tk8.4.6/unix
 ./configure \
 --prefix=/usr \
 --mandir=/usr/man \
 --enable-gcc \
 --with-tcl=/usr/lib \
 --x-includes=/usr/opt/X11/include \
 --x-libraries=/usr/opt/X11/lib \
 --enable-shared

On my system the problem was the linker tried to use the incorrect shared library (libX11.so), instead of the correct (libX11.so.1, symlinked to libX11.so.2) and bailed out not finding _XInitImageFuncPtrs. This is solved by slightly adapting the Makefile in the unix subdirectory. Change the line

 X11_LIB_SWITCHES       = -L/usr/opt/X11/lib -lX11

to

 X11_LIB_SWITCHES        = /usr/opt/X11/lib/libX11.so.2

and run "make; make install". It should compile and install fine.

Remarks

If you have installed GNU make and your machine comes with two CPUs, "make -j2" works fine and is approximately 1.8 times faster compared to compiling with only one CPU.