nodejs / nan

Native Abstractions for Node.js
MIT License
3.27k stars 501 forks source link

Cross Compile for ARMv5 #933

Open ricardojlrufino opened 2 years ago

ricardojlrufino commented 2 years ago

Hi, I'm trying to compile for an ARMv5 device, but I'm getting the error below.

# node
> var NativeExtension = require('./')
node: can't resolve symbol 'node_module_register'

Target node version node v0.10.38 Target Device: ANYKA CPU AK3918 (ARMv5TEJ)

I'm managed to cross-compile to arm using:

export CROSS_COMPILE="arm-anykav200-linux-uclibcgnueabi-"
export CROSS_TOOL=arm-anykav200-linux-uclibcgnueabi-
export STAGING_DIR=/home/ricardo/Documents/IOT/qiwen-anycloud39ev300/anycloud39ev300/SDK/tools/arm-anykav200-crosstool/usr

# use old v0.10.x node 
export PATH="/home/ricardo/Documents/IOT/anyka/src/node/_install/bin:$PATH";

export PATH="$STAGING_DIR/bin:$PATH"
export LD_LIBRARY_PATH=$STAGING_DIR/lib:$LD_LIBRARY_PATH

export CC=${CROSS_COMPILE}gcc
export CXX=${CROSS_COMPILE}g++

node -v
npm -v

npm --target_arch=arm-linux install
npm --target_arch=arm-linux run configure
npm --target_arch=arm-linux run build
ricardojlrufino commented 2 years ago

i think that only exist in v0.12 image

but it is not compatible with my architecture node v0.11.1 v8 engine 3.18.0. Removed ARM support for VFP2.

ricardojlrufino commented 2 years ago

downgrade to "nan": "2.10.0" works