Skip to content

Failed to Build 22.3.0 on raspberry pi bookworm #4430

Description

@junkfix

Node.js Version

v22.3.0

NPM Version

v0.0.0

Operating System

Linux nas 6.6.28+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.28-1+rpt1 (2024-04-22) aarch64 GNU/Linux

Subsystem

v8

Description

The last known version built sucess was 20.7.0 on the same system.

Minimal Reproduction

./configure --prefix=/home/pi/nodejs
make -j 1 CFLAGS="-Wall -Os -s" CXXFLAGS="-Os -s"

Output

 g++ -o /mnt/usb2/out/Release/obj.target/v8_turboshaft/deps/v8/src/compiler/turboshaft/csa-optimize-phase.o ../deps/v8/src/compiler/turboshaft/csa-optimize-phase.cc '-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_ARM64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.13"' '-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_MAGLEV' '-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 -I/mnt/usb2/out/Release/obj/gen/generate-bytecode-output-root -I/mnt/usb2/out/Release/obj/gen -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 -fno-strict-aliasing -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -fno-exceptions -std=gnu++20 -Wno-invalid-offsetof -MMD -MF /mnt/usb2/out/Release/.deps//mnt/usb2/out/Release/obj.target/v8_turboshaft/deps/v8/src/compiler/turboshaft/csa-optimize-phase.o.d.raw   -c
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);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [tools/v8_gypfiles/v8_turboshaft.target.mk:234: /mnt/usb2/out/Release/obj.target/v8_turboshaft/deps/v8/src/compiler/turboshaft/csa-optimize-phase.o] Error 1
rm 27c55866b032b31bdede6e24320e650f73577b55.intermediate 273caa085166b5c4841a121fab9c5368b1d9fc7a.intermediate 3b23b11eb322d65e870bad041146a486acd463d6.intermediate
make: *** [Makefile:137: node] Error 2
install failed

Before You Submit

  • I have looked for issues that already exist before submitting this
  • My issue follows the guidelines in the README file, and follows the 'How to ask a good question' guide at https://stackoverflow.com/help/how-to-ask

Activity

  1. avivkeller commented on Jun 28, 2024

    @avivkeller
    Member

    Can you build on this system without additional flag?

    ./configure
    make
    

    Additionally, have you tried building after cleaning with make distclean?

  2. junkfix commented on Jun 29, 2024

    @junkfix
    Author

    I was building using just 1 core and took ~40 hours to build when the error came so not have not tried without additional flags but seems like same issue as #4406 and nodejs/node#53633

    the build was freshly downloaded in a new directory so it did not need cleaning.

  3. avivkeller commented on Jun 29, 2024

    @avivkeller
    Member

    FWIW
    using ccache and ninja can speed up the process (40 hours is a bit long, my node builds in ~5minutes with ninja and ccache, 4 jobs)

  4. added 3 commits that reference this issue on Jul 28, 2024
  5. added a commit that references this issue on Aug 5, 2024
  6. junkfix commented on Sep 14, 2024

    @junkfix
    Author

    Just tried to build 22.8.0 and it worked fine.
    Thanks.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions