I'm trying to get the npm package serialport to work with the latest firmware, npm v5.6.0 and node v8.10.0, but to my knowledge there isn't any precompiled binaries for this version. I've tried building from source, but get this output where ld returns with an error /usr/bin/ld: cannot find -lpthread.
BusyBox v1.28.3 () built-in shell (ash)
****____ _ ____
/ __ \___ (_)__ ___ / __ \__ _ ___ ___ ____ _
/ /_/ / _ \/ / _ \/ _ \ / /_/ / ' \/ -_) _ `/ _ `/
\____/_//_/_/\___/_//_/ \____/_/_/_/\__/\_, /\_,_/
W H A T W I L L Y O U I N V E N T ? /___/
-----------------------------------------------------****
O-ware: 0.3.2 b218
-----------------------------------------------------
root@Omega-2F49:~# node --max_old_space_size=64 $(which npm) install serialport
--unsafe-perm --build-from-source
> @serialport/bindings@2.0.7 install /root/node_modules/@serialport/bindings
> prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
make: Entering directory '/root/node_modules/@serialport/bindings/build'
CXX(target) Release/obj.target/bindings/src/serialport.o
CXX(target) Release/obj.target/bindings/src/serialport_unix.o
CXX(target) Release/obj.target/bindings/src/poller.o
CXX(target) Release/obj.target/bindings/src/serialport_linux.o
SOLINK_MODULE(target) Release/obj.target/bindings.node
/usr/bin/ld: cannot find -lpthread
collect2: error: ld returned 1 exit status
make: *** [bindings.target.mk:128: Release/obj.target/bindings.node] Error 1
make: Leaving directory '/root/node_modules/@serialport/bindings/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_module s/node-gyp/lib/build.js:262:23)
gyp ERR! stack at emitTwo (events.js:126:13)
gyp ERR! stack at ChildProcess.emit (events.js:214:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_proces s.js:198:12)
gyp ERR! System Linux 4.14.81
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gy p/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /root/node_modules/@serialport/bindings
gyp ERR! node -v v8.10.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm WARN enoent ENOENT: no such file or directory, open '/root/package.json'
npm WARN root No description
npm WARN root No repository field.
npm WARN root No README data
npm WARN root No license field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @serialport/bindings@2.0.7 install: `prebuild-install --tag-prefix @ser ialport/bindings@ || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @serialport/bindings@2.0.7 install script.
npm ERR! This is probably not a problem with npm. There is likely additional log ging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2019-03-19T08_25_29_634Z-debug.log
If I try to
opkg install libpthread
I get
Package libpthread (1.1.19-1) installed in root is up to date.
I have the latest versions of make (4.2.1-2) and gcc version 5.4.0 (OpenWrt GCC 5.4.0) with threadmodel: posix
Did anyone else have luck installing serialport or know how to do it, or do I have to bite the dust and use older firmware to get an older, working package?
regards