ULTRIX 3 VAX: Unterschied zwischen den Versionen

Aus Knowledgebase
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „restoring Ultrix 3.1 on a MicroVAX 3100 copy image to harddisk using dd boot in single user mode: boot/r5:2 dkb100 fsck edit /etc/fstab edit /etc/passwd edit…“)
 
Keine Bearbeitungszusammenfassung
 
(12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
restoring Ultrix 3.1 on a MicroVAX 3100
== ULTRIX 3 on VAX ==


copy image to harddisk using dd
Here, I will describe two Ultrix setups: Ultrix 3.0 on an emulated Simh VAX and Ultrix 3.1 on a real MicroVAX 3100. The emulated VAX is a lot faster than the real VAX.
boot in single user mode:
 
 
---------------
 
'''restoring Ultrix 3.1 on a MicroVAX 3100'''
 
copy image to harddisk using dd <br>
boot in single user mode: <br>
boot/r5:2 dkb100
boot/r5:2 dkb100
 
<p>
fsck
fsck
edit /etc/fstab
edit /etc/fstab <br>
edit /etc/passwd
edit /etc/passwd <br>
edit /etc/group
edit /etc/group <br>
edit /etc/ttys
edit /etc/ttys <br>
edit /etc/hosts
edit /etc/hosts <br>
edit /etc/resolv.conf
edit /etc/resolv.conf <br>
edit /etc/rc.local
edit /etc/rc.local <br>


build new kernel to recognize additional disks.
build new kernel to recognize additional disks. <br>
doconfig, then choose to edit config file with vi.
doconfig, then choose to edit config file with vi. <br>
add:
add:
disk            rz2    at scsi0        drive 2


disk            rz2    at scsi0        drive 2
<p>
After building a new kernel, doconfig changes /etc/rc.local and uses the ident name of the kernel configuration as the new hostname. This might break things. Check and reset to a proper hostname.
After building a new kernel, doconfig changes /etc/rc.local and uses the ident name of the kernel configuration as the new hostname. This might break things. Check and reset to a proper hostname.


pluto(root): <conf> 49 > cat /etc/fstab
<p>
/dev/rz9a:/:rw:49:1:ufs::
 
/dev/rz9g:/usr:rw:49:2:ufs::
---------------
/dev/rz9h:/usr/local:rw:98:3:ufs::
 
/dev/rz2a:/home:rw:98:4:ufs::
'''/etc/fstab:'''
/dev/rz9a:/:rw:49:1:ufs::
/dev/rz9g:/usr:rw:49:2:ufs::
/dev/rz9h:/usr/local:rw:98:3:ufs::
/dev/rz2a:/home:rw:98:4:ufs::
 
 
---------------


pluto(root): <conf> 51 > df
'''df:'''
Filesystem  Total    kbytes  kbytes  %    
Filesystem  Total    kbytes  kbytes  %
node        kbytes  used    free    used  Mounted on
node        kbytes  used    free    used  Mounted on
/dev/rz9a      19183    7323    9942    42%  /
/dev/rz9a      19183    7323    9942    42%  /
/dev/rz9g    239663  129235  86462    60%  /usr
/dev/rz9g    239663  129235  86462    60%  /usr
/dev/rz9h    233247  46743  163180    22%  /usr/local
/dev/rz9h    233247  46743  163180    22%  /usr/local
/dev/rz2a    191958  72583  100180    42%  /home
/dev/rz2a    191958  72583  100180    42%  /home


<p>
----------------------
The largest small 3.5" SCSI disk that is know by ULTRIX 3.1 is the RZ23. But we can just add the RZ24:
The largest small 3.5" SCSI disk that is know by ULTRIX 3.1 is the RZ23. But we can just add the RZ24:
 
rz24|RZ24|DEC RZ24 Winchester:\
rz24|RZ24|DEC RZ24 Winchester:\
         :ty=winchester:ns#38:nt#8:nc#1348:\
         :ty=winchester:ns#38:nt#8:nc#1348:\
         :pa#32768:ba#8192:fa#1024:\
         :pa#32768:ba#8192:fa#1024:\
Zeile 47: Zeile 65:
         :pg#245952:bg#8192:fg#1024:
         :pg#245952:bg#8192:fg#1024:


<p>
This would likely work for other disks, but ULTRIX 3 very likely cannot use disks larger than 1GB. /etc/chpt works as known from ULTRIX 4.
This would likely work for other disks, but ULTRIX 3 very likely cannot use disks larger than 1GB. /etc/chpt works as known from ULTRIX 4.


---------------


pluto(root): <conf> 50 > cat /etc/ttys
'''/etc/ttys:'''
# "@(#)ttys 4.1 (ULTRIX) 11/23/87"
# "@(#)ttys 4.1 (ULTRIX) 11/23/87"
#
#
#
#
#
#
# name getty type status comments
# name getty type status comments
#
#
#console "/etc/getty e" dw3 on secure # console terminal
#console "/etc/getty e" dw3 on secure # console terminal
console "/etc/getty std.9600" vt100 on secure # console terminal
console "/etc/getty std.9600" vt100 on secure # console terminal
tty00 "/etc/getty std.9600" vt100 on nomodem secure # direct connect tty
tty00 "/etc/getty std.9600" vt100 on nomodem secure # direct connect tty
tty01 "/etc/getty std.9600" vt100 off nomodem secure # direct connect tty
tty01 "/etc/getty std.9600" vt100 off nomodem secure # direct connect tty
tty02 "/etc/getty std.9600" vt100 off nomodem secure # direct connect tty
tty02 "/etc/getty std.9600" vt100 off nomodem secure # direct connect tty
tty03 "/etc/getty std.9600" vt100 off nomodem secure # direct connect tty
tty03 "/etc/getty std.9600" vt100 off nomodem secure # direct connect tty
tty04 "/etc/getty std.9600" vt100 off nomodem secure # direct connect tty
tty04 "/etc/getty std.9600" vt100 off nomodem secure # direct connect tty
tty05 "/etc/getty std.9600" vt100 off nomodem secure # direct connect tty
tty05 "/etc/getty std.9600" vt100 off nomodem secure # direct connect tty
tty06 "/etc/getty std.9600" vt100 off nomodem secure # direct connect tty
tty06 "/etc/getty std.9600" vt100 off nomodem secure # direct connect tty
tty07 "/etc/getty std.9600" vt100 off nomodem secure # direct connect tty
tty07 "/etc/getty std.9600" vt100 off nomodem secure # direct connect tty
ttyp0 none network secure
ttyp0 none network secure
ttyp1 none network secure
ttyp1 none network secure
ttyp2 none network secure
ttyp2 none network secure
ttyp3 none network secure
ttyp3 none network secure
ttyp4 none network secure
ttyp4 none network secure
ttyp5 none network secure
ttyp5 none network secure
ttyp6 none network secure
ttyp6 none network secure
ttyp7 none network secure
ttyp7 none network secure
ttyp8 none network secure
ttyp8 none network secure
ttyp9 none network secure
ttyp9 none network secure
ttypa none network secure
ttypa none network secure
ttypb none network secure
ttypb none network secure
ttypc none network secure
ttypc none network secure
ttypd none network secure
ttypd none network secure
ttype none network secure
ttype none network secure
ttypf none network secure
ttypf none network secure
ttyq0 none network secure
ttyq0 none network secure
ttyq1 none network secure
ttyq1 none network secure
ttyq2 none network secure
ttyq2 none network secure
ttyq3 none network secure
ttyq3 none network secure
ttyq4 none network secure
ttyq4 none network secure
ttyq5 none network secure
ttyq5 none network secure
ttyq6 none network secure
ttyq6 none network secure
ttyq7 none network secure
ttyq7 none network secure
ttyq8 none network secure
ttyq8 none network secure
ttyq9 none network secure
ttyq9 none network secure
ttyqa none network secure
ttyqa none network secure
ttyqb none network secure
ttyqb none network secure
ttyqc none network secure
ttyqc none network secure
ttyqd none network secure
ttyqd none network secure
ttyqe none network secure
ttyqe none network secure
ttyqf none network secure
ttyqf none network secure
#ttyv0 "/usr/bin/xterm -L -sb -rv -geometry =80x24+195+275 -d unix:0" xterm on secure window="/usr/bin/Xqdsg -fd 75 :0"
#:0 "/usr/bin/login -P /usr/bin/Xprompter -C /usr/bin/dxsession" none on secure window="/usr/bin/Xqdsg -fd 75 -bp #000080 c 70"
#xcons "/usr/bin/xcons 10 ttyv0" none on nomodem


-----------------
-----------------
Zeile 118: Zeile 135:
build GNU stuff:
build GNU stuff:


gcc-1.42:
'''gcc-1.42:'''
sh configure vax
sh configure vax
make
make
make stage1
make stage1
make CC=stage1/gcc CFLAGS="-g -O -Bstage1/"
make CC=stage1/gcc CFLAGS="-g -O -Bstage1/"


do a make install. Trust this stage.
do a make install. Trust this stage.


-------
-------
make stage2
make stage2
make CC=stage2/gcc CFLAGS="-g -O -Bstage2/"
make CC=stage2/gcc CFLAGS="-g -O -Bstage2/"


 
make CC="stage1/xgcc -Bstage1/" CFLAGS="-g -O"
 
make stage2
make CC="stage1/xgcc -Bstage1/" CFLAGS="-g -O"
make CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O"
make stage2
make compare
make CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O"
make install
make compare
make install


---------
---------


flex-2.5.4a
'''flex-2.5.4a'''
scan.c want to include stdlib.h, which does not exists.
scan.c want to include stdlib.h, which does not exists.


Zeile 146: Zeile 161:


Ultrix 3.0:
Ultrix 3.0:
flexdef.h:
flexdef.h:
add: typedef int size_t;
add: typedef int size_t;




gawk-1.01
'''gawk-1.01'''


sed-1.18
'''sed-1.18'''
bison-1.25
'''bison-1.25'''


Ultrix 3.1:
Ultrix 3.1:
Zeile 162: Zeile 177:




make-3.75
'''make-3.75'''
m4-1.4
'''m4-1.4'''
bash-1.14.7
'''bash-1.14.7'''


gcc-2.3.3
'''gcc-2.3.3'''


ultrix 3 doesn't know about atexit().
ultrix 3 doesn't know about atexit().
#undef HAVE_ATEXIT before building gcc.
#undef HAVE_ATEXIT before building gcc.


configure as vax-dec-ultrix3.1
configure as vax-dec-ultrix3.1
then do a make bootstrap
then do a make bootstrap
gcc will use the host cc to build the first stage. This works.
gcc will use the host cc to build the first stage. This works.
You can also edit the Makefile and use gcc to build the first stage: CC = gcc
You can also edit the Makefile and use gcc to build the first stage: CC = gcc




sed-3.02
'''sed-3.02'''
sed/utils.h:
sed/utils.h:
#include <sys/types.h>
#include <sys/types.h>




gzip-1.2.4a
'''gzip-1.2.4a'''


gawk-3.0.6 --disable-nls
'''gawk-3.0.6'''
protos.h:
--disable-nls
uncomment: /* extern SPRINTF_RET sprintf P((char *, const char *, ...)); */
protos.h:
needs link with -lm
uncomment: /* extern SPRINTF_RET sprintf P((char *, const char *, ...)); */
needs link with -lm
copy install-sh from gawk to /usr/local/bin/install


copy install-sh from gawk to /usr/local/bin/install
'''gcc headers:'''
there is something in sys/types.h that gcc-2.3.3 cannot compile.
Fix the "volatile" on line 80 ff and copy the custom header to the gcc include directory.


there is something in sys/types.h that gcc-2.3.3 cannot compile.
'''grep-2.3'''
Fix the "volatile" on line 80 ff and copy the custom header to the gcc include directory.


grep-2.3
'''binutils-2.7'''
binutils/arlex.c: remove includes of stdlib.h
ld/ldlex.c: remove includes of stdlib.h


binutils-2.7
On Ultrix 3.0:
binutils/arlex.c: remove includes of stdlib.h
if there are any "size_t undeclared" error, include <sys/types.h>
ld/ldlex.c: remove includes of stdlib.h


On Ultrix 3.0:
make install will fail. Copy as to /usr/local/bin/gas and ld to /usr/local/bin/gnuld.
if there are any "size_t undeclared" error, include <sys/types.h>


make install will fail. Copy as to /usr/local/bin/gas and ld to /usr/local/bin/gnuld.


'''gcc-2.7.2.3:'''
incorrectly includes stdlib.h in ../gcc-2.7.2.3/cpplib.c
on line 73.


--with-as=/usr/local/bin/gas --with-gnu-as --with-ld=/usr/local/bin/gnuld --with-gnu-ld
--enable-languages=c,c++,f77


gcc-2.7.2.3:
change Makefile: edit CC = cc to CC = gcc.
incorrectly includes stdlib.h in ../gcc-2.7.2.3/cpplib.c
stage1 gcc cannot be build with VAX cc anymore.
on line 73.
 
--with-as=/usr/local/bin/gas --with-gnu-as --with-ld=/usr/local/bin/gnuld --with-gnu-ld
--enable-languages=c,c++,f77
 
change Makefile: edit CC = cc to CC = gcc.
stage1 gcc cannot be build with VAX cc anymore.
 
Ultrix 3.0:
/home/compile/gcc-2.7.2.3/xgcc -B/home/compile/gcc-2.7.2.3/ -O -fgnu-runtime \
-c -DIN_GCC  -O -g -I./include -I. -I.. -I/home/compile/gcc-2.7.2.3 -I/home/compile/gcc-2.7.2.3/config NXConstStr.m
Assembler:
"/usr/tmp/cca25075.s", line 182: Invalid type in .stabs
make[2]: *** [NXConstStr.o] Error 1
make[2]: Leaving directory `/home/compile/gcc-2.7.2.3/objc'
make[1]: *** [libobjc.a] Error 2
make[1]: Leaving directory `/home/compile/gcc-2.7.2.3'
make: *** [bootstrap] Error 2


retry withouth gnu as: also fails...
Ultrix 3.0:
Foor some reason, ULtrix 3 and 3.1 won't build gcc-2.7.2.3.
/home/compile/gcc-2.7.2.3/xgcc -B/home/compile/gcc-2.7.2.3/ -O -fgnu-runtime \
-c -DIN_GCC  -O -g -I./include -I. -I.. -I/home/compile/gcc-2.7.2.3 -I/home/compile/gcc-2.7.2.3/config/
NXConstStr.m
Assembler:
"/usr/tmp/cca25075.s", line 182: Invalid type in .stabs
make[2]: *** [NXConstStr.o] Error 1
make[2]: Leaving directory `/home/compile/gcc-2.7.2.3/objc'
make[1]: *** [libobjc.a] Error 2
make[1]: Leaving directory `/home/compile/gcc-2.7.2.3'
make: *** [bootstrap] Error 2


gcc-2.5.8:
retry withouth gnu as: also fails...
--with-as=/usr/local/bin/gas --with-gnu-as --with-ld=/usr/local/bin/gnuld --with-gnu-ld
Foor some reason, ULtrix 3 and 3.1 won't build gcc-2.7.2.3.
--enable-languages=c
change Makefile: edit CC = cc to CC = gcc


gcc-2.6.3:
'''gcc-2.5.8:'''
--with-as=/usr/local/bin/gas --with-gnu-as --with-ld=/usr/local/bin/gnuld --with-gnu-ld
--with-as=/usr/local/bin/gas --with-gnu-as --with-ld=/usr/local/bin/gnuld --with-gnu-ld
--enable-languages=c
--enable-languages=c
change Makefile: edit CC = cc to CC = gcc
change Makefile: edit CC = cc to CC = gcc


fails to build objc in stage1.
gcc-2.6.3:
edit Makefile and remove objc from LANG
--with-as=/usr/local/bin/gas --with-gnu-as --with-ld=/usr/local/bin/gnuld --with-gnu-ld
--enable-languages=c
change Makefile: edit CC = cc to CC = gcc


fails to build objc in stage1.
edit Makefile and remove objc from LANG


make-3.79.1:
glob/fnmatch.c:
#include <sys/types.h>
#define NULL 0
do not strip the make binary. this breaks make.


function.c and job.c:
'''make-3.79.1:'''
#ifndef remove
glob/fnmatch.c:
#define remove unlink
#include <sys/types.h>
#endif
#define NULL 0
do not strip the make binary. this breaks make.


libiconv-1.9.2:
function.c and job.c:
needs some #include <sys/types.h> in files that use size_t.
#ifndef remove
#define remove unlink
#endif


'''libiconv-1.9.2:'''
needs some #include <sys/types.h> in files that use size_t.


patch-2.5.9
dirname.h:
#include <sys/types.h>


config.h
'''patch-2.5.9'''
#define HAVE_STRUCT_UTIMBUF 1
dirname.h:
#include <sys/types.h>


config.h
#define HAVE_STRUCT_UTIMBUF 1


jpeg-6b
'''jpeg-6b'''


tar-1.11.8
'''tar-1.11.8'''




'''tin-2.4.4:'''
./configure --enable-nntp-only --with-domain=pcde.inka.de --with-nntp-default-server=news.akk.org --disable-nls --with-editor=/usr/local/bin/vim --enable-broken-system-fix mips-dec-ultrix3.1


pcre/dftables.c:
Ultrix fopen() doesn't understand argument "wb".
Change to "w+"


tin-2.4.4:
add to pcre/pcre_globals.c:
./configure --enable-nntp-only --with-domain=pcde.inka.de --with-nntp-default-server=news.akk.org --disable-nls --with-editor=/usr/local/bin/vim --enable-broken-system-fix mips-dec-ultrix3.1
#include <sys/types.h>
extern void *malloc(size_t);
extern void *realloc(void *, size_t);
extern void free(void *);


pcre/dftables.c:
Ultrix fopen() doesn't understand argument "wb".
Change to "w+"


add to pcre/pcre_globals.c:
[[Kategorie: UNIX]]
#include <sys/types.h>
[[Kategorie: ULTRIX]]
extern void *malloc(size_t);
extern void *realloc(void *, size_t);
extern void free(void *);

Aktuelle Version vom 13. Mai 2019, 13:40 Uhr

ULTRIX 3 on VAX

Here, I will describe two Ultrix setups: Ultrix 3.0 on an emulated Simh VAX and Ultrix 3.1 on a real MicroVAX 3100. The emulated VAX is a lot faster than the real VAX.



restoring Ultrix 3.1 on a MicroVAX 3100

copy image to harddisk using dd
boot in single user mode:
boot/r5:2 dkb100

fsck edit /etc/fstab
edit /etc/passwd
edit /etc/group
edit /etc/ttys
edit /etc/hosts
edit /etc/resolv.conf
edit /etc/rc.local
build new kernel to recognize additional disks.
doconfig, then choose to edit config file with vi.
add: disk rz2 at scsi0 drive 2

After building a new kernel, doconfig changes /etc/rc.local and uses the ident name of the kernel configuration as the new hostname. This might break things. Check and reset to a proper hostname.


/etc/fstab:

/dev/rz9a:/:rw:49:1:ufs::
/dev/rz9g:/usr:rw:49:2:ufs::
/dev/rz9h:/usr/local:rw:98:3:ufs::
/dev/rz2a:/home:rw:98:4:ufs::



df:

Filesystem   Total    kbytes   kbytes   %  
node         kbytes   used     free     used  Mounted on
/dev/rz9a      19183    7323    9942    42%   /
/dev/rz9g     239663  129235   86462    60%   /usr
/dev/rz9h     233247   46743  163180    22%   /usr/local
/dev/rz2a     191958   72583  100180    42%   /home


The largest small 3.5" SCSI disk that is know by ULTRIX 3.1 is the RZ23. But we can just add the RZ24:

rz24|RZ24|DEC RZ24 Winchester:\
       :ty=winchester:ns#38:nt#8:nc#1348:\
       :pa#32768:ba#8192:fa#1024:\
       :pb#131072:bb#4096:fb#1024:\
       :pc#409792:bc#8192:fc#1024:\
       :pd#81984:bd#8192:fd#1024:\
       :pe#81984:be#8192:fe#1024:\
       :pf#81984:bf#8192:ff#1024:\
       :pg#245952:bg#8192:fg#1024:

This would likely work for other disks, but ULTRIX 3 very likely cannot use disks larger than 1GB. /etc/chpt works as known from ULTRIX 4.


/etc/ttys:

# 		 "@(#)ttys	4.1	(ULTRIX)	11/23/87"
#
#
#
# name	getty		type		status		comments
#
#console	"/etc/getty e" 	 dw3 		on secure	# console terminal
console	"/etc/getty std.9600" vt100 on	secure	# console terminal
tty00	"/etc/getty std.9600" vt100	on nomodem secure # direct connect tty
tty01	"/etc/getty std.9600" vt100	off nomodem secure # direct connect tty
tty02	"/etc/getty std.9600" vt100	off nomodem secure # direct connect tty
tty03	"/etc/getty std.9600" vt100	off nomodem secure # direct connect tty
tty04	"/etc/getty std.9600" vt100	off nomodem secure # direct connect tty
tty05	"/etc/getty std.9600" vt100	off nomodem secure # direct connect tty
tty06	"/etc/getty std.9600" vt100	off nomodem secure # direct connect tty
tty07	"/etc/getty std.9600" vt100	off nomodem secure # direct connect tty
ttyp0	none		network secure
ttyp1	none		network secure
ttyp2	none		network secure
ttyp3	none		network secure
ttyp4	none		network secure
ttyp5	none		network secure
ttyp6	none		network secure
ttyp7	none		network secure
ttyp8	none		network secure
ttyp9	none		network secure
ttypa	none		network secure
ttypb	none		network secure
ttypc	none		network secure
ttypd	none		network secure
ttype	none		network secure
ttypf	none		network secure
ttyq0	none		network secure
ttyq1	none		network secure
ttyq2	none		network secure
ttyq3	none		network secure
ttyq4	none		network secure
ttyq5	none		network secure
ttyq6	none		network secure
ttyq7	none		network secure
ttyq8	none		network secure
ttyq9	none		network secure
ttyqa	none		network secure
ttyqb	none		network secure
ttyqc	none		network secure
ttyqd	none		network secure
ttyqe	none		network secure
ttyqf	none		network secure

Y2K:

set the date to 9912312359.59

then continue to set the date to 12312359.59 in steps until you reach the current year.


setld -l /dev/rmt0h


build GNU stuff:

gcc-1.42:

sh configure vax
make
make stage1
make CC=stage1/gcc CFLAGS="-g -O -Bstage1/"

do a make install. Trust this stage.


make stage2
make CC=stage2/gcc CFLAGS="-g -O -Bstage2/"
make CC="stage1/xgcc -Bstage1/" CFLAGS="-g -O"
make stage2
make CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O"
make compare
make install

flex-2.5.4a scan.c want to include stdlib.h, which does not exists.

make check fails, because we have edited scan.c Trust and install anyway...

Ultrix 3.0:

flexdef.h:
add: typedef int size_t;


gawk-1.01

sed-1.18 bison-1.25

Ultrix 3.1: edit /usr/local/lib/gcc-include/stddef.h and remove definition of size_t Ultrix defines size_t in <sys/types.h> as "typedef int size_t;"

Ultrix 3.0 works fine.


make-3.75 m4-1.4 bash-1.14.7

gcc-2.3.3

ultrix 3 doesn't know about atexit().
#undef HAVE_ATEXIT before building gcc.
configure as vax-dec-ultrix3.1
then do a make bootstrap
gcc will use the host cc to build the first stage. This works.
You can also edit the Makefile and use gcc to build the first stage: CC = gcc


sed-3.02

sed/utils.h:
#include <sys/types.h>


gzip-1.2.4a

gawk-3.0.6

--disable-nls
protos.h:
uncomment: /* extern SPRINTF_RET sprintf P((char *, const char *, ...)); */
needs link with -lm
copy install-sh from gawk to /usr/local/bin/install

gcc headers:

there is something in sys/types.h that gcc-2.3.3 cannot compile.
Fix the "volatile" on line 80 ff and copy the custom header to the gcc include directory.

grep-2.3

binutils-2.7

binutils/arlex.c: remove includes of stdlib.h
ld/ldlex.c: remove includes of stdlib.h
On Ultrix 3.0:
if there are any "size_t undeclared" error, include <sys/types.h>
make install will fail. Copy as to /usr/local/bin/gas and ld to /usr/local/bin/gnuld.


gcc-2.7.2.3:

incorrectly includes stdlib.h in ../gcc-2.7.2.3/cpplib.c
on line 73.
--with-as=/usr/local/bin/gas --with-gnu-as --with-ld=/usr/local/bin/gnuld --with-gnu-ld
--enable-languages=c,c++,f77
change Makefile: edit CC = cc to CC = gcc.
stage1 gcc cannot be build with VAX cc anymore.
Ultrix 3.0:
/home/compile/gcc-2.7.2.3/xgcc -B/home/compile/gcc-2.7.2.3/ -O -fgnu-runtime \

-c -DIN_GCC -O -g -I./include -I. -I.. -I/home/compile/gcc-2.7.2.3 -I/home/compile/gcc-2.7.2.3/config/

NXConstStr.m
Assembler:
"/usr/tmp/cca25075.s", line 182: Invalid type in .stabs
make[2]: *** [NXConstStr.o] Error 1
make[2]: Leaving directory `/home/compile/gcc-2.7.2.3/objc'
make[1]: *** [libobjc.a] Error 2
make[1]: Leaving directory `/home/compile/gcc-2.7.2.3'
make: *** [bootstrap] Error 2
retry withouth gnu as: also fails...
Foor some reason, ULtrix 3 and 3.1 won't build gcc-2.7.2.3.

gcc-2.5.8:

--with-as=/usr/local/bin/gas --with-gnu-as --with-ld=/usr/local/bin/gnuld --with-gnu-ld
--enable-languages=c
change Makefile: edit CC = cc to CC = gcc
gcc-2.6.3:
--with-as=/usr/local/bin/gas --with-gnu-as --with-ld=/usr/local/bin/gnuld --with-gnu-ld
--enable-languages=c
change Makefile: edit CC = cc to CC = gcc
fails to build objc in stage1.
edit Makefile and remove objc from LANG


make-3.79.1:

glob/fnmatch.c:
#include <sys/types.h>
#define NULL 0
do not strip the make binary. this breaks make.
function.c and job.c:
#ifndef remove
#define remove unlink
#endif

libiconv-1.9.2:

needs some #include <sys/types.h> in files that use size_t.


patch-2.5.9

dirname.h:
#include <sys/types.h>
config.h
#define HAVE_STRUCT_UTIMBUF 1

jpeg-6b

tar-1.11.8


tin-2.4.4:

./configure --enable-nntp-only --with-domain=pcde.inka.de --with-nntp-default-server=news.akk.org --disable-nls --with-editor=/usr/local/bin/vim --enable-broken-system-fix mips-dec-ultrix3.1
pcre/dftables.c:
Ultrix fopen() doesn't understand argument "wb".
Change to "w+"
add to pcre/pcre_globals.c:
#include <sys/types.h>
extern void *malloc(size_t);
extern void *realloc(void *, size_t);
extern void free(void *);