Installing g++-1.39 on an IRIS + problems
Roberto Togneri
robert at swanee.ee.uwa.oz.au
Wed Mar 20 15:03:40 AEST 1991
I have finally managed to get g++-1.39.0 up and running on an iris. Alas it
fails the make tests that come with libg++-1.39.0. The failures are too many
to describe here, suffice to say it does compile, link and produce executable
binaries (it also passes the "Hello world" test). I'll include information on
how I installed g++-1.39.0
and maybe somebody out there can tell me what I did wrong or what is wrong
with g++ for mips based machines.
I know of the OSF version of g++-1.37 which is for mips machines; do make tests
pass with that version?
I am using a 4D/20 iris running IRIS 3.1d OS. gcc-1.39 was successfully
installed (well I think it was); GNU AS (GAS) and GNU LD were not installed.
The 'collect' program was used with the system ld.
Here is how I got g++-1.39 to work on Silicon Graphics IRIS running
IRIS 3.1d. Some of these steps may be unnecessary but after several
unsuccessful attempts I'm not going to worry but the optimal installation!
1. Install gcc-1.39.
It is important that the gcc sources are available for g++.
2. You need to create create the cplus-tab.c cplus-tab.h and
cplus-tab.out from bison. To install bison you need alloca which
the IRIS doesn't have. However this may not be necessary if you use
gcc (?). I just compiled bison on a Sun Sparc. Apparently
the unix yacc doesn't work. Once these files have been made you can
remove bison (but keep the sources; you never know).
2. Edit the g++ Makefile as follows:
- if you don't have a gcc-test directory edit the TDIR variable to:
TDIR=../gcc
- use the COFF 'collect' program by uncommenting the lines:
COFFLAGS = -DUSE_COLLECT -DEXTENDED_COFF (line 45)
all: g++ cc1plus collect # crt0+.o crt1+.o (line 214)
- also uncomment:
USG_STDIO = -DUSG_STDIO (line 78)
- change the collect make lines to (lines 287-294):
collect: collect.c config.h $(LIBDEPS)
COLLECT_LIBS="-lmld"; \
if cmp -s tm.h config/tm-encore.h; then \
COLLECT_OPTIONS='-DUMAX'; \
else \
COLLECT_OPTIONS='-DCOLLECT'; \
fi; \
$(CC) -o collect $(PROFILE) $$COLLECT_OPTIONS $(CFLAGS) $(INCLUDES) collect.c -lg -lc $$COLLECT_LIBS
- you must compile g++ using gcc (I had problems with the compiler
options using the normal unix cc).
- make any changes to the variables defining the location of the g++
binaries, libraries, etc.
2b. edit collect.c and change the following (I think this is right):
enum { mips_sections, cur_section }; (line 79)
3. Now follow the steps in the g++ README which includes:
- running make maketest
- running config-g++ (config-g++ iris)
4. OK you should now be able to make g++ by typing "make"
5. To install do: make install
7. Get libg++-1.39.0. It'll test out g++. Edit the Makefile and define both
USG and COFF_ENCAPSULATE. The bcopy.c in the src directory will have to
edited (line 5):
void bcopy (char *source, char *dest, int count)
--
Dr. Roberto Togneri Phone: +61-9-380-2535
Dept. of Electrical & Electronic Engineering
The University of Western Australia Fax: +61-9-380-1065
NEDLANDS WA 6009 Australia Email: robert at swanee.ee.uwa.oz.au
More information about the Comp.sys.sgi
mailing list