From: pauls@rira3.nrl.navy.mil (Tom Pauls)
Subject: Installing g++ under ISC SysVr3.2 ver 3.0
Organization: GNUs Not Usenet
Distribution: gnu
Date: Thu, 20 Aug 1992 07:10:12 GMT

I am trying to build g++ on a 386 machine running Interactive Unix/386
System V Release 3.2 version 3.0.  I have successfully built gcc-2.2.2,
and am using it to build g++.  I am appending my log file which 
documents each step I took.  The problem I can't get around is
"BImode undeclared".  Is this something that has been removed from
gcc, but is still needed by g++?

					-Tom Pauls

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

						13 August 1992	

	1) create and fill g++-1.40.3 with tar

	2) create directory g++ and make hard links to g++-1.40.3
		with ln ../g++-1.40.3/* .

	3)in Makefile editted:
		LINK = ln
		DIR = ../gcc-2.2.2
		TDIR = ../gcc-2.2.2

	4)make maketest
		**Stops when make-link.g++ fails to find 'symout.c'
		in the gcc directory

		ACTION: there is a symout.c in g++-1.40.3 that did
		not get linked(?), so link it into ./g++ and remove
		the entry in ./make-link.g++

	5)make maketest
		**Stops
		./make-links.g++: unable to link `../gcc-2.2.2/symseg.h'.
		so we put a copy in gcc-2.2.2

	6)make maketest
		**Stops
		./make-links.g++: unable to link `../gcc-2.2.2/gdbfiles.h'.

						14 August 1992

		ACTION:  Find that the GDB mode is no longer used
		in toplev, therefore, remove references to symout.c,
		symseg.h and gdbfiles.h in make-links.g++.

	7)make maketest
	        **Stops
		/make-links.g++: unable to link `../gcc-2.2.2/stddef.h

		ACTION: remove reference in make-links.g++ so that
		system stddef.h gets used instead.

	8)make maketest
		!!Success!!

	9)Now make hard links to gcc-2.2.2/config.

	10)config.g++
		**Stops
		Linked `config.h' to `./config/xm-i386v.h'.
		config.g++: cannot create a link `tm.h',
		since the file `config/tm-i386gas.h' does not exist.

		ACTION: copied config/i386gas.h to tm.h

	11)config.g++
		**Stops
		config.g++: cannot create a link `aux-output.c',
		since the file `config/out-i386.c' does not exist.

		ACTION: copied i386.c to out-i386.c

	12)config.g++
		config.g++ i386-sysv-gas
		Linked `config.h' to `./config/xm-i386v.h'.
		Linked `tm.h' to `./config/tm-i386gas.h'.
		Linked `md' to `./config/i386.md'.
		Linked `aux-output.c' to `./config/out-i386.c'.
		Links are now set up for use with a i386-sysv-gas.
		!!Success!!

	13)Edit Makefile
		changed all: to
		all: crt1+.o g++ cc1plus ld++ g++filt

	14)make
		bison not found

		ACTION: fix path in Makefile

	15)make
		/usr/local/bin/bison: cplus-tab.output: Filename too long

		ACTION: remove -v bison option

	16)make
		getc and putc not found by ld

		ACTION: add CLIB = -lcposix to Makefile

	17)make
		**Stops
		In file included from cplus-decl.c:37:
		rtl.h:21: machmode.h: No such file or directory

		ACTION: copy machmode.h from ../gcc-2.2.2

	18)make
gcc -c -g -DGATHER_STATISTICS -DNO_DYNAMIC_LIBS -O -B../gcc-2.2.2/  -I.
-I. -I./config cplus-decl.c
cplus-decl.c: In function `init_decl_processing':
cplus-decl.c:2425: warning: passing arg 2 of `signal' from incompatible pointer
type
cplus-decl.c: In function `hack_incomplete_structures':
cplus-decl.c:8635: warning: comparison is always 1 due to limited range of data
type
        gcc -c -g -DGATHER_STATISTICS -DNO_DYNAMIC_LIBS -O -B../gcc-2.2.2/ -I. -
I. -I./config  toplev.c
toplev.c: In function `compile_file':
toplev.c:1198: structure has no member named `_bufsiz'
toplev.c:1198: structure has no member named `_bufsiz'
toplev.c:1214: structure has no member named `_bufsiz'
toplev.c:1217: structure has no member named `_bufsiz'
toplev.c:1222: structure has no member named `_bufsiz'
toplev.c: In function `rest_of_compilation':
toplev.c:1654: `warn_return_type' undeclared (first use this function)
toplev.c:1654: (Each undeclared identifier is reported only once
toplev.c:1654: for each function it appears in.)
toplev.c: In function `main':
toplev.c:2066: warning: assignment from incompatible pointer type
*** Error code 1

		ACTION:  The system V struct FILE does not contain
		the member _bufsiz, so put another guard around these
		statements along with #ifndef VMS and MASSCOMP.
		I used #ifndef i386, although there may be a better one.

	19)make
toplev.c: In function `rest_of_compilation':
toplev.c:1658: `warn_return_type' undeclared (first use this function)
toplev.c:1658: (Each undeclared identifier is reported only once
toplev.c:1658: for each function it appears in.)
toplev.c: In function `main':
toplev.c:2070: warning: assignment from incompatible pointer type
*** Error code 1

		ACTION: added extern int warn_return_type; to
		        beginning of toplev.c

	20)make
toplev.c: In function `main':
toplev.c:2071: warning: assignment from incompatible pointer type

tree.c: In function `get_unwidened':
tree.c:2542: `BImode' undeclared (first use this function)
tree.c:2542: (Each undeclared identifier is reported only once
tree.c:2542: for each function it appears in.)
tree.c: In function `get_narrower':
tree.c:2621: `BImode' undeclared (first use this function)
*** Error code 1

		ACTION: unknown