[comp.unix.sysv386] Yet Another GCC 1.39 and Sys Vr4 problem.

jim@ferkel.ucsb.edu (Jim Lick) (05/03/91)

*I posted this to gnu.gcc.help, but haven't received a response yet.  I'm*
*reposting to comp.unix.sysv386, as I forgot to do this for the original!*

Hello.  I have UHC SVR4.0 version 2.0.  I have been attempting to build gcc
1.39 on this system.  From recent discussion, I was under the impression
that this version would build with no problems on my system.  However, it
appears to not be the case quite yet.  

Here is what I am doing:

1) Edit the Makefile to change INSTALL and CLIB as noted therein.

2) config.gcc i386-sysv4

3) make

In the make, I first of all get many warnings about the tm-i386.h files,
complaining about 'invalid white space character in directive'  I'm not sure
what this is supposed to mean, as I thought white space is white space and
is always ignored.  It must mean something other than what I'm thinking.
Anyways, that doesn't seem to cause any problems, but then when it gets to
compiling hard-params.c, it chokes saying that long doubles are not yet
supported.  I don't feel confident about playing with the code without some
hints from the net at least.

If anyone recognizes these problems and know what I need to do about them,
or suggestions, or whatever, please do!  I'm used to gcc on the
sparcstations, so I am really looking forward to having it at home too!

Also, I am curious as to what version of the AT&T base Dell used to port to,
and whether or not they made changes to the AT&T compiler to get gcc to
work?

Attached below is the log of the make, as done by the standard compiler.  I
also tried the berkeley compiler, but same results.  (I gather from the docs
that only the library loading order and include files are different for
between the two.)

Thanks in advance for the help!

PS- When will the GNU OS be out?  :)

                            Jim Lick		       
Work: University of California	| Home: 6657 El Colegio #24
      Santa Barbara		|       Isla Vista, CA 93117-4280
      Dept. of Mechanical Engr. |	(805) 968-0189 voice/msg
      2311 Engr II Building     |	(805) 968-1239 data 
      (805) 893-4113            |	(805) 968-2734 fax
      jim@ferkel.ucsb.edu	|	Soon: jim@cave.sba.ca.us  

	/bin/cc -g  -I. -I. -I./config \
	  -DSTANDARD_STARTFILE_PREFIX=\"/usr/local/lib/\" \
	  -DSTANDARD_EXEC_PREFIX=\"/usr/local/lib/gcc-\" -c \
	  `echo ./gcc.c | sed 's,^\./,,'`
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config version.c
	/bin/cc -c -g   -I. -I. -I./config obstack.c
	/bin/cc -g   -o gccnew gcc.o version.o obstack.o   -lc /usr/ucblib/libucb.a
	mv gccnew gcc
	/bin/cc -g   -I. -I. -I./config -c ./c-parse.tab.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
"ccdir/c-parse.y", line 1997: warning: semantics of ">=" change in ANSI C; use explicit cast
"ccdir/c-parse.y", line 1999: warning: semantics of "<=" change in ANSI C; use explicit cast
"ccdir/c-parse.y", line 2602: warning: semantics of "/" change in ANSI C; use explicit cast
"ccdir/c-parse.y", line 2701: warning: semantics of ">=" change in ANSI C; use explicit cast
	/bin/cc -c -g   -I. -I. -I./config c-decl.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
"c-decl.c", line 3300: warning: semantics of ">" change in ANSI C; use explicit cast
"c-decl.c", line 3401: warning: semantics of "<" change in ANSI C; use explicit cast
	/bin/cc -c -g   -I. -I. -I./config c-typeck.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
"c-typeck.c", line 540: warning: semantics of "<=" change in ANSI C; use explicit cast
"c-typeck.c", line 543: warning: semantics of "<=" change in ANSI C; use explicit cast
"c-typeck.c", line 546: warning: semantics of "<=" change in ANSI C; use explicit cast
"c-typeck.c", line 549: warning: semantics of "<=" change in ANSI C; use explicit cast
"c-typeck.c", line 552: warning: semantics of "<=" change in ANSI C; use explicit cast
"c-typeck.c", line 1570: warning: semantics of "<=" change in ANSI C; use explicit cast
	/bin/cc -c -g   -I. -I. -I./config c-convert.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
