Skip to content

Conversation

targos
Copy link
Member

@targos targos commented Aug 5, 2025

Apple clang version number is not the same as the actual LLVM version

@targos targos added dont-land-on-v20.x PRs that should not land on the v20.x-staging branch and should not be released in v20.x. 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 Aug 5, 2025
@nodejs-github-bot nodejs-github-bot added build Issues and PRs related to build files or the CI. needs-ci PRs that need a full CI run. labels Aug 5, 2025
@legendecas
Copy link
Member

I wonder if there are issues with lower clang versions (e.g. v17), other than nodejs/node-v8#302? Which was an unexpected version requirement.

From nodejs/node-v8#302 (comment), it seems at least clang v17 is still supported.

@legendecas
Copy link
Member

legendecas commented Aug 5, 2025

We should bump the BUILDING.md prerequisites as well:

Both toolchains are almost the second latest versions of platform toolchains. It seems a bit aggressive to me.

@targos
Copy link
Member Author

targos commented Aug 5, 2025

I wonder if there are issues with lower clang versions (e.g. v17), other than nodejs/node-v8#302 Which was an unexpected version requirement.

Maybe not yet, but since v19 is widely available, I'm not sure it's that aggressive. V8 moves fast and we don't know for how long we'll be able to compile it with lower versions. Clang 18 and 19 also improve C++20 support.

My hope is that we can stay with this new version requirement for a relatively long time.

@targos
Copy link
Member Author

targos commented Aug 5, 2025

Also, Xcode and Visual Studio are both continuously updated by their editors. It's more difficult to install an earlier version than the latest.

@targos targos added the commit-queue-rebase Add this label to allow the Commit Queue to land a PR in several commits. label Aug 5, 2025
targos added 2 commits August 5, 2025 16:00
Apple clang version number is not the same as the actual LLVM version
For Clang >= 19.1.0, Xcode 16.3 or Visual Studio 17.13 is required.
@legendecas legendecas added the request-ci Add this label to start a Jenkins CI on a PR. label Aug 5, 2025
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Aug 5, 2025
@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot
Copy link
Collaborator

@targos
Copy link
Member Author

targos commented Aug 6, 2025

@nodejs/build

@targos targos added author ready PRs that have at least one approval, no pending requests for changes, and a CI started. commit-queue Add this label to land a pull request using GitHub Actions. labels Aug 6, 2025
Copy link
Member

@richardlau richardlau left a comment

Choose a reason for hiding this comment

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

Comment is non-blocking.

elif clang_version < (19, 1, 0) if is_clang else gcc_version < (12, 2, 0):
warn(f'C++ compiler (CXX={CXX}, {version_str}) too old, need g++ 12.2.0 or clang++ 19.1.0')
elif (is_apple and clang_version < (17, 0, 0) or not is_apple and clang_version < (19, 1, 0)) if is_clang else gcc_version < (12, 2, 0):
warn(f'C++ compiler (CXX={CXX}, {version_str}) too old, need g++ 12.2.0, clang++ 19.1.0, or Apple clang++ 17.0.0')
Copy link
Member

@richardlau richardlau Aug 6, 2025

Choose a reason for hiding this comment

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

Non-blocking observation -- would it be potentially confusing to mention Apple clang if, for example, you get this warning message on something other than macOS (e.g Linux)?

Copy link
Member Author

Choose a reason for hiding this comment

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

@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Aug 7, 2025
nodejs-github-bot pushed a commit that referenced this pull request Aug 7, 2025
Apple clang version number is not the same as the actual LLVM version

PR-URL: #59358
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
@nodejs-github-bot
Copy link
Collaborator

Landed in 0309806...3f6f6db

nodejs-github-bot pushed a commit that referenced this pull request Aug 7, 2025
For Clang >= 19.1.0, Xcode 16.3 or Visual Studio 17.13 is required.

PR-URL: #59358
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
@targos targos deleted the is_apple_clang branch August 7, 2025 07:50
panva pushed a commit to panva/node that referenced this pull request Aug 7, 2025
Apple clang version number is not the same as the actual LLVM version

PR-URL: nodejs#59358
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
panva pushed a commit to panva/node that referenced this pull request Aug 7, 2025
For Clang >= 19.1.0, Xcode 16.3 or Visual Studio 17.13 is required.

PR-URL: nodejs#59358
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
mete0rfish pushed a commit to mete0rfish/node-contribute that referenced this pull request Aug 9, 2025
Apple clang version number is not the same as the actual LLVM version

PR-URL: nodejs#59358
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
mete0rfish pushed a commit to mete0rfish/node-contribute that referenced this pull request Aug 9, 2025
For Clang >= 19.1.0, Xcode 16.3 or Visual Studio 17.13 is required.

PR-URL: nodejs#59358
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
panva pushed a commit to panva/node that referenced this pull request Aug 9, 2025
Apple clang version number is not the same as the actual LLVM version

PR-URL: nodejs#59358
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
panva pushed a commit to panva/node that referenced this pull request Aug 9, 2025
For Clang >= 19.1.0, Xcode 16.3 or Visual Studio 17.13 is required.

PR-URL: nodejs#59358
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
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 pending requests for changes, and a CI started. build Issues and PRs related to build files or the CI. commit-queue-rebase Add this label to allow the Commit Queue to land a PR in several commits. dont-land-on-v20.x PRs that should not land on the v20.x-staging branch and should not be released in v20.x. 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. needs-ci PRs that need a full CI run.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants