-
Notifications
You must be signed in to change notification settings - Fork 1
Description
The Node-RED service container will run on arm64 but the COCO SSD node fails because the node.js tensorflow binding does not compile successfully. Object detection fails.
I've been down this rabbit hole before with node-gyp and libtensorflow on arm64.
To test manually, on a Raspberry Pi, run/exec into a container, copy in the package.json, install the gcc toolchains, install the npm dev dependencies, try to compile npm rebuild @tensorflow/tfjs-node --build-from-source
"/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" --verbose --module_name=tfjs_binding --module_path="./lib/napi-v{napi_build_version}"
will compile the .o objects but fails when linking.
SOLINK_MODULE(target) Release/obj.target/tfjs_binding.node
/usr/bin/ld: skipping incompatible /opt/app-root/data/node_modules/@tensorflow/tfjs-node/deps/lib/libtensorflow.so when searching for -ltensorflow
/usr/bin/ld: cannot find -ltensorflow
The /opt/app-root/data/node_modules/@tensorflow/tfjs-node/deps/lib/libtensorflow_framework.so.1.14.0
and libtensorflow.so.1.14.0
exist but don't link.
Over the past 5 years, I've dug deep here. Maybe one time I found success on a Jetson Nano by reusing a CUDA gpu lib.... (?)
Opening this ticket so others might not fall down the hole as deep as I have.