"c-convert.c", line 193: warning: semantics of ">=" change in ANSI C; use explicit cast
"c-convert.c", line 196: warning: semantics of ">=" change in ANSI C; use explicit cast
"c-convert.c", line 216: warning: semantics of ">" change in ANSI C; use explicit cast
"c-convert.c", line 216: warning: semantics of ">" change in ANSI C; use explicit cast
"c-convert.c", line 311: warning: semantics of ">" change in ANSI C; use explicit cast
"c-convert.c", line 311: warning: semantics of ">" change in ANSI C; use explicit cast
	/bin/cc -c -g   -I. -I. -I./config toplev.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
"toplev.c", line 1764: warning: argument is incompatible with prototype: arg #2
"toplev.c", line 1766: warning: argument is incompatible with prototype: arg #2
	/bin/cc -c -g   -I. -I. -I./config tree.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
"tree.c", line 2033: warning: semantics of ">" change in ANSI C; use explicit cast
"tree.c", line 2045: warning: semantics of ">" change in ANSI C; use explicit cast
"tree.c", line 2061: warning: semantics of "<=" change in ANSI C; use explicit cast
"tree.c", line 2090: warning: semantics of "<" change in ANSI C; use explicit cast
"tree.c", line 2167: warning: semantics of "<" change in ANSI C; use explicit cast
	/bin/cc -c -g   -I. -I. -I./config print-tree.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
"print-tree.c", line 205: warning: integer overflow detected: op "<<"
	/bin/cc -c -g   -I. -I. -I./config stor-layout.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
"stor-layout.c", line 401: warning: semantics of ">" change in ANSI C; use explicit cast
"stor-layout.c", line 512: warning: semantics of ">" change in ANSI C; use explicit cast
"stor-layout.c", line 601: warning: semantics of "<" change in ANSI C; use explicit cast
"stor-layout.c", line 688: warning: semantics of ">" change in ANSI C; use explicit cast
"stor-layout.c", line 694: warning: semantics of ">" change in ANSI C; use explicit cast
"stor-layout.c", line 702: warning: semantics of ">" change in ANSI C; use explicit cast
"stor-layout.c", line 728: warning: semantics of ">" change in ANSI C; use explicit cast
"stor-layout.c", line 908: warning: semantics of "/" change in ANSI C; use explicit cast
	/bin/cc -c -g   -I. -I. -I./config fold-const.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config rtl.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config rtlanal.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config genflags.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -g   -o genflags genflags.o rtl.o obstack.o   -lc /usr/ucblib/libucb.a
	./genflags md > tmp-flags.h
	./move-if-change tmp-flags.h insn-flags.h
	touch stamp-flags
	/bin/cc -c -g   -I. -I. -I./config gencodes.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -g   -o gencodes gencodes.o rtl.o obstack.o   -lc /usr/ucblib/libucb.a
	./gencodes md > tmp-codes.h
	./move-if-change tmp-codes.h insn-codes.h
	touch stamp-codes
	/bin/cc -c -g   -I. -I. -I./config genconfig.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -g   -o genconfig genconfig.o rtl.o obstack.o   -lc /usr/ucblib/libucb.a
	./genconfig md > tmp-config.h
	./move-if-change tmp-config.h insn-config.h
	touch stamp-config
	/bin/cc -c -g   -I. -I. -I./config expr.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
"expr.c", line 3126: warning: semantics of "/" change in ANSI C; use explicit cast
	/bin/cc -c -g   -I. -I. -I./config stmt.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
"stmt.c", line 1991: warning: semantics of "/" change in ANSI C; use explicit cast
	/bin/cc -c -g   -I. -I. -I./config expmed.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config explow.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config optabs.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config varasm.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
"varasm.c", line 504: warning: semantics of "/" change in ANSI C; use explicit cast
"varasm.c", line 553: warning: semantics of ">=" change in ANSI C; use explicit cast
"varasm.c", line 833: warning: semantics of "/" change in ANSI C; use explicit cast
	/bin/cc -c -g   -I. -I. -I./config symout.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
"symout.c", line 404: warning: semantics of "/" change in ANSI C; use explicit cast
	/bin/cc -c -g   -I. -I. -I./config dbxout.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config sdbout.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config emit-rtl.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config genemit.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -g   -o genemit genemit.o rtl.o obstack.o   -lc /usr/ucblib/libucb.a
	./genemit md > tmp-emit.c
	./move-if-change tmp-emit.c insn-emit.c
	touch stamp-emit
	/bin/cc -g  -I. -I. -I./config -c insn-emit.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config integrate.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config jump.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config cse.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config loop.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config flow.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config stupid.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config combine.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config regclass.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config local-alloc.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config global-alloc.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config reload.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config reload1.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config caller-save.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config genpeep.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -g   -o genpeep genpeep.o rtl.o obstack.o   -lc /usr/ucblib/libucb.a
	./genpeep md > tmp-peep.c
	./move-if-change tmp-peep.c insn-peep.c
	touch stamp-peep
	/bin/cc -g  -I. -I. -I./config -c insn-peep.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config final.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config recog.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config genrecog.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -g   -o genrecog genrecog.o rtl.o obstack.o   -lc /usr/ucblib/libucb.a
	./genrecog md > tmp-recog.c
	./move-if-change tmp-recog.c insn-recog.c
	touch stamp-recog
	/bin/cc -g  -I. -I. -I./config -c insn-recog.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config genextract.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -g   -o genextract genextract.o rtl.o obstack.o   -lc /usr/ucblib/libucb.a
	./genextract md > tmp-extract.c
	./move-if-change tmp-extract.c insn-extract.c
	touch stamp-extract
	/bin/cc -g  -I. -I. -I./config -c insn-extract.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -c -g   -I. -I. -I./config genoutput.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -g   -o genoutput genoutput.o rtl.o obstack.o   -lc /usr/ucblib/libucb.a
	./genoutput md > tmp-output.c
	./move-if-change tmp-output.c insn-output.c
	touch stamp-output
	/bin/cc -g  -I. -I. -I./config -c insn-output.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -g   -o cc1 c-parse.tab.o c-decl.o c-typeck.o c-convert.o toplev.o version.o tree.o print-tree.o stor-layout.o fold-const.o  rtl.o rtlanal.o expr.o stmt.o expmed.o explow.o optabs.o varasm.o  symout.o dbxout.o sdbout.o emit-rtl.o insn-emit.o  integrate.o jump.o cse.o loop.o flow.o stupid.o combine.o  regclass.o local-alloc.o global-alloc.o reload.o reload1.o caller-save.o  insn-peep.o final.o recog.o insn-recog.o insn-extract.o insn-output.o obstack.o   -lc /usr/ucblib/libucb.a
	/bin/cc -g  -I. -I. -I./config \
	          -DGCC_INCLUDE_DIR=\"/usr/local/lib/gcc-include\" \
	          -DGPLUSPLUS_INCLUDE_DIR=\"/usr/local/lib/g++-include\" \
	  -c `echo ./cccp.c | sed 's,^\./,,'`
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
"cccp.c", line 607: warning: argument is incompatible with prototype: arg #2
"cccp.c", line 1080: warning: trigraph sequence replaced
"cccp.c", line 1811: warning: ANSI C treats constant as unsigned: op "%"
"cccp.c", line 5107: warning: ANSI C treats constant as unsigned: op "%"
	/bin/cc -g   -I. -I. -I./config -c ./cexp.c
"./config/tm-i386.h", line 536: warning: invalid white space character in directive
	/bin/cc -g   -o cccp cccp.o cexp.o version.o obstack.o   -lc /usr/ucblib/libucb.a
	rm -f cpp
	ln cccp cpp
	make hard-params
	cp ./hard-params.c . > /dev/null 2>&1
*** Error code 2 (bu21) (ignored)
	/bin/cc   -DNO_SC -c hard-params.c
"hard-params.c", line 228: warning: argument is incompatible with prototype: arg #2
"hard-params.c", line 356: warning: argument is incompatible with prototype: arg #2
"hard-params.c", line 512: "long double" not yet supported
"hard-params.c", line 616: warning: semantics of ">>" change in ANSI C; use explicit cast
"hard-params.c", line 616: warning: semantics of ">>" change in ANSI C; use explicit cast
"hard-params.c", line 617: warning: semantics of ">>" change in ANSI C; use explicit cast
"hard-params.c", line 617: warning: semantics of ">>" change in ANSI C; use explicit cast
"hard-params.c", line 618: warning: semantics of ">>" change in ANSI C; use explicit cast
"hard-params.c", line 618: warning: semantics of ">>" change in ANSI C; use explicit cast
*** Error code 1 (bu21)

make: fatal error.
*** Error code 1 (bu21)

make: fatal error.

toma@swsrv1.cirr.com (Tom Armistead) (05/03/91)

In article <10990@hub.ucsb.edu> jim@ferkel.ucsb.edu (Jim Lick) writes:
>*I posted this to gnu.gcc.help, but haven't received a response yet.  I'm*
>*reposting to comp.unix.sysv386, as I forgot to do this for the original!*
>
>Hello.  I have UHC SVR4.0 version 2.0.  I have been attempting to build gcc
>1.39 on this system.  From recent discussion, I was under the impression
>that this version would build with no problems on my system.  However, it
>appears to not be the case quite yet.  
>
>Here is what I am doing:
>
>1) Edit the Makefile to change INSTALL and CLIB as noted therein.
>
>2) config.gcc i386-sysv4
>
>3) make
>
   lots of stuff deleted...

I had ALL the same experiences that you speek of using DELL's Sys Vr4.?.

1.   The warning messages don't hurt anything.
1.5. It seems that that C compiler doesn't like '^L' in the source file?
     I just editted it out.
2.   The hard-parms.c error requires you to edit that file and take out the
     define for 'long double' types (just define them a plain double).
     hard-parms.c is rebuilt by the Makefile, so run make and edit the file
     after you get the error and then re-run make. (Seems like there were 2
     places in the file where you had to do this?)
3.   Now I was able to re-compile gcc with itself, but the '-g' option is not
     supported under Release 4 (at least not yet).  So no debugging - your code
     has to be perfect (like mine %^#^(*^&$&).

Tom
-- 
Tom Armistead - Software Services - 2918 Dukeswood Dr. - Garland, Tx  75040
===========================================================================
toma@swsrv1.cirr.com                {egsner,letni,ozdaltx,void}!swsrv1!toma

tony@mcrsys.UUCP (Tony Becker) (05/04/91)

From article <10990@hub.ucsb.edu>, by jim@ferkel.ucsb.edu (Jim Lick):
> Hello.  I have UHC SVR4.0 version 2.0.  I have been attempting to build gcc
> 1.39 on this system.  From recent discussion, I was under the impression
> that this version would build with no problems on my system.  However, it
> appears to not be the case quite yet.  

 No, it doesn't work 'Out of the Box', but the solutions are quite trivial.
 The hardest part is actually waiting for the sources to recompile each
 time you type 'make'. Is the Makefile set for GNU Make?

> 
> ....
>
> 	/bin/cc -g   -I. -I. -I./config -c ./c-parse.tab.c
> "./config/tm-i386.h", line 536: warning: invalid white space character in directive

 I didn't remember this warning until I looked at the code, and I didn't
 check in the file B4 I changed it 8-(. Remove the '^L' (formfeed) charactor.

> 	/bin/cc   -DNO_SC -c hard-params.c
> "hard-params.c", line 228: warning: argument is incompatible with prototype: arg #2
> "hard-params.c", line 356: warning: argument is incompatible with prototype: arg #2
> "hard-params.c", line 512: "long double" not yet supported
> "hard-params.c", line 616: warning: semantics of ">>" change in ANSI C; use explicit cast
> "hard-params.c", line 616: warning: semantics of ">>" change in ANSI C; use explicit cast
> "hard-params.c", line 617: warning: semantics of ">>" change in ANSI C; use explicit cast
> "hard-params.c", line 617: warning: semantics of ">>" change in ANSI C; use explicit cast
> "hard-params.c", line 618: warning: semantics of ">>" change in ANSI C; use explicit cast
> "hard-params.c", line 618: warning: semantics of ">>" change in ANSI C; use explicit cast
> *** Error code 1 (bu21)
> 
> make: fatal error.
> *** Error code 1 (bu21)
> 
> make: fatal error.

  Look at line 512 and realize that your cc compiler hates 'long double'.
  So change it (and the define of 'Number' around line 955).

/* Long_double is the longest floating point type available: */
/* my AT&T STDC cc compiler hates this - tony */
#if defined(__STDC__) && defined(notdef)
#define Long_double long double
#else
#define Long_double double
#endif

#ifdef __STDC__
#define Number Long_double
#endif

 and proceed.....
-- 
tony ,....