According to Paul Doerwald:
Try 'touch'ing parse.c and parse.y, so that the two of them both get recompiled. Maybe that will help.
Indeed: `parse.c' and `parse.h' in `gpc-980511.tar.gz' are broken. Sorry for that. I am uploading a fixed archive now which differs from the previous one in that it expands to a subdirectory `gpc' rather than `gpc-980511'. (I hope this will not do any harm.;-)
Now I did as you suggested yesterday and deleted the *.gpi files also. I got an interesting error about a pascal file in the p/rts subdirectory.
This is the output:
../../xgpc -B../../ --automake -c -DGPC -Wall -Wpointer-arith -Wmissing -prototypes -Wmissing-declarations -g -I. -I../.. -I/export/home/local/src/GNU /gcc-2.8.1/p/rts/../.. -I/export/home/local/src/GNU/gcc-2.8.1/p/rts/../../config rts-move.p rts-move.p:33: no exported interface matching `Rts_base' rts-move.p: In function `Merge': rts-move.p:53: undeclared identifier `Words_big_endian' (first use this function ) rts-move.p:53: (Each undeclared identifier is reported only once rts-move.p:53: for each function it appears in.) rts-move.p:54: condition must be of Boolean type rts-move.p: In function `Moveleft': rts-move.p:89: undeclared identifier `Need_word_alignment' (first use this funct ion) rts-move.p:89: condition must be of Boolean type rts-move.p:94: warning: cast increases required alignment of target type rts-move.p:95: warning: cast increases required alignment of target type rts-move.p:99: warning: cast increases required alignment of target type rts-move.p:100: warning: cast increases required alignment of target type rts-move.p:102: warning: cast increases required alignment of target type rts-move.p:103: warning: cast increases required alignment of target type rts-move.p:106: warning: cast increases required alignment of target type rts-move.p:123: warning: cast increases required alignment of target type
It seems that rts_base.p didn't get compiled. So I manually typed the lengthy command line above but compiled rts_base.p instead. I got this message:
rts-base.p:56: warning: no previous prototype for `__init_Rts_base'
but it seems to have compiled the unit.
Then I retried to compile the other file, rts-move.p
(manually at this stage again)
Then it gave me the same automake error again as before:
gpc1: installation problem, cannot exec `gpc': No such file or directory gpc1: gpc exited with status 255 gpi-hash.c:329: failed assertion `rp == 0' xgpc: Internal compiler error: program gpc1 got fatal signal 6
Ok, I'm putting a copy of xgpc linked as gpc... Another make LANGUAGES="pascal"
There are a number of warnings (do you need them?), but mainly there is this error:
gpc: installation problem, cannot exec `gpc-cpp': No such file or directory
However compilation is proceeding still... Other warnings about type mismatch in implicit declaration for built-in functions sqrtl,sinl, cosl in rts-emath.c.
I'll post later with the results - it's still proceeding right now as I type.
Regards,
Clyde Meli
On Thu, 14 May 1998, Clyde Meli wrote:
It seems that rts_base.p didn't get compiled. So I manually typed the lengthy command line above but compiled rts_base.p instead. I got this message:
rts-base.p:56: warning: no previous prototype for `__init_Rts_base'
but it seems to have compiled the unit....
I have similar problems with rts under IRIX. Obviously the current version of gpc is very platform dependent. I suggest to make a collection of failed compilations on different platforms. It could be easier to locate the missing bit thereafter.
Here is my story:
OS: IRIX 6.2, patch level: 04/98 Native compiler: IRIX development option 7.1 Make tool: GNU 3.76.1 GCC: 2.8.1 GPC: gpc-980511
Configure options: none (default for mips-sgi-irix6.2)
Command I: "make bootstrap LANGUAGES=c BOOT_CFALGS=-O2" Result: no problem
Command II: "make compare" Result: no errors reported, the gcc is OK after stage2
Command III: "make CC="stage2/xgcc -Bstage2/" LANGUAGES=pascal CFLAGS=-O2" Result: the compilation is complete, but not successful. A few warning mostly around the rts. The resulted xgpc is not able to compile the p/test/extended_pascal examples:
Command IV (from p/test/extended_pascal): ../../../xgpc -B../../../. abs.pas -o abs -v
Result: warnings from ld, compilation aborted ld: ERROR 33: Unresolved text symbol "_p_stdout" -- 1st referenced by /var/tmp/cca005os1.o. ld: ERROR 33: Unresolved text symbol "_p_write" -- 1st referenced by /var/tmp/cca005os1.o. ld: ERROR 33: Unresolved text symbol "_p_collect_flag" -- 1st referenced by /var/tmp/cca005os1.o. ld: ERROR 33: Unresolved text symbol "_p_initialize" -- 1st referenced by /var/tmp/cca005os1.o. ld: ERROR 33: Unresolved text symbol "_p_finalize" -- 1st referenced by /var/tmp/cca005os1.o. ld: ERROR 33: Unresolved text symbol "Gpc_debug" -- 1st referenced by dist/libgpc.a(rts-misc.o). ld: ERROR 33: Unresolved text symbol "Gpc_c_list" -- 1st referenced by dist/libgpc.a(rts-misc.o). ld: ERROR 33: Unresolved text symbol "_p_GLOBAL" -- 1st referenced by dist/libgpc.a(rts-heap.o). ld: ERROR 33: Unresolved text symbol "_p_fflush" -- 1st referenced by dist/libgpc.a(rts-error.o). ld: ERROR 33: Unresolved text symbol "Gpc_warn" -- 1st referenced by dist/libgpc.a(rts-error.o). ld: INFO 60: Output file removed because of error.
I am sure, something is missing from my platform specific Makefile that is there on Peter's machine and some other Linux box, but nowhere else. So the resulting rts is not functional after the compilation.
miklos
Miklos Cserzo University of Birmingham c/o School of Biochemistry MRC - Bioinformatics Project Tel: +44-121-414-4090 Schools of Biochemistry, Biology and Medicine Fax: +44-121-414-3982 Edgbaston, Birmingham B15 2TT E-mail: miklos@bip.bham.ac.uk United Kingdom
Hi, Miklos! Hi, folks!
According to Miklos Cserzo:
Command IV (from p/test/extended_pascal): ../../../xgpc -B../../../. abs.pas -o abs -v
Result: warnings from ld, compilation aborted ld: ERROR 33: Unresolved text symbol "_p_stdout" -- 1st referenced by /var/tmp/cca005os1.o.
Looks like a missing (or wrong version of) `libgpc.a'. What about
../../../xgpc -B../../.. -L../../.. abs.pas -o abs -v or ../../../xgpc -B../../.. -L../../.. abs.pas -o abs -v -lgpc ?
I am sure, something is missing from my platform specific Makefile that is there on Peter's machine and some other Linux box, but nowhere else. So the resulting rts is not functional after the compilation.
Maybe the problem is that there is always an almost-up-to-date version of `libgpc.a' and the various stages of the compiler in a directory accessible to `xgpc' on my machine. #-)
Peter
According to Clyde Meli:
../../xgpc -B../../ --automake -c -DGPC -Wall -Wpointer-arith -Wmissing -prototypes -Wmissing-declarations -g -I. -I../.. -I/export/home/local/src/GNU /gcc-2.8.1/p/rts/../.. -I/export/home/local/src/GNU/gcc-2.8.1/p/rts/../../config rts-move.p rts-move.p:33: no exported interface matching `Rts_base'
Ugh - there is an error in rts-move.p: Please change
uses RTS_Base;
to
uses RTS_Base in 'rts-base.p';
in line 33.
Peter