Historically, when gcc-4.8 started to require c++ to build, we intended to support the systems without a c++ compiler. Therefore, gcc-4.7 is built if necessary in stage2. But, glibc-2.26 has been released[1] to require at least gcc-4.9 to build. This breaks stage3 bootstrap. It's time to stop worrying about c++ and require users to install c++ compiler before calling bootstrap-prefix.sh. 1. https://sourceware.org/ml/libc-alpha/2017-08/msg00010.html Reproducible: Always
ehhh, well, there are some platforms IMO that don't have this, so perhaps we better check if we have a (working) c++ compiler instead?
(In reply to Fabian Groffen from comment #1) > ehhh, well, there are some platforms IMO that don't have this, so perhaps we > better check if we have a (working) c++ compiler instead? And provide another script bootstrap-c++.sh? Or I could make it prefix-standalone specific, because glibc-2.26 is only used there.
(In reply to Benda Xu from comment #2) > (In reply to Fabian Groffen from comment #1) > > ehhh, well, there are some platforms IMO that don't have this, so perhaps we > > better check if we have a (working) c++ compiler instead? > > And provide another script bootstrap-c++.sh? Which (almost) easily could be embedded into main bootstrap script as well. > Or I could make it prefix-standalone specific, because glibc-2.26 is only > used there. What's wrong with building gcc-4.7 in stage1 if necessary?
Hi Michael, (In reply to Michael Haubenwallner from comment #3) > (In reply to Benda Xu from comment #2) > > (In reply to Fabian Groffen from comment #1) > > > ehhh, well, there are some platforms IMO that don't have this, so perhaps we > > > better check if we have a (working) c++ compiler instead? > > > > And provide another script bootstrap-c++.sh? > > Which (almost) easily could be embedded into main bootstrap script as well. > > > Or I could make it prefix-standalone specific, because glibc-2.26 is only > > used there. > > What's wrong with building gcc-4.7 in stage1 if necessary? s/stage1/stage2/ Are you implying to build gcc-4.7 when the host does not have c++ and build another newer gcc in stage2? Benda
(In reply to Benda Xu from comment #4) > (In reply to Michael Haubenwallner from comment #3) > > (In reply to Benda Xu from comment #2) > > > (In reply to Fabian Groffen from comment #1) > > > > better check if we have a (working) c++ compiler instead? > > > > > > And provide another script bootstrap-c++.sh? > > > > Which (almost) easily could be embedded into main bootstrap script as well. > > > > > Or I could make it prefix-standalone specific, because glibc-2.26 is only > > > used there. > > > > What's wrong with building gcc-4.7 in stage1 if necessary? > > s/stage1/stage2/ Wherever it would make sense. > Are you implying to build gcc-4.7 when the host does not have c++ and build > another newer gcc in stage2? Exactly. Much like we build GNU make first if we don't find GNU make for example. Doesn't feel so much different than providing some bootstrap-c++.sh at all, no?
(In reply to Michael Haubenwallner from comment #3) > What's wrong with building gcc-4.7 in stage1 if necessary? +1
Right now we bootstrap straight to gcc-7, and that fails too because it believes /lib/cpp isn't sane (Ubuntu). So what is the status supposed to be here?
we go straight to GCC 10 if we can currently