-
Notifications
You must be signed in to change notification settings - Fork 166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
use gcc 12 on rhel8-s390x for Node.js 22 #3659
Conversation
I've deployed this onto test-ibm-rhel8-s390x-4 and am running a test build with nodejs/node#52183: https://ci.nodejs.org/job/richardlau-node-test-commit-v8-linux/546/nodes=rhel8-s390x,v8test=v8test/ |
Looks like we need v8/v8@f8d5e57 (https://chromium-review.googlesource.com/c/v8/v8/+/5280535) as well. |
This is failing two tests: This is expected while we wait for https://issues.redhat.com/browse/RHEL-29952 to backport https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113960. FWIW the Red Hat team maintaining the upstream s390x V8 port are currently manually patching one of the libstdlibc++ headers as per https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113960#c11 in the container they use to build/test V8: |
We don't build Node.js with C++20 (yet) so it's OK? |
Yes, wrt https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113960. My understanding is that V8 is building with C++20, hence this showing up in V8 build -- presumably the V8 CI is inheriting C++20 from some part of the gn build process. I was hoping to avoid needing to patch the libstdc++ headers on the s390x machines ourselves and if possible wait for the gcc-toolset-12 packages to be updated, but patching the headers ourselves is an (temporary) option if we want to move to C++20 for Node.js for 22. |
To avoid a compiler bug in gcc, use gcc-toolset-12 on rhel8-s390x. Refs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106355 Refs: #3630
Latest from RH for updating gcc-toolset-12 to patch https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113960 is "around May". I've added a commit to temporarily patch the libstdc++ header file for gcc-toolset-12, which we'll revert when the toolset is updated. Started a test build with the patched header: |
As a stop-gap until gcc-toolset-12 in RHEL 8 is updated, manually patch the affected libstdc++ header file. Refs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113960
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This reverts commit 9c149d0. `gcc-toolset-12` now includes the fix we were temporarily patching for. Refs: #3659 (comment) Refs: nodeshift/v8-build#7
Refs: #3630
Fixes: #3335