OpenZWave / node-openzwave-shared

OpenZWave addon for Node.js (all versions) including management and security functions
Other
199 stars 113 forks source link

undefined symbol: _ZNK9OpenZWave7ValueID15GetTypeAsStringB5cxx11Ev #325

Closed devsseb closed 5 years ago

devsseb commented 5 years ago

Hi,

I get this error with openzwave-shared@1.5.3 :

Initialising OpenZWave 1.5.0 binary addon for Node.JS.
    OpenZWave Security API is ENABLED
    ZWave device db    : /usr/local/etc/openzwave
    User settings path : /home/user/zwave/node_modules/openzwave-shared/build/Release/../../
    Option Overrides : --ConsoleOutput false
connecting to /dev/ttyACM0
node: symbol lookup error: /home/user/zwave/node_modules/openzwave-shared/build/Release/openzwave_shared.node: undefined symbol: _ZNK9OpenZWave7ValueID15GetTypeAsStringB5cxx11Ev

with this command : zwave.connect('/dev/ttyACM0')

robertsLando commented 5 years ago

Try to run sudo ldconfig

devsseb commented 5 years ago

Ok, I created symlink to libopenzwave.so.1.6 and it work now.

sudo ls -n /usr/local/lib64/libopenzwave.so.1.6 /usr/local/lib/libopenzwave.so.1.6
sudo ldconfig

Thanks !

Anzic23 commented 5 years ago

didn't help in my case. the error persists.

devsseb commented 5 years ago

@Anzic23 can you run sudo ldconfig -p | grep libopenzwave ?

Fishwaldo commented 5 years ago

Initialising OpenZWave 1.5.0

That looks like the old dev version of OZW and not OZW 1.6. (But I could be wrong as I’m not sure how versioning of the OpenZWave-shared works.

Anzic23 commented 5 years ago

@Anzic23 can you run sudo ldconfig -p | grep libopenzwave ?

root@iobroker2-1:/opt/iobroker# ldconfig -p | grep libopenzwave
        libopenzwave.so.1.4 (libc6,x86-64) => /usr/local/lib/libopenzwave.so.1.4
        libopenzwave.so.1.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopenzwave.so.1.4
        libopenzwave.so (libc6,x86-64) => /usr/local/lib/libopenzwave.so
        libopenzwave.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopenzwave.so
root@iobroker2-1:/opt/iobroker#
devsseb commented 5 years ago

@Anzic23 I think you have to update libopenzwave to 1.6

Anzic23 commented 5 years ago

@Anzic23 I think you have to update libopenzwave to 1.6

can you tell me how to do it? I do: ldconfig /usr/local/lib64 It returns on ldconfig -p | grep libopenzwave: root@iobroker2-1:/opt/iobroker# ldconfig -p | grep libopenzwave libopenzwave.so.1.6 (libc6,x86-64) => /usr/local/lib64/libopenzwave.so.1.6 libopenzwave.so.1.4 (libc6,x86-64) => /usr/local/lib64/libopenzwave.so.1.4 libopenzwave.so.1.4 (libc6,x86-64) => /usr/local/lib/libopenzwave.so.1.4 libopenzwave.so.1.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopenzwave.so.1.4 libopenzwave.so (libc6,x86-64) => /usr/local/lib64/libopenzwave.so libopenzwave.so (libc6,x86-64) => /usr/local/lib/libopenzwave.so libopenzwave.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopenzwave.so

devsseb commented 5 years ago

I compiled 1.6 from github : https://github.com/OpenZWave/open-zwave/blob/master/INSTALL After the sudo make install I deleted the old libopenzwave.so.1.X (saved before) and ran

sudo ln -s /usr/local/lib64/libopenzwave.so.1.6 /usr/local/lib/libopenzwave.so.1.6
sudo ldconfig
Anzic23 commented 5 years ago

Updated version to 1.6. but now there was another problem. Can't find the 1.4, although the link to the file is made.

root@iobroker2-1:/usr/local/lib# ls
libopenzwave.so  libopenzwave.so.1.4  libopenzwave.so.1.6  python2.7  python3.5  x86_64-linux-gnu

host.iobroker2-1 | 2019-07-12 09:22:12.069 | error | instance system.adapter.zwave.0 terminated with code 0 (OK)
-- | -- | -- | --
host.iobroker2-1 | 2019-07-12 09:22:12.069 | error | Caught by controller[0]: at Module.load (module.js:566:32)
host.iobroker2-1 | 2019-07-12 09:22:12.069 | error | Caught by controller[0]: at Object.Module._extensions..js (module.js:664:10)
host.iobroker2-1 | 2019-07-12 09:22:12.069 | error | Caught by controller[0]: at Module._compile (module.js:653:30)
host.iobroker2-1 | 2019-07-12 09:22:12.069 | 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 09:22:12.069 | error | Caught by controller[0]: at require (internal/module.js:11:18)
host.iobroker2-1 | 2019-07-12 09:22:12.069 | error | Caught by controller[0]: at Module.require (module.js:597:17)
host.iobroker2-1 | 2019-07-12 09:22:12.069 | error | Caught by controller[0]: at Function.Module._load (module.js:498:3)
host.iobroker2-1 | 2019-07-12 09:22:12.069 | error | Caught by controller[0]: at tryModuleLoad (module.js:506:12)
host.iobroker2-1 | 2019-07-12 09:22:12.069 | error | Caught by controller[0]: at Module.load (module.js:566:32)
host.iobroker2-1 | 2019-07-12 09:22:12.069 | error | Caught by controller[0]: at Object.Module._extensions..node (module.js:682:18)
host.iobroker2-1 | 2019-07-12 09:22:12.068 | 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 09:22:12.040 | 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 09:22:12.038 | error | uncaught exception: libopenzwave.so.1.4: cannot open shared object file: No such file or directory
zwave.0 | 2019-07-12 09:22:11.187 | info | starting. Version 1.5.0 in /opt/iobroker/node_modules/iobroker.zwave, node: v8.16.0
devsseb commented 5 years ago

can you run sudo ldconfig -p | grep libopenzwave ?

Anzic23 commented 5 years ago

can you run sudo ldconfig -p | grep libopenzwave ?

sure

> root@iobroker2-1:/usr/local/lib# ldconfig -p | grep libopenzwave
>         libopenzwave.so.1.6 (libc6,x86-64) => /usr/local/lib/libopenzwave.so.1.6
>         libopenzwave.so (libc6,x86-64) => /usr/local/lib/libopenzwave.so
> 
devsseb commented 5 years ago

And ls -alh /usr/local/lib ?

Anzic23 commented 5 years ago

And ls -alh /usr/local/lib ?

root@iobroker2-1:/usr/local/lib# ls -alh /usr/local/lib total 12K drwxrwsr-x 1 root staff 174 Jul 12 09:35 . drwxrwsr-x 1 root staff 90 Aug 29 2018 .. lrwxrwxrwx 1 root staff 32 Nov 6 2018 libopenzwave.so -> /usr/local/lib64/libopenzwave.so lrwxrwxrwx 1 root staff 36 Jul 12 08:56 libopenzwave.so.1.4 -> /usr/local/lib64/libopenzwave.so.1.4 lrwxrwxrwx 1 root staff 36 Jul 12 08:54 libopenzwave.so.1.6 -> /usr/local/lib64/libopenzwave.so.1.6 drwxrwsr-x 1 root staff 52 May 15 14:48 python2.7 drwxrwsr-x 1 root staff 26 Jun 18 2018 python3.5 drwxr-sr-x 1 root staff 94 May 8 14:22 x86_64-linux-gnu root@iobroker2-1:/usr/local/lib#

devsseb commented 5 years ago

Can you follow the file /usr/local/lib64/libopenzwave.so to know its version ?

Anzic23 commented 5 years ago

Can you follow the file /usr/local/lib64/libopenzwave.so to know its version ?

how do I do it right? using the command root@iobroker2-1:/usr/local/lib# readlink libopenzwave.so came to this file.

root@iobroker2-1:/usr/local/lib# readlink libopenzwave.so
/usr/local/lib64/libopenzwave.so
root@iobroker2-1:/usr/local/lib# cd /usr/local/lib64/
root@iobroker2-1:/usr/local/lib64# readlink libopenzwave.so
libopenzwave.so.1.6

is this information correct?

Anzic23 commented 5 years ago

I deleted files (libopenzwave.so libopenzwave.so.1.4 libopenzwave.so.1.6) from the folder /usr/local/lib64/ and /usr/local/lib/ . put on a new install of open-zwave.

$ cd
$ git clone https://github.com/OpenZWave/open-zwave.git
$ cd open-zwave
$ CFLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 make && sudo CFLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 make install

but in folder /usr/local/lib64/ there were only these files libopenzwave.so libopenzwave.so.1.6, and there is no file libopenzwave.so.1.4 have ideas how to install 1.4?