nodejs / help

:sparkles: Need help with Node.js? File an Issue here. :rocket:
1.44k stars 276 forks source link

Error building 22.2.0 (v8) on Debian 12 #4406

Open ckir opened 1 month ago

ckir commented 1 month ago

Node.js Version

22.2.0

NPM Version

v.0.0.0

Operating System

Debian 12

Subsystem

v8

Description

Build fails. Used to work until 21.7.3

Minimal Reproduction

Relevant part of my build script (running as Github action)

./configure --ninja --shared-zlib
for f in $(find deps/openssl -type f -name '*.S'); do
    echo $f
    sed -i "s/%ifdef/#ifdef/" "$f"
    sed -i "s/%endif/#endif/" "$f"
done

echo "STARTING BUILD"
make -j 1
make install DESTDIR=/Release/$INSTALL_DIR
echo -e "\n\nBuild completed"

Output


[2110/4125] CXX obj/deps/v8/src/compiler/turboshaft/v8_turboshaft.csa-optimize-phase.o
FAILED: obj/deps/v8/src/compiler/turboshaft/v8_turboshaft.csa-optimize-phase.o 
c++ -MMD -MF obj/deps/v8/src/compiler/turboshaft/v8_turboshaft.csa-optimize-phase.o.d -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=nodejs_conf -DNODE_OPENSSL_HAS_QUIC -DICU_NO_USER_DATA_OVERRIDE -DV8_GYP_BUILD -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -D__STDC_FORMAT_MACROS -DOPENSSL_NO_PINSHARED -DOPENSSL_THREADS -DV8_TARGET_ARCH_IA32 -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX '-DV8_EMBEDDER_STRING="-node.12"' -DENABLE_DISASSEMBLER -DV8_PROMISE_INTERNAL_FIELD_COUNT=1 -DV8_ENABLE_PRIVATE_MAPPING_FORK_OPTIMIZATION -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 -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 -Igen/generate-bytecode-output-root -Igen -I../../deps/icu-small/source/i18n -I../../deps/icu-small/source/common -I../../deps/v8/third_party/abseil-cpp -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 -msse2 -mfpmath=sse -mmmx -fno-strict-aliasing -m32 -m32 -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -fno-exceptions -std=gnu++20 -Wno-invalid-offsetof  -c ../../deps/v8/src/compiler/turboshaft/csa-optimize-phase.cc -o obj/deps/v8/src/compiler/turboshaft/v8_turboshaft.csa-optimize-phase.o
In file included from ../../deps/v8/src/base/contextual.h:11,
                 from ../../deps/v8/src/compiler/turboshaft/phase.h:10,
                 from ../../deps/v8/src/compiler/turboshaft/csa-optimize-phase.h:8,
                 from ../../deps/v8/src/compiler/turboshaft/csa-optimize-phase.cc:5:
../../deps/v8/src/base/small-vector.h: In instantiation of 'class v8::base::SmallVector<std::pair<const v8::internal::compiler::turboshaft::PhiOp*, const v8::internal::compiler::turboshaft::OpIndex>, 16>':
../../deps/v8/src/compiler/turboshaft/loop-unrolling-reducer.h:444:11:   required from here
../../deps/v8/src/base/macros.h:206:55: error: static assertion failed: T should be trivially copyable
  206 |   static_assert(::v8::base::is_trivially_copyable<T>::value, \
      |                                                       ^~~~~
../../deps/v8/src/base/small-vector.h:25:3: note: in expansion of macro 'ASSERT_TRIVIALLY_COPYABLE'
   25 |   ASSERT_TRIVIALLY_COPYABLE(T);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~
../../deps/v8/src/base/macros.h:206:55: note: 'v8::base::is_trivially_copyable<std::pair<const v8::internal::compiler::turboshaft::PhiOp*, const v8::internal::compiler::turboshaft::OpIndex> >::value' evaluates to false
  206 |   static_assert(::v8::base::is_trivially_copyable<T>::value, \
      |                                                       ^~~~~
../../deps/v8/src/base/small-vector.h:25:3: note: in expansion of macro 'ASSERT_TRIVIALLY_COPYABLE'
   25 |   ASSERT_TRIVIALLY_COPYABLE(T);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~
[2111/4125] CXX obj/deps/v8/src/compiler/turboshaft/v8_turboshaft.loop-finder.o
[2112/4125] CXX obj/deps/v8/src/compiler/turboshaft/v8_turboshaft.graph-builder.o
[2113/4125] CXX obj/deps/v8/src/compiler/turboshaft/v8_turboshaft.late-load-elimination-reducer.o
[2114/4125] CXX obj/deps/v8/src/compiler/turboshaft/v8_turboshaft.loop-unrolling-phase.o
FAILED: obj/deps/v8/src/compiler/turboshaft/v8_turboshaft.loop-unrolling-phase.o 
c++ -MMD -MF obj/deps/v8/src/compiler/turboshaft/v8_turboshaft.loop-unrolling-phase.o.d -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=nodejs_conf -DNODE_OPENSSL_HAS_QUIC -DICU_NO_USER_DATA_OVERRIDE -DV8_GYP_BUILD -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -D__STDC_FORMAT_MACROS -DOPENSSL_NO_PINSHARED -DOPENSSL_THREADS -DV8_TARGET_ARCH_IA32 -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX '-DV8_EMBEDDER_STRING="-node.12"' -DENABLE_DISASSEMBLER -DV8_PROMISE_INTERNAL_FIELD_COUNT=1 -DV8_ENABLE_PRIVATE_MAPPING_FORK_OPTIMIZATION -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 -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 -Igen/generate-bytecode-output-root -Igen -I../../deps/icu-small/source/i18n -I../../deps/icu-small/source/common -I../../deps/v8/third_party/abseil-cpp -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 -msse2 -mfpmath=sse -mmmx -fno-strict-aliasing -m32 -m32 -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -fno-exceptions -std=gnu++20 -Wno-invalid-offsetof  -c ../../deps/v8/src/compiler/turboshaft/loop-unrolling-phase.cc -o obj/deps/v8/src/compiler/turboshaft/v8_turboshaft.loop-unrolling-phase.o
In file included from ../../deps/v8/src/base/contextual.h:11,
                 from ../../deps/v8/src/compiler/turboshaft/phase.h:10,
                 from ../../deps/v8/src/compiler/turboshaft/loop-unrolling-phase.h:8,
                 from ../../deps/v8/src/compiler/turboshaft/loop-unrolling-phase.cc:5:
../../deps/v8/src/base/small-vector.h: In instantiation of 'class v8::base::SmallVector<std::pair<const v8::internal::compiler::turboshaft::PhiOp*, const v8::internal::compiler::turboshaft::OpIndex>, 16>':
../../deps/v8/src/compiler/turboshaft/loop-unrolling-reducer.h:444:11:   required from here
../../deps/v8/src/base/macros.h:206:55: error: static assertion failed: T should be trivially copyable
  206 |   static_assert(::v8::base::is_trivially_copyable<T>::value, \
      |                                                       ^~~~~
../../deps/v8/src/base/small-vector.h:25:3: note: in expansion of macro 'ASSERT_TRIVIALLY_COPYABLE'
   25 |   ASSERT_TRIVIALLY_COPYABLE(T);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~
../../deps/v8/src/base/macros.h:206:55: note: 'v8::base::is_trivially_copyable<std::pair<const v8::internal::compiler::turboshaft::PhiOp*, const v8::internal::compiler::turboshaft::OpIndex> >::value' evaluates to false
  206 |   static_assert(::v8::base::is_trivially_copyable<T>::value, \
      |                                                       ^~~~~
../../deps/v8/src/base/small-vector.h:25:3: note: in expansion of macro 'ASSERT_TRIVIALLY_COPYABLE'
   25 |   ASSERT_TRIVIALLY_COPYABLE(T);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~
[2115/4125] CXX obj/deps/v8/src/compiler/turboshaft/v8_turboshaft.loop-peeling-phase.o
ninja: build stopped: subcommand failed.
make: *** [Makefile:152: node] Error 1
Error: Process completed with exit code 2.

Before You Submit

RedYetiDev commented 1 month ago

ninja: build stopped: subcommand failed.

Do you have ninja installed? (I'm not a build expert, so I'm just assuming that is what this error means, but I could be wrong)

@nodejs/build - Are you the right team to ping?

ckir commented 1 month ago

@RedYetiDev Yes I do have the package ninja-build installed. As I mention before my setup builds successfully up to version 21.7.3 but fails for 22.x

BTW: The project is open at https://github.com/ckir/debuilder so everyone can see every detail

RedYetiDev commented 2 weeks ago

Thanks for the info! Reping @nodejs/build.