On 20/03/2026 17:27, Jonathan Wakely wrote:
On Fri, 20 Mar 2026 at 15:58, Christophe Lyon via Gcc <[email protected]> wrote:



On 3/20/26 11:15, Jakub Jelinek via Gcc wrote:
On Fri, Mar 20, 2026 at 09:47:08AM +0000, Claudio Bantaloukas via Gcc wrote:
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?

Yes. No.

We don't increase the minimum requirement just for fun, but when it gives
significant benefits for the codebase and the earliest supported gcc is
still old enough (unlike especially rustc but also LLVM we try not to
require too recent stuff for building).
The reason to go to gcc 5.4 [1] (which already causes significant pain, several
CompilerFarm machines still have system gcc 4.8.5) was to be able to use
C++14 and so not be as limited in constexpr functions as in C++11.

I believe Claudio is aiming at adding such builds in the forge CI (happy
to help btw ;-) ), so I suppose a follow-up question is what distro &
version should a container use?  Claudio shared a list in his message,
none of which matches the exact 5.4 requirement.

Does this mean starting with an ubuntu-16.04 (ships gcc-5.3.1) and
build/install gcc-5.4.0 in it, and use the resulting image?

Cristophe, you're right, I've been wanting to add such a check for a while. But I'd like to add a twist to it. Rather than use an unsupported operating system, requiring vsyscall emulation, I'd rather try and build an older version of gcc on top of a new distribution.

Well based on what Jakub said, the Ubuntu 5.3.1 might be OK to build trunk.

Until a few weeks ago, I was building every trunk snapshot using the
Ubuntu 16:04 system compiler. I switched to 18:04 because something
was failing, but I don't know if it was a temporary breakage on trunk.

I guess we'll find out at some point :)

Cheers,
Claudio

Reply via email to