Title says it all really.
Why am I asking? I'd like to try writing a build that checks stage1
works with the earliest version of gcc the project wants to support.
https://gcc.gnu.org/install/prerequisites.html currently says:
- GCC 5.4 or newer has sufficient support for used C++14 features.
- If you need to build an intermediate version of GCC in order to
bootstrap current GCC, consider GCC 9.5
Should it use gcc 5.4? Is it time to increase that version?
A look at system gcc versions in major distros:
- ubuntu from 10 years ago (16.04) had 5.3.1 so that will require an
intermediate. 20.04 was EOLd last year and it had 9.3.0.
- Debian 9 had 6.3.0 (and it was EOLd 6 years ago). The latest EOLd
version is Debian 11 with gcc 10.2.1
- RHEL 7 had 4.8.5 so that will require an intermediate gcc no matter
what, RHEL 8 has 8.5.0
- SUse 15 starts at 7.5
So, if we want to support Suse 15, we could require at least version 7.5
and consider allowing whatever version of C++ that version supports.
What other systems are you aware of that our users use and care about
and have sufficient popularity to warrant supporting their system
compiler (without having to use an intermediate build of gcc to bootstrap).
As an aside, it would be good to have the rationale behind these
prerequisites documented somewhere. I keep hearing some arguments with
some variation but some seem handwavy.
I hereby pledge to summarize any replies on the wiki.
Cheers,
Claudio