I downloaded the gpc-19990118.tar.gz release from Peter's area on agnes.dida.physik.uni-essen.de, moved it into the egcs-1.1.1 release from Cygnus (egcs-2.91.60), applied the appropriate patch, ran 'configure' and did 'make bootstrap'.
The stage 1 compiler built correctly, but when the 'final' compiler was compiling I got this...
creating cache ./config.cache checking for gcc... ../../xgcc -B../../ checking whether the C compiler (../../xgcc -B../../ -O2 -g -O2 -Wl,-bbigtoc) works... no configure: error: installation or configuration problem: C compiler cannot create executables. gmake[4]: *** [p/rts/Makefile] Error 1 gmake[4]: Leaving directory `/local/kevinb/build/egcs-1.1.1/objdir/gcc' gmake[3]: *** [stmp-multilib-sub] Error 2 gmake[3]: Leaving directory `/local/kevinb/build/egcs-1.1.1/objdir/gcc' gmake[2]: *** [stmp-multilib] Error 1 gmake[2]: Leaving directory `/local/kevinb/build/egcs-1.1.1/objdir/gcc' gmake[1]: *** [bootstrap] Error 2 gmake[1]: Leaving directory `/local/kevinb/build/egcs-1.1.1/objdir/gcc' gmake: *** [bootstrap] Error 2
Any ideas?
Kevin Broadey wrote:
I downloaded the gpc-19990118.tar.gz release from Peter's area on agnes.dida.physik.uni-essen.de, moved it into the egcs-1.1.1 release from Cygnus (egcs-2.91.60), applied the appropriate patch, ran 'configure' and did 'make bootstrap'.
This is a few seconds to early: The announcement for gpc-19990118 will follow soon ... ;-)
The stage 1 compiler built correctly, but when the 'final' compiler was compiling I got this... [...] configure: error: installation or configuration problem: C compiler cannot create executables. [...] Any ideas?
Yes: Do `make LANGUAGES=c' first, and then `make LANGUAGES=pascal'.
If someone out there is a Makefile wizart, he/she is invited to help us to resolve a circular dependency and some other drawbacks in GPC's Makefiles.
Peter
I thought `make bootstrap' did `make LANGUAGES=c' to build the stage 1 compiler, and then `make LANGUAGES="c c++ fortran pascal ..."' for stage 2. Or isn't this what you mean? Is there some unfortunate dependency between the C and Pascal compilers at each particular stage?
As far as you Makefile problems go, what are they? I've got a fair amount of experience with them, so I'll have a look if you like.
Regards Kevin
-----Original Message----- From: Peter Gerwinski [mailto:peter@gerwinski.de] Sent: 19 January 1999 22:31 To: Kevin Broadey Cc: gpc@hut.fi Subject: Re: gpc-19990118: C compiler cannot create executables.
Kevin Broadey wrote:
I downloaded the gpc-19990118.tar.gz release from Peter's area on agnes.dida.physik.uni-essen.de, moved it into the egcs-1.1.1 release from Cygnus (egcs-2.91.60), applied the appropriate patch, ran 'configure' and did 'make bootstrap'.
This is a few seconds to early: The announcement for gpc-19990118 will follow soon ... ;-)
The stage 1 compiler built correctly, but when the 'final' compiler was compiling I got this... [...] configure: error: installation or configuration problem: C
compiler cannot create executables.
[...] Any ideas?
Yes: Do `make LANGUAGES=c' first, and then `make LANGUAGES=pascal'.
If someone out there is a Makefile wizart, he/she is invited to help us to resolve a circular dependency and some other drawbacks in GPC's Makefiles.
Peter
-- Peter Gerwinski, Essen, Germany, http://home.pages.de/~Peter.Gerwinski/ Maintainer GNU Pascal
- http://home.pages.de/~GNU-Pascal/ - gpc-980830 PGP key on request - 6C 94 45 BE 28 A4 96 - 0E CC E9 12 47 25 82 75
Fight the SPAM and UBE! - http://spam.abuse.net/ -
kevin.broadey@ats.uk.eds.com wrote:
I thought `make bootstrap' did `make LANGUAGES=c' to build the stage 1 compiler, and then `make LANGUAGES="c c++ fortran pascal ..."' for stage 2. Or isn't this what you mean? Is there some unfortunate dependency between the C and Pascal compilers at each particular stage?
The circular dependence of the Pascal library on a working gcc which in turn depends on the libraries for all languages is the problem.
As far as you Makefile problems go, what are they? I've got a fair amount of experience with them, so I'll have a look if you like.
This would be great. The Makefile problems are exactly those you have experienced with your first try to bootstrap GPC for EGCS - and are still experiencing now.
Greetings,
Peter
On Mon, 25 Jan 1999 kevin.broadey@ats.uk.eds.com wrote:
I thought `make bootstrap' did `make LANGUAGES=c' to build the stage 1 compiler, and then `make LANGUAGES="c c++ fortran pascal ..."' for stage 2. Or isn't this what you mean? Is there some unfortunate dependency between the C and Pascal compilers at each particular stage?
`make bootstrap' will `make LANGUAGES=c' for the first stage because it makes no sense to build the rest at this point. The stage2 and stage3 compilers are complete, or a `make compare' wouldn't work.
I did most of the Makefile for the gcc/p directory, quite some time ago. A make LANGUAGES=pascal should work (I do it all the time). First, it builds gpc1. When it goes on to libgcc.a and libgpc.a, it requires GCC_FOR_TARGET and GPC_FOR_TARGET. GCC_FOR_TARGET means LANGUAGES=c gets built. The circular dependancy is not nice, but not fatal too. I only saw it fail in a cross config, where I failed to specify a good RANLIB, resulting in a bad libgcc, resulting in a "gcc cannot create executables" when entering the RTS ...
The stage 1 compiler built correctly, but when the 'final' compiler was compiling I got this... [...] configure: error: installation or configuration problem: C
compiler cannot create executables.
[...]
... which someone else also got ? BTW: requiring GCC to be able to build exe's is not needed here. compilation is enough. But, autoconf did not permit this.
Yes: Do `make LANGUAGES=c' first, and then `make LANGUAGES=pascal'.
Hmmm.
If someone out there is a Makefile wizart, he/she is invited to help us to resolve a circular dependency and some other drawbacks in GPC's Makefiles.
I can take a look at it. The circular dependancy is somewhere in C++ rules, something about GCC_PARTS used instead of GCC_PASSES for libgcc2 somewhere, can't quite remember. G77 suffered from it too, and they fixed it.
Greetings, JanJaap --- GNU mingw32: http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32
I finally got "make bootstrap" to work! Jan-Jaap's final comment put me on to it...
BTW: requiring GCC to be able to build exe's is not needed here. compilation is enough. But, autoconf did not permit this.
I figured that GCC ought to be able to do compilations if it's already built the stage 2 compiler, so I hacked the gcc/p/rts/configure script to take out the test that was failing. That allowed the build process to continue, and it all worked!
The only problem now is that the fileserver is out of space so I can't install it tonight. Ho, hum!
I appreciate that this is a gross hack, but I know nothing about how the "configure" script is generated so I don't know how the duff test should really be removed.
I've attached a gdiff showing my handiwork.
Thanks to everyone for all your help.
Kevin
-----Original Message----- From: Jan-Jaap van der Heijden [mailto:janjaap@wit381304.student.utwente.nl] Sent: 25 January 1999 22:01 To: GNU Pascal mailinglist Subject: RE: gpc-19990118: C compiler cannot create executables.
On Mon, 25 Jan 1999 kevin.broadey@ats.uk.eds.com wrote:
I thought `make bootstrap' did `make LANGUAGES=c' to build
the stage 1
compiler, and then `make LANGUAGES="c c++ fortran pascal
..."' for stage
- Or isn't this what you mean? Is there some unfortunate
dependency
between the C and Pascal compilers at each particular stage?
`make bootstrap' will `make LANGUAGES=c' for the first stage because it makes no sense to build the rest at this point. The stage2 and stage3 compilers are complete, or a `make compare' wouldn't work.
I did most of the Makefile for the gcc/p directory, quite some time ago. A make LANGUAGES=pascal should work (I do it all the time). First, it builds gpc1. When it goes on to libgcc.a and libgpc.a, it requires GCC_FOR_TARGET and GPC_FOR_TARGET. GCC_FOR_TARGET means LANGUAGES=c gets built. The circular dependancy is not nice, but not fatal too. I only saw it fail in a cross config, where I failed to specify a good RANLIB, resulting in a bad libgcc, resulting in a "gcc cannot create executables" when entering the RTS ...
The stage 1 compiler built correctly, but when the
'final' compiler
was compiling I got this... [...] configure: error: installation or configuration problem: C
compiler cannot create executables.
[...]
... which someone else also got ? BTW: requiring GCC to be able to build exe's is not needed here. compilation is enough. But, autoconf did not permit this.
Yes: Do `make LANGUAGES=c' first, and then `make
LANGUAGES=pascal'.
Hmmm.
If someone out there is a Makefile wizart, he/she is invited to help us to resolve a circular dependency and some other drawbacks in GPC's Makefiles.
I can take a look at it. The circular dependancy is somewhere in C++ rules, something about GCC_PARTS used instead of GCC_PASSES for libgcc2 somewhere, can't quite remember. G77 suffered from it too, and they fixed it.
Greetings, JanJaap
GNU mingw32: http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32
I tried this, but it only sort of worked, and didn't really give me what I wanted. Here's what I did (on AIX 4.2.1 on an rs/6000)...
* untar egcs-1.1.1 distribution * untar gpc-19990118 distribution * move gpc/p directory into ..../egcs-1.1.1/gcc * cd ..../egcs-1.1.1/gcc * patch -p1 < p/diffs/gcc-egcs-2.91.60.diff * cd ..../egcs-1.1.1 * mkdir objdir * cd objdir * ../configure --prefix=/tools_fdps2/egcs * gmake LANGUAGES=c * gmake LANGUAGES=pascal * gmake
The "gmake LANGUAGES=c" bombed out trying to make (I guess) one of the C++ libraries that comes bundled with egcs, so that's not surprising, and it did manage to build the C compiler first.
The "gmake LANGUAGES=pascal" bombed out in the same place, but again it built the compiler first.
The "gmake" bombed out with a TOC overflow while building cc1plus, but this is a know AIX problem which I managed to fix by fiddling the LDFLAGS macro.
But the problem is that I now have a compiler built with gcc-2.8.1 rather than egcs-1.1.1. So is there some way I can do the equivalent of "make bootstrap" without tripping over the circular dependency Peter referred to?
tia Kevin
-----Original Message----- From: Peter Gerwinski [mailto:peter@gerwinski.de] Sent: 19 January 1999 22:31 To: Kevin Broadey Cc: gpc@hut.fi Subject: Re: gpc-19990118: C compiler cannot create executables.
Kevin Broadey wrote:
I downloaded the gpc-19990118.tar.gz release from Peter's area on agnes.dida.physik.uni-essen.de, moved it into the egcs-1.1.1 release from Cygnus (egcs-2.91.60), applied the appropriate patch, ran 'configure' and did 'make bootstrap'.
This is a few seconds to early: The announcement for gpc-19990118 will follow soon ... ;-)
The stage 1 compiler built correctly, but when the 'final' compiler was compiling I got this... [...] configure: error: installation or configuration problem: C
compiler cannot create executables.
[...] Any ideas?
Yes: Do `make LANGUAGES=c' first, and then `make LANGUAGES=pascal'.
If someone out there is a Makefile wizart, he/she is invited to help us to resolve a circular dependency and some other drawbacks in GPC's Makefiles.
kevin.broadey@ats.uk.eds.com wrote:
The "gmake LANGUAGES=c" bombed out trying to make (I guess) one of the C++ libraries that comes bundled with egcs, so that's not surprising, and it did manage to build the C compiler first.
The "gmake LANGUAGES=pascal" bombed out in the same place, but again it built the compiler first.
For me this looks like a problem with C++, not with Pascal. If you are not going to install the C++ compiler, better use the egcs-1.1.1.core distribution instead of the full egcs-1.1.1, or remove the `cp' directory before installing.
But the problem is that I now have a compiler built with gcc-2.8.1 rather than egcs-1.1.1. So is there some way I can do the equivalent of "make bootstrap" without tripping over the circular dependency Peter referred to?
What about `make CC="gcc/xgcc -Bgcc/ -Lgcc/" LANGUAGES=pascal'?
(BTW, better truncate your lines to make your emails more readable.;-)
Good luck,
Peter