From f8c9a36fe9a3cbf8af33e504daa272e2e882480b Mon Sep 17 00:00:00 2001 From: Richard Lau Date: Thu, 23 Feb 2023 13:05:54 -0500 Subject: [PATCH] build: warn for gcc versions earlier than 10.1 Update the warning threshold for gcc to 10.1 starting from Node.js 20. Builds can still proceed with earlier versions of gcc, but are not guaranteed to work. --- BUILDING.md | 4 ++-- configure.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index a3ddd42fd91149..3e519343a3cbf9 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -152,7 +152,7 @@ Depending on the host platform, the selection of toolchains may vary. | Operating System | Compiler Versions | | ---------------- | -------------------------------------------------------------- | -| Linux | GCC >= 8.3 | +| Linux | GCC >= 10.1 | | Windows | Visual Studio >= 2019 with the Windows 10 SDK on a 64-bit host | | macOS | Xcode >= 11 (Apple LLVM >= 11) | @@ -223,7 +223,7 @@ The Node.js project supports Python >= 3 for building and testing. #### Unix prerequisites -* `gcc` and `g++` >= 8.3 or newer +* `gcc` and `g++` >= 10.1 or newer * GNU Make 3.81 or newer * Python >=3.6 <=3.11 (see note above) * For test coverage, your Python installation must include pip. diff --git a/configure.py b/configure.py index d7765ef6bd9487..1e3a59dd711bbb 100755 --- a/configure.py +++ b/configure.py @@ -1032,8 +1032,8 @@ def check_compiler(o): ('clang ' if is_clang else '', CXX, version_str)) if not ok: warn('failed to autodetect C++ compiler version (CXX=%s)' % CXX) - elif clang_version < (8, 0, 0) if is_clang else gcc_version < (8, 3, 0): - warn('C++ compiler (CXX=%s, %s) too old, need g++ 8.3.0 or clang++ 8.0.0' % + elif clang_version < (8, 0, 0) if is_clang else gcc_version < (10, 1, 0): + warn('C++ compiler (CXX=%s, %s) too old, need g++ 10.1.0 or clang++ 8.0.0' % (CXX, version_str)) ok, is_clang, clang_version, gcc_version = try_check_compiler(CC, 'c')