Open
Description
On a Slackware64-15.0 machine, attempting to compile NodeJS 22.11 gets a ways into the compile and then fails. Compiling previous stable releases, e.g. 20.18 and below, works just fine.
On Slackware 15 (the most recent "stable" release, albeit dated), we have gcc
version 11.2.0, and glibc
version 2.33.
(On a Slackware64-current machine, with gcc
version 14.2.0 and glibc
version 2.40, the compile of NodeJS 22.11 works just fine. Alas, we can't use the binary compiled here on the older system due to missing glibc symbols.)
I am not a c++/g++ expert, and am unsure how to interpret these specific compiler errors:
../deps/v8/src/compiler/wasm-compiler.cc: In lambda function:
../deps/v8/src/compiler/wasm-compiler.cc:8620:59: error: too many initializers for ‘v8::internal::wasm::WrapperCompilationInfo::<unnamed union>’
8620 | .import_info = {kind, expected_arity, suspend}},
| ^
../deps/v8/src/compiler/wasm-compiler.cc: In function ‘v8::internal::wasm::WasmCompilationResult v8::internal::compiler::CompileWasmImportCallWrapper(v8::internal::wasm::CompilationEnv*, v8::internal::wasm::ImportCallKind, const FunctionSig*, bool, int, v8::internal::wasm::Suspend)’:
../deps/v8/src/compiler/wasm-compiler.cc:8658:76: error: use of ‘v8::internal::compiler::CompileWasmImportCallWrapper(v8::internal::wasm::CompilationEnv*, v8::internal::wasm::ImportCallKind, const FunctionSig*, bool, int, v8::internal::wasm::Suspend)::<lambda()>’ before deduction of ‘auto’
8658 | auto result = v8_flags.turboshaft_wasm_wrappers ? compile_with_turboshaft()
| ~~~~~~~~~~~~~~~~~~~~~~~^~
../deps/v8/src/compiler/wasm-compiler.cc: In lambda function:
../deps/v8/src/compiler/wasm-compiler.cc:8782:63: error: too many initializers for ‘v8::internal::wasm::WrapperCompilationInfo::<unnamed union>’
8782 | .import_info = {kind, expected_arity, suspend}},
| ^
g++ -o /usr/local/tmp/slackbuild/nodejs/node-v22.11.0/out/Release/obj.target/v8_base_without_compiler/deps/v8/src/baseline/baseline.o ../deps/v8/src/baseline/baseline.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D__STDC_FORMAT_MACROS' '-DV8_TARGET_ARCH_X64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.21"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DV8_ENABLE_PRIVATE_MAPPING_FORK_OPTIMIZATION' '-DV8_SHORT_BUILTIN_CALLS' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DV8_SHARED_RO_HEAP' '-DNDEBUG' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_SPARKPLUG' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ENABLE_CONTINUATION_PRESERVED_EMBEDDER_DATA' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' '-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_STATIC_IMPLEMENTATION=1' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/v8 -I../deps/v8/include -I/usr/local/tmp/slackbuild/nodejs/node-v22.11.0/out/Release/obj/gen/inspector-generated-output-root -I../deps/v8/third_party/inspector_protocol -I/usr/local/tmp/slackbuild/nodejs/node-v22.11.0/out/Release/obj/gen -I/usr/local/tmp/slackbuild/nodejs/node-v22.11.0/out/Release/obj/gen/generate-bytecode-output-root -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -I../deps/v8/third_party/zlib -I../deps/v8/third_party/zlib/google -I../deps/v8/third_party/abseil-cpp -I../deps/v8/third_party/fp16/src/include -pthread -Wno-unused-parameter -Wno-strict-overflow -Wno-return-type -Wno-int-in-bool-context -Wno-deprecated -Wno-stringop-overflow -Wno-stringop-overread -Wno-restrict -Wno-array-bounds -Wno-nonnull -Wno-dangling-pointer -flax-vector-conversions -m64 -m64 -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -fno-exceptions -fno-strict-aliasing -std=gnu++20 -Wno-invalid-offsetof -MMD -MF /usr/local/tmp/slackbuild/nodejs/node-v22.11.0/out/Release/.deps//usr/local/tmp/slackbuild/nodejs/node-v22.11.0/out/Release/obj.target/v8_base_without_compiler/deps/v8/src/baseline/baseline.o.d.raw -g -O2 -fPIC -march=opteron -c