itsmepetrov / homebridge-zigbee

ZigBee Platform plugin for HomeBridge
https://itsmepetrov.github.io/homebridge-zigbee/
MIT License
106 stars 36 forks source link

Build error #48

Closed tomaae closed 2 years ago

tomaae commented 4 years ago

Hello, I'm unable to install this plugin from Homebridge Config UI X, with following errors:

../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:41:48: error: no matching function for call to ‘v8::Value::ToString()’ v8::String::Utf8Value path(info[0]->ToString()); ........................................................... 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_modules/node-gyp/lib/build.js:194:23) gyp ERR! stack at ChildProcess.emit (events.js:210:5) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12) gyp ERR! System Linux 4.19.0-0.bpo.6-amd64 gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /usr/lib/node_modules/homebridge-zigbee/node_modules/serialport gyp ERR! node -v v12.13.0 gyp ERR! node-gyp -v v5.0.5 gyp ERR! not ok npm WARN notsup Unsupported engine for concentrate@0.2.3: wanted: {"node":"~0.10.0"} (current: {"node":"12.13.0","npm":"6.12.0"}) npm WARN notsup Not compatible with your version of node/npm: concentrate@0.2.3 npm WARN notsup Unsupported engine for dissolve@0.3.3: wanted: {"node":"~0.10.0"} (current: {"node":"12.13.0","npm":"6.12.0"}) npm WARN notsup Not compatible with your version of node/npm: dissolve@0.3.3

looks like there is some old serialport version in requirements.

BobbyT commented 4 years ago

47

tomaae commented 4 years ago

47

exit code 2 is just a generic error. Problem is that dependency under version specified in this package serialport@6.2.2 wont compile with current version of nodejs as required by homebridge. latest serialport will compile file, so it was already fixed on their side, but maintainer of homebridge-zigbee will probably have to update dependency versions.

47 was just closed without any comment, could be just person giving up on the module.

tomaae commented 4 years ago

After updating serialport dependencies to 8 (6.2.2 is latest in 6 and 7 does not exist), installation is successful, but there is following error: Unhandled Rejection TypeError: SerialPort.list no longer takes a callback and only returns a promise at Function.SerialPort.list (/usr/lib/node_modules/homebridge-zigbee/node_modules/@serialport/stream/lib/index.js:651:11)

So I guess that maintainer needs to update this plugin to work with newer serialport version for it to work.

tomaae commented 4 years ago

Looks like that error is related to port detection. once I set the port manually it went away. There is no error anymore and homebridge reports plugin starting. But there is no "Permit Join" switch in accessories.

tomaae commented 4 years ago

after updating dependencies (serialport to 8.0.5 in homebridge-zigbee and cc-znp) and adding homebridge user to group dialout, everything except port detection seem to work. Initial port detection is no big deal, since it can be just added manually.

I leave this issue opened for maintainer to update code and document.

mrdc commented 4 years ago

@tomaae The same issue for me - can't install the plugin after I had removed docker container with homebridge and have reinstalled the homebridge.

simonlock commented 4 years ago

So is this plugin now unusable? It does not install on a Raspberry Pi; I have also installed the latest version of SerialPort independently and installation is still a no go.