-
-
Notifications
You must be signed in to change notification settings - Fork 33.8k
Closed
Description
Version
24.0.1
Platform
Linux ce914293929347cba01065b95f8f20e8 6.15.4-200.fc42.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jun 27 15:32:46 UTC 2025 s390x GNU/Linux
Subsystem
No response
What steps will reproduce the bug?
Try to build nodejs 24.0.1 on s390x without touching any configure options specifically mentioning v8 or it's maglev subsystem.
How often does it reproduce? Is there a required condition?
Always.
What is the expected behavior? Why is that the expected behavior?
Node compiles and links into usable artifacts.
What do you see instead?
The compilation proceeds up until trying to link v8, at which point ld fails with bunch of duplicate definitions in maglev. One example for all:
/usr/bin/ld: obj/tools/v8_gypfiles/../../deps/v8/src/maglev/v8_compiler.maglev-compilation-info.o (symbol from plugin): in function `v8::internal::maglev::MaglevCompilationInfo::ReopenAndCanonicalizeHandlesInNewScope(v8::internal::Isolate*)':
(.text+0x0): multiple definition of `v8::internal::maglev::MaglevCompilationInfo::ReopenAndCanonicalizeHandlesInNewScope(v8::internal::Isolate*)'; obj/tools/v8_gypfiles/../../deps/v8/src/maglev/v8_base_without_compiler.maglev-compilation-info.o:/builddir/build/BUILD/nodejs24-24.0.1-build/node-v24.0.1/out/Release/../../deps/v8/src/maglev/maglev-compilation-info.cc:162: first defined here
The full build log: nodejs24-s390x-maglev-builder-live.log.gz
Additional information
- The issue does not manifest on x86_64.
- The issue does not manifest on v22, namely version 22.17.0 compiles and links successfully in the same environment and with the same configuration options.
- According to
configure.pyoutput,'v8_enable_maglev': 0, but the sources are still compiled and attempted to be linked. - I don't need maglev to work on s390x; disabling it's compilation properly is acceptable outcome.
Metadata
Metadata
Assignees
Labels
No labels