This seems an unlikely problem, but I'm actually confounded by it: I can't compile GPC. I've tried a number of different combinations, and it always fails with an abort, a core dump, and an Error 2 on rts-base.p. If I run the xgpc I have on a hello world program, it fails with a core dump.
I'd tell you about what version this happened on, but as ftp logs to agnes.dida... will reveal, I have downloaded and tried countless combinations including:
gcc 2.8.1 with gpc 980501 gcc 2.8.0 with gpc 980501 gcc 2.8.0 with gpc 980401, and then diffed with 980405
I also downloaded the binary for 980420, and even that came back with numerous errors on a hello-world compile.
I'm running a plain Red Hat Linux 5.0 system (glibc2?) on a 486-DX50. The binary for 980420 came in a package with i586 in it, but I don't imagine that should make any difference...
I've followed the instructions in the readme in /gnu-pascal/alpha on agnes, but it constantly fails.
Here's the errors for a hello world program using the binary for 980420:
pollux:~>gpc hello.pas /tmp/cca08381.i:1: numeric constant with no digits /tmp/cca08381.i:1: numeric constant with no digits /tmp/cca08381.i:1: invalid #line /tmp/cca08381.i:2: warning: missing program header /tmp/cca08381.i:2: parse error at null character
The source for the program:
program hello;
begin writeln ('hello, world!'); end.
I don't see a problem...
The error I'm getting with 980405 and 2.8.0 is this:
make[1]: Entering directory `/usr/src/gcc-2.8.0/p/rts' ../..xgpc -B../../ --automake -c -DGPC -Wall -Wpointer-arith -Wmissing-prototypes -Wmissing-declarations -g -I. -I../.. -I/usr/src/gcc-2.8.0/p/rts/../.. -I/usr/src/gcc-2.8.0/p/rts/../../config rts-base.p make[1]: *** [rts-base.o] Aborted (core dumped) make[1]: leaving directory `/usr/src/gcc-2.8.0/p/rts' make: *** [libgpc.a] Error 2
This happens all the time. Once, the compile failed on parse.y, complaining about too many parameters in a function that ended up not existing on either line pointed to by the compiler, but about 10 lines lower down. I changed it, changed it back, and compiled, and it worked... ???
I have in the past successfully compiled gpc-2.0 on a RedHat Linux 4.1 machine
Thanks for your help! At this point, I'd be happy with a working binary for my machine attached to a message (compiling on a 486 is SLOOOOW!)
| clavicle@niagara.com "The LORD is my strength and my | www.niagara.com/~clavicle song; he has become my salvation." | Exodus 15:2b
According to Paul Doerwald:
This seems an unlikely problem, but I'm actually confounded by it: I can't compile GPC. I've tried a number of different combinations, and it always fails with an abort, a core dump, and an Error 2 on rts-base.p. If I run the xgpc I have on a hello world program, it fails with a core dump.
One possible reason is a problem in the GCC version string. Thus, one thing you can try is to compile any of your combinations with a line like
char *version_string = "2.8.0"
in the file `p/version.c'.
[...] I'm running a plain Red Hat Linux 5.0 system (glibc2?) on a 486-DX50. The binary for 980420 came in a package with i586 in it, but I don't imagine that should make any difference...
It doesn't.
Here's the errors for a hello world program using the binary for 980420:
pollux:~>gpc hello.pas /tmp/cca08381.i:1: numeric constant with no digits /tmp/cca08381.i:1: numeric constant with no digits /tmp/cca08381.i:1: invalid #line /tmp/cca08381.i:2: warning: missing program header /tmp/cca08381.i:2: parse error at null character
Please try `gpc -v hello.pas' on this one. I suspect that your `gpc' driver finds some "wrong" preprocessor `gpc-cpp'. Things like this can happen if you have an old version of `gpc-cpp' in your path.
Another thing to try here is `gpc -E hello.pas' (i.e.: invoke *only* the preprocessor).
The error I'm getting with 980405 and 2.8.0 is this:
make[1]: Entering directory `/usr/src/gcc-2.8.0/p/rts' ../..xgpc -B../../ --automake -c -DGPC -Wall -Wpointer-arith -Wmissing-prototypes -Wmissing-declarations -g -I. -I../.. -I/usr/src/gcc-2.8.0/p/rts/../.. -I/usr/src/gcc-2.8.0/p/rts/../../config rts-base.p make[1]: *** [rts-base.o] Aborted (core dumped) make[1]: leaving directory `/usr/src/gcc-2.8.0/p/rts' make: *** [libgpc.a] Error 2
This looks like the "version_string" problem (see above).
This happens all the time. Once, the compile failed on parse.y, complaining about too many parameters in a function that ended up not existing on either line pointed to by the compiler, but about 10 lines lower down. I changed it, changed it back, and compiled, and it worked... ???
This one *really* confuses me. Maybe you have different versions of the C preprocessor in your path as well?
Thanks for your help! At this point, I'd be happy with a working binary for my machine attached to a message (compiling on a 486 is SLOOOOW!)
I am planning to upload a new alpha with binaries relatively soon. (Just fixing some problems with strings and long reals ...)
Greetings,
Peter