nodejs / help

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

Failed to cross-complie fully-static nodejs with arm-linux-gnueabihf complier #4449

Open dounsm opened 3 months ago

dounsm commented 3 months ago

Node.js Version

node-20.15.1

NPM Version

8.5.1

Operating System

Linux dounsmUbuntu 6.5.0-44-generic #44~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Jun 18 14:36:16 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

Subsystem

Other

Description

Issue during compliing

Something wrong happens during building host tool icu-tools

And I couldn't get any useful information from the Internet as nobody has the same question

It seems that the building process tries to produce i386 program on my x86-64 ubuntu system.

Environment

configure: ./configure --prefix=/media/dounsm/Program/JDXEnv/node-20.15.1_2/dist --dest-cpu=arm --dest-os=linux --cross-compiling --fully-static --with-arm-float-abi=hard

cross-complier: gcc-linaro-14.0.0-2023.06-x86_64_arm-linux-gnueabihf

host-complier: x86_64-linux-gnu 11.4.0

/etc/profile for cross-compling:

export PREFIX=arm-linux-gnueabihf-
export CC=${PREFIX}"gcc"
export CXX=${PREFIX}"c++"
export LINK=$CXX
export LD=${PREFIX}ld
export AR=${PREFIX}ar
export AS=${PREFIX}as
export RANLIB=${PREFIX}ranlib
export CROSS_COMPILE=arm-linux-gnueabihf-
export ARCH=arm
# Native compilers
export AR_host="ar"
export CC_host="gcc"
export CXX_host="g++"
export LINK_host="g++"

export AR_HOST="ar"
export CC_HOST="gcc"
export CXX_HOST="g++"
export LINK_HOST="g++"
# extras for convenience.
export OBJD=${PREFIX}objdump
export GDB=${PREFIX}gdb
export RDE=${PREFIX}readelf

Why I do this

I have an arm-based device and I want to install nodejs on it.

Here is the /proc/cpuinfo

administrator@JDCAX1800-3968:/tmp/home/root# cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 72.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32 CPU implementer : 0x51 CPU architecture: 7 CPU variant : 0xa CPU part : 0x801 CPU revision : 4

processor : 1 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 72.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32 CPU implementer : 0x51 CPU architecture: 7 CPU variant : 0xa CPU part : 0x801 CPU revision : 4

processor : 2 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 72.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32 CPU implementer : 0x51 CPU architecture: 7 CPU variant : 0xa CPU part : 0x801 CPU revision : 4

processor : 3 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 72.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32 CPU implementer : 0x51 CPU architecture: 7 CPU variant : 0xa CPU part : 0x801 CPU revision : 4

Hardware : Generic DT based system Revision : 0000 Serial : 0000000000000000

So I think I should use armv7l cross-complier

I use gcc-linaro-14.0.0-2023.06-x86_64_arm-linux-gnueabihf

But I've spent over 5 hours and had no idea to finish it

Minimal Reproduction

Use these commands:

unzip *.zip
cd node-20.15.1
make clean
./configure --prefix=~dounsm/nodedist --dest-cpu=arm --dest-os=linux --cross-compiling --fully-static --with-arm-float-abi=hard
make -j20

Here is the script I use(/etc/profile):

export PREFIX=arm-linux-gnueabihf-
export CC=${PREFIX}"gcc"
export CXX=${PREFIX}"c++"
export LINK=$CXX
export LD=${PREFIX}ld
export AR=${PREFIX}ar
export AS=${PREFIX}as
export RANLIB=${PREFIX}ranlib
export CROSS_COMPILE=arm-linux-gnueabihf-
export ARCH=arm
# Native compilers
export AR_host="ar"
export CC_host="gcc"
export CXX_host="g++"
export LINK_host="g++"

export AR_HOST="ar"
export CC_HOST="gcc"
export CXX_HOST="g++"
export LINK_HOST="g++"
# extras for convenience.
export OBJD=${PREFIX}objdump
export GDB=${PREFIX}gdb
export RDE=${PREFIX}readelf

Output

As the full output is too long I sorted some out

