Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
2 tasks done
dounsm opened this issue Jul 21, 2024 · 4 comments
Open
2 tasks done
Labels

Comments

@dounsm
Copy link

dounsm commented Jul 21, 2024

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

  • 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
@RedYetiDev
Copy link
Member

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

@preveen-stack
Copy link
Contributor

preveen-stack commented Jul 27, 2024

# 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
Copy link
Author

dounsm commented Jul 28, 2024

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
Copy link
Author

dounsm commented Jul 28, 2024

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?
(°ー°〃)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants