ioBroker / ioBroker.zwave

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

The problem with the libopenzwave of 1.6 #57

Closed Anzic23 closed 5 years ago

Anzic23 commented 5 years ago

When upgrading to version 1.5.0, an error occurs:

host.iobroker2-1 instance system.adapter.zwave.0 started with pid 25116
--
2019-07-11 13:59:11.154 - info: zwave.0 starting. Version 1.5.0 in /opt/iobroker/node_modules/iobroker.zwave, node: v8.16.0
2019-07-11 13:59:12.560 - info: zwave.0 scanning homeid=0xc6bdb0d0...
2019-07-11 13:59:12.561 - info: zwave.0 driver ready: homeid = 3334320336
2019-07-11 13:59:12.568 - info: zwave.0 Update zwave.0.NODE1
2019-07-11 13:59:12.580 - info: zwave.0 Update zwave.0.NODE1
2019-07-11 13:59:12.610 - error: Caught by controller[0]: io.zwave.0: symbol lookup error: /opt/iobroker/node_modules/iobroker.zwave/node_modules/openzwave-shared/build/Release/openzwave_shared.node: undefined symbol: _ZNK9OpenZWave7ValueID15GetTypeAsStringB5cxx11Ev
2019-07-11 13:59:12.610 - error: host.iobroker2-1 instance system.adapter.zwave.0 terminated with code 127 ()
2019-07-11 13:59:12.610 - info: host.iobroker2-1 Restart adapter system.adapter.zwave.0 because enabled

recommendations from "known issues" didn't help.

AlCalzone commented 5 years ago

The issue is known and a solution is documented here: https://github.com/OpenZWave/node-openzwave-shared/issues/325

Anzic23 commented 5 years ago

I think there is a problem. I did a clean install of zwave and it did not create the 1.4 library and the driver references it. https://github.com/OpenZWave/node-openzwave-shared/issues/325#issuecomment-510864233

AlCalzone commented 5 years ago

Not sure I follow. The new version targets 1.6, so there shouldn't be any 1.4 binary. Now that you have a clean install, did you try to follow the https://github.com/ioBroker/ioBroker.zwave#known-issues again?

Anzic23 commented 5 years ago

Not sure I follow. The new version targets 1.6, so there shouldn't be any 1.4 binary. Now that you have a clean install, did you try to follow the https://github.com/ioBroker/ioBroker.zwave#known-issues again?

Yes, I've done all the steps. LOG:


  |   |   |  
-- | -- | -- | --
host.iobroker2-1 | 2019-07-12 15:34:45.974 | info | Restart adapter system.adapter.zwave.0 because enabled
host.iobroker2-1 | 2019-07-12 15:34:45.974 | error | instance system.adapter.zwave.0 terminated with code 0 (OK)
host.iobroker2-1 | 2019-07-12 15:34:45.974 | error | Caught by controller[0]: at Module.load (module.js:566:32)
host.iobroker2-1 | 2019-07-12 15:34:45.974 | error | Caught by controller[0]: at Object.Module._extensions..js (module.js:664:10)
host.iobroker2-1 | 2019-07-12 15:34:45.974 | error | Caught by controller[0]: at Module._compile (module.js:653:30)
host.iobroker2-1 | 2019-07-12 15:34:45.974 | error | Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.zwave/node_modules/openzwave-shared/lib/openzwave-shared.js:27:19)
host.iobroker2-1 | 2019-07-12 15:34:45.974 | error | Caught by controller[0]: at require (internal/module.js:11:18)
host.iobroker2-1 | 2019-07-12 15:34:45.974 | error | Caught by controller[0]: at Module.require (module.js:597:17)
host.iobroker2-1 | 2019-07-12 15:34:45.974 | error | Caught by controller[0]: at Function.Module._load (module.js:498:3)
host.iobroker2-1 | 2019-07-12 15:34:45.974 | error | Caught by controller[0]: at tryModuleLoad (module.js:506:12)
host.iobroker2-1 | 2019-07-12 15:34:45.974 | error | Caught by controller[0]: at Module.load (module.js:566:32)
host.iobroker2-1 | 2019-07-12 15:34:45.974 | error | Caught by controller[0]: at Object.Module._extensions..node (module.js:682:18)
host.iobroker2-1 | 2019-07-12 15:34:45.973 | error | Caught by controller[0]: Error: libopenzwave.so.1.4: cannot open shared object file: No such file or directory
zwave.0 | 2019-07-12 15:34:45.928 | error | Error: libopenzwave.so.1.4: cannot open shared object file: No such file or directory at Object.Module._extensions..node (module.js:682:18) at Module.load (module.js:566:32) at tryModuleLo
zwave.0 | 2019-07-12 15:34:45.927 | error | uncaught exception: libopenzwave.so.1.4: cannot open shared object file: No such file or directory
zwave.0 | 2019-07-12 15:34:45.219 | info | starting. Version 1.5.0 in /opt/iobroker/node_modules/iobroker.zwave, node: v8.16.0
AlCalzone commented 5 years ago

Weird, that is still compiled against 1.4. Just to be clear, you did the following:

  1. delete the zwave adapter completely (not just the instance)
  2. delete OZW (you wrote that in the other thread)
  3. install the zwave adapter again (this should isntall OZW 1.6 aswell)

between 1. and 2. you could search for all remains of openzwave-shared in iobroker's node_modules and delete those aswell.

Anzic23 commented 5 years ago

Weird, that is still compiled against 1.4. Just to be clear, you did the following:

  1. delete the zwave adapter completely (not just the instance)
  2. delete OZW (you wrote that in the other thread)
  3. install the zwave adapter again (this should isntall OZW 1.6 aswell)

between 1. and 2. you could search for all remains of openzwave-shared in iobroker's node_modules and delete those aswell.

not exactly.

  1. no, if you remove the driver altogether. all objects will be lost, and I would not like it very much.
  2. yes
  3. isntall OZW 1.6 is there a way to update the adapter without losing the object tree?
AlCalzone commented 5 years ago

Instead of 1. you can stop the adapter and delete its installation directory /opt/iobroker/node_modules/iobroker.zwave/ and /opt/iobroker/node_modules/openzwave-shared (if that exists). Then do 2. Then

cd /opt/iobroker
npm i iobroker.zwave --production

This should keep your objects, but completely replace the adapter files.

Anzic23 commented 5 years ago

Instead of 1. you can stop the adapter and delete its installation directory /opt/iobroker/node_modules/iobroker.zwave/ and /opt/iobroker/node_modules/openzwave-shared (if that exists). Then do 2. Then

cd /opt/iobroker
npm i iobroker.zwave --production

This should keep your objects, but completely replace the adapter files.

Thank you very much! This instruction helped to upgrade to 1.5.0, everything works now!