I use Chinese so there may be some Chinese characters that just mean an error occurred.

  g++ -o /home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/server-data.o ../deps/v8/src/torque/server-data.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_ARM' '-DCAN_USE_ARMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.23"' '-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' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' '-DUSE_EABI_HARDFLOAT=1' -I../deps/v8 -I../deps/v8/include  -pthread -Wno-unused-parameter -Wno-return-type -flax-vector-conversions -fno-strict-aliasing -m64 -m32 -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -std=gnu++17 -fexceptions -MMD -MF /home/dounsm/node-20.15.1/out/Release/.deps//home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/server-data.o.d.raw   -c
  g++ -o /home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/source-positions.o ../deps/v8/src/torque/source-positions.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_ARM' '-DCAN_USE_ARMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.23"' '-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' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' '-DUSE_EABI_HARDFLOAT=1' -I../deps/v8 -I../deps/v8/include  -pthread -Wno-unused-parameter -Wno-return-type -flax-vector-conversions -fno-strict-aliasing -m64 -m32 -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -std=gnu++17 -fexceptions -MMD -MF /home/dounsm/node-20.15.1/out/Release/.deps//home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/source-positions.o.d.raw   -c
  g++ -o /home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/torque-code-generator.o ../deps/v8/src/torque/torque-code-generator.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_ARM' '-DCAN_USE_ARMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.23"' '-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' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' '-DUSE_EABI_HARDFLOAT=1' -I../deps/v8 -I../deps/v8/include  -pthread -Wno-unused-parameter -Wno-return-type -flax-vector-conversions -fno-strict-aliasing -m64 -m32 -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -std=gnu++17 -fexceptions -MMD -MF /home/dounsm/node-20.15.1/out/Release/.deps//home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/torque-code-generator.o.d.raw   -c
  g++ -o /home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/torque-compiler.o ../deps/v8/src/torque/torque-compiler.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_ARM' '-DCAN_USE_ARMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.23"' '-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' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' '-DUSE_EABI_HARDFLOAT=1' -I../deps/v8 -I../deps/v8/include  -pthread -Wno-unused-parameter -Wno-return-type -flax-vector-conversions -fno-strict-aliasing -m64 -m32 -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -std=gnu++17 -fexceptions -MMD -MF /home/dounsm/node-20.15.1/out/Release/.deps//home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/torque-compiler.o.d.raw   -c
  g++ -o /home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/torque-parser.o ../deps/v8/src/torque/torque-parser.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_ARM' '-DCAN_USE_ARMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.23"' '-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' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' '-DUSE_EABI_HARDFLOAT=1' -I../deps/v8 -I../deps/v8/include  -pthread -Wno-unused-parameter -Wno-return-type -flax-vector-conversions -fno-strict-aliasing -m64 -m32 -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -std=gnu++17 -fexceptions -MMD -MF /home/dounsm/node-20.15.1/out/Release/.deps//home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/torque-parser.o.d.raw   -c
  g++ -o /home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/type-inference.o ../deps/v8/src/torque/type-inference.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_ARM' '-DCAN_USE_ARMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.23"' '-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' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' '-DUSE_EABI_HARDFLOAT=1' -I../deps/v8 -I../deps/v8/include  -pthread -Wno-unused-parameter -Wno-return-type -flax-vector-conversions -fno-strict-aliasing -m64 -m32 -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -std=gnu++17 -fexceptions -MMD -MF /home/dounsm/node-20.15.1/out/Release/.deps//home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/type-inference.o.d.raw   -c
  g++ -o /home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/type-oracle.o ../deps/v8/src/torque/type-oracle.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_ARM' '-DCAN_USE_ARMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.23"' '-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' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' '-DUSE_EABI_HARDFLOAT=1' -I../deps/v8 -I../deps/v8/include  -pthread -Wno-unused-parameter -Wno-return-type -flax-vector-conversions -fno-strict-aliasing -m64 -m32 -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -std=gnu++17 -fexceptions -MMD -MF /home/dounsm/node-20.15.1/out/Release/.deps//home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/type-oracle.o.d.raw   -c
  g++ -o /home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/type-visitor.o ../deps/v8/src/torque/type-visitor.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_ARM' '-DCAN_USE_ARMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.23"' '-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' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' '-DUSE_EABI_HARDFLOAT=1' -I../deps/v8 -I../deps/v8/include  -pthread -Wno-unused-parameter -Wno-return-type -flax-vector-conversions -fno-strict-aliasing -m64 -m32 -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -std=gnu++17 -fexceptions -MMD -MF /home/dounsm/node-20.15.1/out/Release/.deps//home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/type-visitor.o.d.raw   -c
  g++ -o /home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/types.o ../deps/v8/src/torque/types.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_ARM' '-DCAN_USE_ARMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.23"' '-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' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' '-DUSE_EABI_HARDFLOAT=1' -I../deps/v8 -I../deps/v8/include  -pthread -Wno-unused-parameter -Wno-return-type -flax-vector-conversions -fno-strict-aliasing -m64 -m32 -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -std=gnu++17 -fexceptions -MMD -MF /home/dounsm/node-20.15.1/out/Release/.deps//home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/types.o.d.raw   -c
  g++ -o /home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/utils.o ../deps/v8/src/torque/utils.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_ARM' '-DCAN_USE_ARMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.23"' '-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' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' '-DUSE_EABI_HARDFLOAT=1' -I../deps/v8 -I../deps/v8/include  -pthread -Wno-unused-parameter -Wno-return-type -flax-vector-conversions -fno-strict-aliasing -m64 -m32 -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -std=gnu++17 -fexceptions -MMD -MF /home/dounsm/node-20.15.1/out/Release/.deps//home/dounsm/node-20.15.1/out/Release/obj.host/torque_base/deps/v8/src/torque/utils.o.d.raw   -c
  touch /home/dounsm/node-20.15.1/out/Release/obj.host/tools/v8_gypfiles/v8_flags.stamp
  g++ -o /home/dounsm/node-20.15.1/out/Release/gen-regexp-special-case -pthread -rdynamic -m64 -m32  -Wl,--start-group /home/dounsm/node-20.15.1/out/Release/obj.host/gen-regexp-special-case/deps/v8/src/regexp/gen-regexp-special-case.o /home/dounsm/node-20.15.1/out/Release/obj.host/tools/v8_gypfiles/libv8_libbase.a /home/dounsm/node-20.15.1/out/Release/obj.host/tools/icu/libicutools.a -static -ldl -lrt -Wl,--end-group
  touch /home/dounsm/node-20.15.1/out/Release/obj.target/tools/v8_gypfiles/v8_flags.stamp
  arm-linux-gnueabihf-c++ -o /home/dounsm/node-20.15.1/out/Release/obj.target/torque_base/deps/v8/src/torque/cc-generator.o ../deps/v8/src/torque/cc-generator.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_ARM' '-DCAN_USE_ARMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.23"' '-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' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' -I../deps/v8 -I../deps/v8/include  -pthread -Wno-unused-parameter -Wno-return-type -flax-vector-conversions -fno-strict-aliasing -march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard -marm -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -std=gnu++17 -fexceptions -MMD -MF /home/dounsm/node-20.15.1/out/Release/.deps//home/dounsm/node-20.15.1/out/Release/obj.target/torque_base/deps/v8/src/torque/cc-generator.o.d.raw   -c
  arm-linux-gnueabihf-c++ -o /home/dounsm/node-20.15.1/out/Release/obj.target/torque_base/deps/v8/src/torque/cfg.o ../deps/v8/src/torque/cfg.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_ARM' '-DCAN_USE_ARMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.23"' '-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' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' -I../deps/v8 -I../deps/v8/include  -pthread -Wno-unused-parameter -Wno-return-type -flax-vector-conversions -fno-strict-aliasing -march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard -marm -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -std=gnu++17 -fexceptions -MMD -MF /home/dounsm/node-20.15.1/out/Release/.deps//home/dounsm/node-20.15.1/out/Release/obj.target/torque_base/deps/v8/src/torque/cfg.o.d.raw   -c
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/usetiter.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/unistr.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/ucase.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/appendable.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/putil.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/ustring.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uniset.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/unifunct.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uvector.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uniset_props.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/util.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/unames.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/udataswp.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/unifilt.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/utrie2.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/ucln_cmn.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/characterproperties.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/normalizer2.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/bmpset.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uniset_closure.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/charstr.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/loadednormalizer2impl.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/locid.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/unisetspan.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/bytesinkutil.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/umath.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uobject.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/unistr_case_locale.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/ubidi_props.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/parsepos.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/normalizer2impl.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uprops.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/cmemory.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/utrace.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/stringpiece.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uchar.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/udatamem.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/brkiter.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/ustrtrns.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uarrsort.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uinvchar.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/rbbi.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/utf_impl.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/cstring.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/ucptrie.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/patternprops.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/umutex.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uresbund.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/localebuilder.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/edits.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/udata.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/locavailable.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/ruleiter.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/emojiprops.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/propname.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/ustrcase.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/rbbirb.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uhash.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/resource.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/umutablecptrie.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/unistr_titlecase_brkiter.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/bytestream.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/errorcode.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/filteredbrk.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/ustr_titlecase_brkiter.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/ustrenum.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/ucharstriebuilder.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uchriter.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/brkeng.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/unistr_case.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/utext.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uloc_tag.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uloc.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uvectr32.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/rbbidata.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/loclikely.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/ucharstrieiterator.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/umapfile.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uloc_keytype.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/stringtriebuilder.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/locbased.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/utrie_swap.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/ustrcase_locale.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uresdata.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/rbbiscan.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/stubdata/stubdata.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/ucmndata.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/bytestrie.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/loclikelysubtags.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/rbbistbl.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/ustack.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/rbbi_cache.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uscript_props.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uenum.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/lstmbe.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/ucharstrie.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/utypes.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/rbbinode.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/dictbe.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/rbbitblb.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/rbbisetb.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/locmap.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/chariter.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/dictionarydata.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/lsr.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/ucol_swp.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/resbund.o' is incompatible with i386 output
  arm-linux-gnueabihf-c++ -o /home/dounsm/node-20.15.1/out/Release/obj.target/torque_base/deps/v8/src/torque/class-debug-reader-generator.o ../deps/v8/src/torque/class-debug-reader-generator.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_ARM' '-DCAN_USE_ARMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.23"' '-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' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' -I../deps/v8 -I../deps/v8/include  -pthread -Wno-unused-parameter -Wno-return-type -flax-vector-conversions -fno-strict-aliasing -march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard -marm -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -std=gnu++17 -fexceptions -MMD -MF /home/dounsm/node-20.15.1/out/Release/.deps//home/dounsm/node-20.15.1/out/Release/obj.target/torque_base/deps/v8/src/torque/class-debug-reader-generator.o.d.raw   -c
/usr/bin/ld: /home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/uniset.o: in function `icu_75::SymbolTable::~SymbolTable()':
uniset.cpp:(.text+0x259a): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/unifilt.o: in function `icu_75::UnicodeMatcher::~UnicodeMatcher()':
unifilt.cpp:(.text+0x25a): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/locid.o: in function `icu_75::Locale::Iterator::~Iterator()':
locid.cpp:(.text+0x256a): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/lstmbe.o: in function `icu_75::ConstArray1D::~ConstArray1D()':
lstmbe.cpp:(.text+0x9a): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/lstmbe.o: in function `icu_75::Array1D::~Array1D()':
lstmbe.cpp:(.text+0xd2): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /home/dounsm/node-20.15.1/out/Release/obj.host/icutools/deps/icu-small/source/common/lstmbe.o:lstmbe.cpp:(.text+0xea): more undefined references to `operator delete(void*, unsigned long)' follow
  arm-linux-gnueabihf-c++ -o /home/dounsm/node-20.15.1/out/Release/obj.target/torque_base/deps/v8/src/torque/cpp-builder.o ../deps/v8/src/torque/cpp-builder.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_ARM' '-DCAN_USE_ARMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.23"' '-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' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' -I../deps/v8 -I../deps/v8/include  -pthread -Wno-unused-parameter -Wno-return-type -flax-vector-conversions -fno-strict-aliasing -march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard -marm -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -std=gnu++17 -fexceptions -MMD -MF /home/dounsm/node-20.15.1/out/Release/.deps//home/dounsm/node-20.15.1/out/Release/obj.target/torque_base/deps/v8/src/torque/cpp-builder.o.d.raw   -c
collect2: error: ld returned 1 exit status
make[1]: *** [tools/v8_gypfiles/gen-regexp-special-case.host.mk:209:/home/dounsm/node-20.15.1/out/Release/gen-regexp-special-case] 错误 1
make[1]: *** 正在等待未完成的任务....
rm 5e99b84169a881b5e9f4c2866d5ea4831feb14fd.intermediate ea2341f2bcdc35e421084b94c5ae4a2881ad63a2.intermediate
make: *** [Makefile:137:node] 错误 2

Before You Submit

RedYetiDev commented 3 months ago

@nodejs/build - is this your "thing"?

preveen-stack commented 3 months ago
# Add ARM toolchain to the PATH
export PATH=/path/to/arm/toolchain/bin:$PATH

# Set the cross-compiler prefix
export CROSS_COMPILE=arm-linux-gnueabihf-

# Set the target architecture
export ARCH=arm

# Additional flags for ARMv7
export CFLAGS="-march=armv7-a"
export CXXFLAGS="-march=armv7-a"
export LDFLAGS=""

# Inform the system about the compiler
export CC=${CROSS_COMPILE}gcc
export CXX=${CROSS_COMPILE}g++
export LD=${CROSS_COMPILE}ld
export AR=${CROSS_COMPILE}ar
export AS=${CROSS_COMPILE}as
export NM=${CROSS_COMPILE}nm
export STRIP=${CROSS_COMPILE}strip

