ioBroker / ioBroker.zwave

Legacy Z-Wave integration using OpenZWave
Other
24 stars 7 forks source link

Adapter 1.6.0 Installation does not work #79

Closed jupzup closed 4 years ago

jupzup commented 4 years ago

Hello, the Installation of the last Version 1.6.0. does not work.

`pi@ioBroker-slave:~ $ npm install https://github.com/ioBroker/ioBroker.zwave/tarball/master --production --save --prefix "/opt/iobroker"

openzwave-shared@1.5.6 preinstall /opt/iobroker/node_modules/openzwave-shared node lib/install-ozw.js

iobroker.zwave@1.6.0 preinstall /opt/iobroker/node_modules/iobroker.zwave node lib/preinstall.js

openzwave-shared@1.5.6 install /opt/iobroker/node_modules/openzwave-shared node-gyp rebuild

make: Verzeichnis „/opt/iobroker/node_modules/openzwave-shared/build“ wird betreten CXX(target) Release/obj.target/openzwave_shared/src/callbacks.o ../src/callbacks.cc: In function ‘void OZW::ozw_watcher_callback(const OpenZWave::Notification, void)’: ../src/callbacks.cc:94:26: error: ‘const class OpenZWave::Notification’ has no member named ‘GetCommand’; did you mean ‘GetHomeId’? notif->command = cb->GetCommand(); ^~~~~~ ../src/callbacks.cc:99:8: error: ‘Type_UserAlerts’ is not a member of ‘OpenZWave::Notification’ case OpenZWave::Notification::Type_UserAlerts: ^~~~~ ../src/callbacks.cc:100:31: error: ‘const class OpenZWave::Notification’ has no member named ‘GetUserAlertType’ notif->notification = cb->GetUserAlertType(); ^~~~ ../src/callbacks.cc: In function ‘void OZW::handleNotification(OZW::NotifInfo*)’: ../src/callbacks.cc:459:8: error: ‘Type_UserAlerts’ is not a member of ‘OpenZWave::Notification’ case OpenZWave::Notification::Type_UserAlerts: { ^~~~~ ../src/callbacks.cc:468:8: error: ‘Type_ManufacturerSpecificDBReady’ is not a member of ‘OpenZWave::Notification’ case OpenZWave::Notification::Type_ManufacturerSpecificDBReady: { ^~~~~ openzwave_shared.target.mk:136: die Regel für Ziel „Release/obj.target/openzwave_shared/src/callbacks.o“ scheiterte make: *** [Release/obj.target/openzwave_shared/src/callbacks.o] Fehler 1 make: Verzeichnis „/opt/iobroker/node_modules/openzwave-shared/build“ wird verlassen 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: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_process.js:198:12) gyp ERR! System Linux 4.19.66-v7+ gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/openzwave-shared gyp ERR! node -v v8.16.1 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! openzwave-shared@1.5.6 install: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the openzwave-shared@1.5.6 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in: npm ERR! /home/pi/.npm/_logs/2019-09-11T09_07_09_214Z-debug.log `

cburghardt commented 4 years ago

Looks like the current version of openzwave-shared has a build issue in combination with the latest master of openzwave. I have opened an issue there.

@AlCalzone can't we change the preinstall to use the 1.6 release version: https://github.com/OpenZWave/open-zwave/archive/v1.6.tar.gz

Fishwaldo commented 4 years ago

OZW does not use the github release mechanism. Please use http://old.openzwave.com/downloads/ as these have run though tests and verification etc.

AlCalzone commented 4 years ago

Seems like we have to fork and maintain our own version of openzwave-shared to do just that. The "official" package continues to target the master branch

cburghardt commented 4 years ago

Not necessarily. I just tried the release mechanism from Fishwaldo and it works:

  const version = 'openzwave-1.6.913';
  doScript(`curl -L -O http://old.openzwave.com/downloads/${version}.zip`);
  doScript(`unzip ${version}.zip && rm ${version}.zip`);
  doScript(`cd open-zwave-${version} && make && ${isRoot ? '' : 'sudo '}make install`);
cburghardt commented 4 years ago

@AlCalzone @Apollon77 the above should fix it for now. Should I include it in the current PR?

Apollon77 commented 4 years ago

seems to be the best way ... but also more effort on updates because we do not "see" updates from ozw project :-( Don't break the master would be an idea approach ;)

AlCalzone commented 4 years ago

LGTM. We should make sure to regularly check if there is a new version and update the installer accordingly.