GNU GCC Compiler 3.0.4 for Intel DG/UX Release R4.20MU07 These binaries should go to /usr/local. Create a filesystem under the dir /usr/local/ and untar this file inside there. Usually in a DG/UX system /usr/local is an empty directory. Please note: Unfortunately this GCC version doesnt compile with the DG/UX native assembler (as). You should use with C++ the GNU as (formely known as "gas"). It is strobgly recommended also that you use the GNU linker ld. These are both included! Next do: cd /usr/bin cp as as.ORIG cp ld ld.ORIG (backup the native DG/UX as,ld tools) cd /usr/local/bin cp gas /usr/bin/as (copy the GNU assembler) cp gnu-ld /usr/bin/ld (copy the GNU linker) Remember that when you are building a new DG/UX kernel you are required to use the the native DG/UX linker. It doesnt matter which assembler you are using but the linker must be the native one! So before you build a new kernel using DG/UX's "sysadm" dont forget to perform it's restoration: cd /usr/bin cp ld.ORIG ld i.e. *restore* the native DG/UX linker (ld). In general remember that C++ for GCC 3.0.4 requires GNU linker And for the GNU assember you must specify the flag -mno-legend if you are not going to use the mxdb to debug (eg use gdb). Also "-gstabs+ -mno-legend -O2" is usually the debug flags that you should use for C++ (with the GNU assember of course). Next set up the crt* files: cd /usr/sde/ix86dgux/usr/lib cp crt1.o gcc-2 cp crti.o gcc-2 cp crtn.o gcc-2 rm crt1.o crti.o crtn.o ln -s gcc/crt1.o crt1.o ln -s gcc/crti.o crti.o ln -s gcc/crtn.o crtn.o Finally install GCC 3.0.4 to DG/UX's elink: cd /usr/local cp -r gcc-dgux-304 /usr/sde/ix86dgux/usr/lib cp -r gcc-dgux-304 /usr/opt/sdk/sde/ix86dgux/usr/lib cd /usr/sde/ix86dgux/usr/lib rm gcc ln -s gcc-dgux-304 gcc cd /usr/opt/sdk/sde/ix86dgux/usr/lib rm gcc ln -s gcc-dgux-304 gcc Needless to say that you should add to your path the /usr/local/bin and to your LD_LIBRARY_PATH the /usr/local/lib. Then relogin! To go back to your old GCC-2.7.2.9 compiler: cd /usr/sde/ix86dgux/usr/lib rm gcc rm -r gcc-dgux-304 ln -s gcc-2 gcc cd /usr/opt/sdk/sde/ix86dgux/usr/lib rm gcc rm -r gcc-dgux-304 ln -s gcc-2 gcc cd /usr/bin cp as.ORIG as cp ld.ORIG ld and finally take out /usr/local/bin from your path, and relogin! IMPORTANT COMMENT:Do NOT erase cc from /usr/bin. The sysadm uses cc for building the DG/UX kernels! Also the libgcc.a in /usr/lib is used to build kernels. Do not remove this library from /usr/lib. === Takis, Cambridge , March 5, 2002 Takis Psarogiannakopoulos University of Cambridge Centre for Mathematical Sciences Department of Pure Mathematics Wilberforce Road Cambridge CB3 0WB ,UK , March 2002 You can find more tools (plus gdb-5.1 and many others) by doing: ftp ftp.dpmms.cam.ac.uk (University of Cambridge, UK, Department of Pure Mathematics) login: ftp password: your email address cd /pub/takis bin (set binary ftp tranfers) get DGUX-R420MU07-DEVTOOLS.tar.gz quit Create a filesystem with sysadm mounted under /usr/local (usually an empty directory in DG/UX systems). cp DGUX-R420MU07-DEVTOOLS.tar.gz /usr cd /usr gzip -d < DGUX-R420MU07-DEVTOOLS.tar.gz | tar xvf - Put /usr/local/bin in your path and /usr/local/lib in your LD_LIBRARY_PATH, export them and relogin allowing changes to take effect Beware that DGUX-R420MU07-DEVTOOLS.tar.gz contains GCC-2.95.3 so if you untar it above the GCC-3.0.4 will wipe out your latest 3.0.4 binaries in favor of the older 2.95.3.