I guess your /etc/profile should look something like this.

dounsm commented 3 months ago

I modified /etc/profile like this:

export PATH=$PATH:/usr/local/arm-linux/gccl14/bin

# Set the cross-compiler prefix
export CROSS_COMPILE=arm-linux-gnueabihf-

# Set the target architecture
export ARCH=arm

# Additional flags for ARMv7
export CFLAGS="-march=armv7-a"
export CXXFLAGS="-march=armv7-a"
export LDFLAGS=""

# Inform the system about the compiler
export CC=${CROSS_COMPILE}gcc
export CXX=${CROSS_COMPILE}g++
export LD=${CROSS_COMPILE}ld
export AR=${CROSS_COMPILE}ar
export AS=${CROSS_COMPILE}as
export NM=${CROSS_COMPILE}nm
export STRIP=${CROSS_COMPILE}strip

However it didn't work but this time the output was a little different: When I tried to use ./configure --prefix=/files/nodeinst --dest-cpu=arm --dest-os=linux --cross-compiling --fully-static --with-arm-float-abi=hard It said:

dso_dlfcn.c:(.text+0xa): 警告: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/local/arm-linux/gccl14/bin/../lib/gcc/arm-linux-gnueabihf/14.0.0/../../../../arm-linux-gnueabihf/bin/ld: /files/node-20.15.1/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/bio/bio_addr.o: in function `BIO_lookup_ex':
bio_addr.c:(.text+0x7ee): 警告: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/local/arm-linux/gccl14/bin/../lib/gcc/arm-linux-gnueabihf/14.0.0/../../../../arm-linux-gnueabihf/bin/ld: /files/node-20.15.1/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/bio/bio_sock.o: in function `BIO_gethostbyname':
bio_sock.c:(.text+0x19a): 警告: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
  arm-linux-gnueabihf-c++ -o /files/node-20.15.1/out/Release/bytecode_builtins_list_generator -pthread -rdynamic  -Wl,--start-group /files/node-20.15.1/out/Release/obj.host/bytecode_builtins_list_generator/deps/v8/src/builtins/generate-bytecodes-builtins-list.o /files/node-20.15.1/out/Release/obj.host/bytecode_builtins_list_generator/deps/v8/src/interpreter/bytecode-operands.o /files/node-20.15.1/out/Release/obj.host/bytecode_builtins_list_generator/deps/v8/src/interpreter/bytecodes.o /files/node-20.15.1/out/Release/obj.host/tools/v8_gypfiles/libv8_libbase.a -static -ldl -lrt -Wl,--end-group
  LD_LIBRARY_PATH=/files/node-20.15.1/out/Release/lib.host:/files/node-20.15.1/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../tools/v8_gypfiles; mkdir -p /files/node-20.15.1/out/Release/obj/gen/src/regexp; /usr/bin/python3.10 ../../deps/v8/tools/run.py "/files/node-20.15.1/out/Release/gen-regexp-special-case" "/files/node-20.15.1/out/Release/obj/gen/src/regexp/special-case.cc"
Traceback (most recent call last):
  File "/files/node-20.15.1/tools/v8_gypfiles/../../deps/v8/tools/run.py", line 12, in <module>
    result = subprocess.call(sys.argv[1:])
  File "/usr/lib/python3.10/subprocess.py", line 345, in call
    with Popen(*popenargs, **kwargs) as p:
  File "/usr/lib/python3.10/subprocess.py", line 971, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.10/subprocess.py", line 1863, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/files/node-20.15.1/out/Release/gen-regexp-special-case'
  LD_LIBRARY_PATH=/files/node-20.15.1/out/Release/lib.host:/files/node-20.15.1/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../tools/icu; mkdir -p /files/node-20.15.1/out/Release/obj/gen; "/files/node-20.15.1/out/Release/icupkg" -tl ../../deps/icu-tmp/icudt75l.dat "/files/node-20.15.1/out/Release/obj/gen/icudt75l.dat"
