FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

doc: update gcc toolchains to `gcc-13` and `g++-13` by louiellan · Pull Request #64018 · nodejs/node · GitHub

/ node Public

doc: update gcc toolchains to gcc-13 and g++-13 - #64018

Merged
nodejs-github-bot merged 1 commit into
nodejs:mainfrom
louiellan:gcc-13-on-docs
Jun 22, 2026
Merged

doc: update gcc toolchains to gcc-13 and g++-13#64018
nodejs-github-bot merged 1 commit into
nodejs:mainfrom
louiellan:gcc-13-on-docs

Conversation

louiellan commented Jun 20, 2026
edited by aduh95
Loading

Copy link
Copy Markdown
Contributor

Update doc for installing prerequisites on Ubuntu

Refs: #62555

since the prerequisites are `gcc` and `g++` >= `13.2`

Signed-off-by: louiellan <louie.lou.llaneta@gmail.com>

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/build
  • @nodejs/tsc

nodejs-github-bot added build Issues and PRs related to build files or the CI. doc Issues and PRs related to the documentations. labels Jun 20, 2026

aduh95 commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Can you give more details on why this change?

louiellan commented Jun 20, 2026
edited
Loading

Copy link
Copy Markdown
Contributor Author

There's just a mismatch on the install snippet and the required toolchains needed

node/BUILDING.md

Lines 245 to 248 in 1258a19

#### Unix prerequisites
* `gcc` and `g++` >= 13.2 or `clang` and `clang++` >= 19.1
* GNU Make 3.81 or newer

The unix prerequisites here requires a gcc toolchain > 13.2


#define SMI_COMPARISON_OP(SmiOpName, IntPtrOpName, Int32OpName) \
V<Word32> SmiOpName(ConstOrV<Smi> left, ConstOrV<Smi> right) { \
V<WordPtr> l = BitcastTaggedToWordPtrForTagAndSmiBits(resolve(left)); \
V<WordPtr> r = BitcastTaggedToWordPtrForTagAndSmiBits(resolve(right)); \
if constexpr (kTaggedSize == kInt64Size) { \
return IntPtrOpName(l, r); \
} else { \
static_assert(kTaggedSize == kInt32Size); \
static_assert(v8::internal::SmiValuesAre31Bits()); \
return Int32OpName(TruncateWordPtrToWord32(l), \
TruncateWordPtrToWord32(r)); \
} \
}

And that this macro also throws an static assertion error in gcc 12 and have already been addressed in gcc 13 with the CWG2518, P2593R0 (just for reference for other contributors who might also encounter this issue when building node)

aduh95 added dont-land-on-v22.x PRs that should not land on the v22.x-staging branch and should not be released in v22.x. dont-land-on-v24.x PRs that should not land on the v24.x-staging branch and should not be released in v24.x. labels Jun 20, 2026
aduh95 added the author ready PRs that have at least one approval, no outstanding review comments, and a CI started. label Jun 20, 2026

mcollina left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

lgtm

mcollina added the commit-queue Add this label to land a pull request using GitHub Actions. label Jun 20, 2026

Copy link
Copy Markdown
Contributor
  1. Why is it that only Ubuntu/Debian specifies a version of gcc to install in https://github.com/nodejs/node/blob/main/BUILDING.md#unix-prerequisites. The instructions for the other OSs don't specify. Could this possibly be removed, and only the default version installed?

  2. It seems that sudo apt-get install g++-13 gcc-13 would only work on Debian 13 (trixie) and Ubuntu >=24.04. Lower versions don't support gcc 13 as far as I can tell. That would suggest the https://github.com/nodejs/node/blob/main/BUILDING.md#platform-list table example minimum versions should also be updated. (Probably better covered in a separate PR though.)

Copy link
Copy Markdown
Member

I think these examples are only there originally because the default versions of gcc could not be used previously. We should probably update all gcc examples to clang though as it is quite likely that gcc will be downgraded for Node.js 27 (based on upstream V8).

nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Jun 22, 2026
nodejs-github-bot merged commit 519294e into nodejs:main Jun 22, 2026
40 checks passed

Copy link
Copy Markdown
Collaborator

Landed in 519294e

aduh95 pushed a commit that referenced this pull request Jun 22, 2026
since the prerequisites are `gcc` and `g++` >= `13.2`

Signed-off-by: louiellan <louie.lou.llaneta@gmail.com>
PR-URL: #64018
Refs: #62555
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author ready PRs that have at least one approval, no outstanding review comments, and a CI started. build Issues and PRs related to build files or the CI. doc Issues and PRs related to the documentations. dont-land-on-v22.x PRs that should not land on the v22.x-staging branch and should not be released in v22.x. dont-land-on-v24.x PRs that should not land on the v24.x-staging branch and should not be released in v24.x.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants


Back | FazBrowse Home | New Git URL