Path: utzoo!utgpu!watmath!uunet!tut.cis.ohio-state.edu!rutgers!labrea!decwrl!sgi!arisia!jlevy
From: jlevy@arisia.Xerox.COM (Jacob Levy)
Newsgroups: gnu.g++
Subject: G++ installation problem - my experiences
Summary: Same problem on Sun 3/260 & 3.5
Keywords: C++, GNU G++
Message-ID: <461@arisia.Xerox.COM>
Date: 1 Dec 88 00:47:13 GMT
References: <10346@swan.ulowell.edu>
Reply-To: jlevy@arisia.xerox.com (Jacob Levy)
Distribution: gnu
Organization: Xerox PARC
Lines: 62

Environment: Sun 3/260 with SunOS 3.5.

I have gcc 1.31 compiled without problem (including stage1 and
stage2), and retrieved g++ 1.27. Then, I followed the
instructions in g++/README, except for making symbolic links to
configure the system (after the whole-sale symbolic linking
phase). Instead, I ran the shell script gcc.config with 'sun3'
which set up things for me.

I also had the MAX_SETS_PER_INSN problem. This constant is not
mentioned anywhere else in g++ or gcc-1.31. I simply defined it
to be 16, inside an #ifndef MAX_SETS_PER_INSN. I know this is
probably incorrect, but, what the heck..

The second problem was with loop.c, where the
flag_strength_reduce variable is used. It turns out that this is
defined in gcc-1.31/flags.h but not in g++/flags.h. Replacing the
link between flags.h and g++/flags.h with a link to
gcc-1.31/flags.h fixed this problem.

The third problem was in init.c. Around line 1866 there's an #ifdef
SOS which gets strange parsing errors, and likewise for the
#ifdef starting around line 1940. Bracketing those with #ifdef
NOTDEF solved those problems. Heck, talk about brute force
lobotomy..

Function stash_inline_prefix in method.c was declared both extern
and static. gcc complains...

Function build_up_reference in convert.c was declared both extern
and static. gcc complains...

Finally, upon loading c++, a list of undefined references is
printed as follows:

_check_newline
_finput
_init_lex
_lineno
___eprintf
_token_buffer
_reinit_parse_for_function
_check_for_missing_semicolon
_yylex
_make_reference_declarator
_make_pointer_declarator
_combine_strings
_reinit_parse_for_method
_ridpointers
_do_pending_inlines
_operator_name_string
_build_operator_fnname
_set_float_handler
_emit_note_force
_gen_extend_insn
_flag_strength_reduce
_error_for_asm
_current_function_returns_struct

Finnaly, to add insult to injury, gcc dies with a fatal error 11
in this loading phase..

--Jacob