make[1]: *** [tools/v8_gypfiles/run_gen-regexp-special-case.target.mk:13:/files/node-20.15.1/out/Release/obj/gen/src/regexp/special-case.cc] 错误 1
make[1]: *** 正在等待未完成的任务....
/bin/sh: 1: /files/node-20.15.1/out/Release/icupkg: Exec format error
make[1]: *** [tools/icu/icudata.target.mk:13:/files/node-20.15.1/out/Release/obj/gen/icudt75l.dat] 错误 126
rm 1000c7ad60726045db9ca9ad6feea1577481277c.intermediate 9e6e7cab09adddb5175da5de1cd352430379deea.intermediate
make: *** [Makefile:137:node] 错误 2

Note: 警告 means warning and 错误 means error

I think that there is a problem with --fully-static So I use ./configure --prefix=/files/nodeinst --dest-cpu=arm --dest-os=linux --cross-compiling --with-arm-float-abi=hard (--fully-static removed)

LD_LIBRARY_PATH=/files/node-20.15.1/out/Release/lib.host:/files/node-20.15.1/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../tools/v8_gypfiles; mkdir -p /files/node-20.15.1/out/Release/obj/gen/src/regexp; /usr/bin/python3.10 ../../deps/v8/tools/run.py "/files/node-20.15.1/out/Release/gen-regexp-special-case" "/files/node-20.15.1/out/Release/obj/gen/src/regexp/special-case.cc"
  touch /files/node-20.15.1/out/Release/obj.target/tools/v8_gypfiles/v8_flags.stamp
  arm-linux-gnueabihf-g++ -o /files/node-20.15.1/out/Release/obj.target/torque_base/deps/v8/src/torque/cc-generator.o ../deps/v8/src/torque/cc-generator.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_ARM' '-DCAN_USE_ARMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.23"' '-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' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' -I../deps/v8 -I../deps/v8/include  -pthread -Wno-unused-parameter -Wno-return-type -flax-vector-conversions -fno-strict-aliasing -march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard -marm -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -std=gnu++17 -fexceptions -MMD -MF /files/node-20.15.1/out/Release/.deps//files/node-20.15.1/out/Release/obj.target/torque_base/deps/v8/src/torque/cc-generator.o.d.raw  -march=armv7-a -c
Traceback (most recent call last):
  File "/files/node-20.15.1/tools/v8_gypfiles/../../deps/v8/tools/run.py", line 12, in <module>
    result = subprocess.call(sys.argv[1:])
  File "/usr/lib/python3.10/subprocess.py", line 345, in call
    with Popen(*popenargs, **kwargs) as p:
  File "/usr/lib/python3.10/subprocess.py", line 971, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.10/subprocess.py", line 1863, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/files/node-20.15.1/out/Release/gen-regexp-special-case'
make[1]: *** [tools/v8_gypfiles/run_gen-regexp-special-case.target.mk:13:/files/node-20.15.1/out/Release/obj/gen/src/regexp/special-case.cc] 错误 1
make[1]: *** 正在等待未完成的任务....
rm 1000c7ad60726045db9ca9ad6feea1577481277c.intermediate 9e6e7cab09adddb5175da5de1cd352430379deea.intermediate
make: *** [Makefile:137:node] 错误 2

It seems that the major problem is /bin/sh: 1: /files/node-20.15.1/out/Release/icupkg: Exec format error

dounsm commented 3 months ago

So I checked the path and I found this :

dounsm@dounsmUbuntu:/files/node-20.15.1/out/Release$ readelf -h gen-regexp-special-case
ELF 头:
  Magic:   7f 45 4c 46 01 01 01 03 00 00 00 00 00 00 00 00 
  类别:                              ELF32
  数据:                              2 补码,小端序 (little endian)
  Version:                           1 (current)
  OS/ABI:                            UNIX - GNU
  ABI 版本:                          0
  类型:                              EXEC (可执行文件)
  系统架构:                          ARM
  版本:                              0x1
  入口点地址:               0x11489
  程序头起点:          52 (bytes into file)
  Start of section headers:          14279196 (bytes into file)
  标志:             0x5000400, Version5 EABI, hard-float ABI
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         7
  Size of section headers:           40 (bytes)
  Number of section headers:         34
  Section header string table index: 33
dounsm@dounsmUbuntu:/files/node-20.15.1/out/Release$ file gen-regexp-special-case
gen-regexp-special-case: ELF 32-bit LSB executable, ARM, EABI5 version 1 (GNU/Linux), statically linked, BuildID[sha1]=c286ff347974117e887065cc47e0cd6cb639054b, for GNU/Linux 3.2.0, with debug_info, not stripped

NOTE the format is for ARM

Why did it try to run ARM-built program on the host computer? (°ー°〃)