Skip to content

[v22.x] src: use std::sort in node_metadata for libc++13 compatibility#61789

Open
rebroad wants to merge 1 commit intonodejs:v22.x-stagingfrom
rebroad:rebroad/armhf-libcxx13-fix-v22
Open

[v22.x] src: use std::sort in node_metadata for libc++13 compatibility#61789
rebroad wants to merge 1 commit intonodejs:v22.x-stagingfrom
rebroad:rebroad/armhf-libcxx13-fix-v22

Conversation

@rebroad
Copy link

@rebroad rebroad commented Feb 12, 2026

Summary

This replaces std::ranges::sort() with std::sort(begin, end, ...) in src/node_metadata.cc.

Motivation

On armhf + clang-13/libc++13, std::ranges::sort is unavailable, causing Node v22 build failure.

Testing

  • Built on armhf (Raspberry Pi 3, 32-bit userspace)
  • Command: make -j2

Notes

  • No behavior change intended; sorting semantics are unchanged.

@nodejs-github-bot nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. needs-ci PRs that need a full CI run. v22.x Issues that can be reproduced on v22.x or PRs targeting the v22.x-staging branch. labels Feb 12, 2026
@rebroad rebroad changed the base branch from v22.x to v22.x-staging February 12, 2026 15:00
@rebroad rebroad changed the title src: use std::sort in node_metadata for libc++13 compatibility [v22.x] src: use std::sort in node_metadata for libc++13 compatibility Feb 12, 2026
@addaleax addaleax added the request-ci Add this label to start a Jenkins CI on a PR. label Feb 12, 2026
@addaleax
Copy link
Member

Would be nice to add a note about why this doesn't affect 24.x and above in the commit message, though

@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Feb 12, 2026
@nodejs-github-bot
Copy link
Collaborator

@rebroad rebroad force-pushed the rebroad/armhf-libcxx13-fix-v22 branch from dfff7a1 to f1670c5 Compare February 13, 2026 18:43
@rebroad
Copy link
Author

rebroad commented Feb 13, 2026

Would be nice to add a note about why this doesn't affect 24.x and above in the commit message, though

I've not looked at 24.x, so it might also affect that.

@addaleax
Copy link
Member

@rebroad Why does this PR target v22.x-staging then? That's generally reserved for PRs that either do not make sense on main anymore or backports of commits that otherwise don't cleanly apply on older release lines

@Renegade334
Copy link
Member

The build requirements for v22.x are GCC 10.1 / Clang 13 targeting C++17; std::ranges is a C++20 feature that existed in GCC 10 but not until Clang 14, which I guess is the hiccup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c++ Issues and PRs that require attention from people who are familiar with C++. needs-ci PRs that need a full CI run. v22.x Issues that can be reproduced on v22.x or PRs targeting the v22.x-staging branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants