Node.js Install Version 12.21.0

SailorMax

Cadet
Joined
Oct 24, 2014
Messages
7
Hello,
I'm running iobroker in a jail on my Truenas (TrueNAS-12.0-U2.1). Basically everything is fine.
A new adapter for modbus communication (modbus 3.2.4) is not working, it looks like a permission problem getting out of the jail.

iobroker is reporting "Node.jsv15.5.1 (Es gibt eine neuere Version: v15.10.0 Die Version v15.x von Node.js wird derzeit nicht vollständig unterstützt. - Empfohlene Version v12.21.0) "
translated: there is a more recent version: v15.10.0. Version v15.x of node.js is currently not supported completely. Recommended version v12.21.0

pkg search node-15 reports version 15.5.1. I cannot find version 15.10.0 nor any 12.x.x version of node.js

Can I (and if yes - how) install v12.21.0?

Thanks for your support.
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,700

SailorMax

Cadet
Joined
Oct 24, 2014
Messages
7
....
thanks for the quick response :smile:
I've installed v12.20.2
now, iobroker upon start is yelling at me : Shared object "libcrypto.so.111" not found, required by "node"

;-(
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,700
what version is your jail? (uname -a) and have you run a pkg upgrade on it recently?
 

SailorMax

Cadet
Joined
Oct 24, 2014
Messages
7
what version is your jail? (uname -a) and have you run a pkg upgrade on it recently?
[/QUOTE]
Hi,
jail version: FreeBSD ioBroker 12.2-RELEASE-p3 FreeBSD 12.2-RELEASE-p3 7851f4a452d(HEAD) TRUENAS amd64
pkg update is up to date
pkg upgrade reports: Installed packages to be REINSTALLED: node12-12.20.2 (ABI changed: 'freebsd:12:x86:64' -> 'freebsd:11:x86:64')
which I did not confirm

regards
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,700
if you run ldd /usr/local/bin/node you should see all the missing dependencies.

Code:
root@jail:~ # ldd /usr/local/bin/node
/usr/local/bin/node:
    libz.so.6 => /lib/libz.so.6 (0x802451000)
    libuv.so.1 => /usr/local/lib/libuv.so.1 (0x80246d000)
    libcares.so.2 => /usr/local/lib/libcares.so.2 (0x80249d000)
    libnghttp2.so.14 => /usr/local/lib/libnghttp2.so.14 (0x8024bc000)
    libcrypto.so.111 => /lib/libcrypto.so.111 (0x8024ec000)
    libssl.so.111 => /usr/lib/libssl.so.111 (0x8027de000)
    libicui18n.so.68 => /usr/local/lib/libicui18n.so.68 (0x802876000)
    libicuuc.so.68 => /usr/local/lib/libicuuc.so.68 (0x802bb7000)
    libicudata.so.68 => /usr/local/lib/libicudata.so.68 (0x802dbd000)
    libelf.so.2 => /lib/libelf.so.2 (0x802dc0000)
    libutil.so.9 => /lib/libutil.so.9 (0x802ddb000)
    libkvm.so.7 => /lib/libkvm.so.7 (0x802df3000)
    libm.so.5 => /lib/libm.so.5 (0x802e06000)
    libexecinfo.so.1 => /usr/lib/libexecinfo.so.1 (0x802e38000)
    libc++.so.1 => /usr/lib/libc++.so.1 (0x802e3e000)
    libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x802f0b000)
    libthr.so.3 => /lib/libthr.so.3 (0x802f2d000)
    libc.so.7 => /lib/libc.so.7 (0x802f5a000)
    libdl.so.1 => /usr/lib/libdl.so.1 (0x803350000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x803354000)


When I installed it in a relatively fresh 12.2 jail it installed a few other packages, but when I check the origin of /lib/libcrypto.so.111, it appears that it's part of the OS...

Code:
root@jail:~ # pkg which /lib/libcrypto.so.111
/lib/libcrypto.so.111 was not found in the database


Maybe you should try letting the upgrade proceed (even though it looks like a bad idea to rebase to 11). You should always be able to re-install it the first way.
 

SailorMax

Cadet
Joined
Oct 24, 2014
Messages
7
my dependencies with v12:

libz.so.6 => /lib/libz.so.6 (0x80262b000)
libuv.so.1 => /usr/local/lib/libuv.so.1 (0x802844000)
libcares.so.2 => /usr/local/lib/libcares.so.2 (0x802a70000)
libnghttp2.so.14 => /usr/local/lib/libnghttp2.so.14 (0x802c8c000)
libcrypto.so.111 => not found (0)
libssl.so.111 => not found (0)
libicui18n.so.68 => /usr/local/lib/libicui18n.so.68 (0x803000000)
libicuuc.so.68 => /usr/local/lib/libicuuc.so.68 (0x803540000)
libicudata.so.68 => /usr/local/lib/libicudata.so.68 (0x803941000)
libelf.so.2 => /lib/libelf.so.2 (0x803b42000)
libutil.so.9 => /lib/libutil.so.9 (0x803d5a000)
libkvm.so.7 => /lib/libkvm.so.7 (0x803f6e000)
libm.so.5 => /lib/libm.so.5 (0x80417c000)
libexecinfo.so.1 => /usr/lib/libexecinfo.so.1 (0x8043ac000)
libc++.so.1 => /usr/lib/libc++.so.1 (0x8045af000)
libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x804879000)
libthr.so.3 => /lib/libthr.so.3 (0x804a98000)
libc.so.7 => /lib/libc.so.7 (0x804cc0000)
libdl.so.1 => /usr/lib/libdl.so.1 (0x805077000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x805278000)

Maybe you should try letting the upgrade proceed (even though it looks like a bad idea to rebase to 11). You should always be able to re-install it the first way.
[/QUOTE]

my dependencies after downgrading to 11
libz.so.6 => /lib/libz.so.6 (0x802b8d000)
libuv.so.1 => /usr/local/lib/libuv.so.1 (0x802da6000)
libcares.so.2 => /usr/local/lib/libcares.so.2 (0x802fd2000)
libnghttp2.so.14 => /usr/local/lib/libnghttp2.so.14 (0x8031ee000)
libicui18n.so.68 => /usr/local/lib/libicui18n.so.68 (0x803600000)
libicuuc.so.68 => /usr/local/lib/libicuuc.so.68 (0x803b40000)
libicudata.so.68 => /usr/local/lib/libicudata.so.68 (0x803f41000)
libelf.so.2 => /lib/libelf.so.2 (0x804142000)
libutil.so.9 => /lib/libutil.so.9 (0x80435a000)
libkvm.so.7 => /lib/libkvm.so.7 (0x80456e000)
libm.so.5 => /lib/libm.so.5 (0x80477c000)
libexecinfo.so.1 => /usr/lib/libexecinfo.so.1 (0x8049ac000)
libc++.so.1 => /usr/lib/libc++.so.1 (0x804baf000)
libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x804e79000)
libthr.so.3 => /lib/libthr.so.3 (0x805098000)
libc.so.7 => /lib/libc.so.7 (0x8052c0000)
libdl.so.1 => /usr/lib/libdl.so.1 (0x805677000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x805878000)

iobroker is no more complaining about permissions but the adapter is still not working.
I will try to check from the other side of the modbus if iobroker requests come thru and keep you posted.

Thank again for the help!!!!
 

SailorMax

Cadet
Joined
Oct 24, 2014
Messages
7
bad news: I didn't wait long enough. iobroker is still complaining about permission denied in the log file when the modubus adapter tries to read from the remote modbus device.
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,700
permission denied in the log file when the modubus adapter tries to read from the remote modbus device.
I'm afraid this is where my usefulness stops... I don't know anything about how that stuff is connected (or even really what it is).

Although I felt a bit guilty saying that and did google it, which now gives me a clue about what to recommend looking at:

in order to access USB devices in a jail, you will need to look at your devfs_ruleset, perhaps setting it to something permissive to /dev/usbX or whatever the device appears as on the host.

I'm not the complete expert on it, but if you haven't checked that, do it now.
 

SailorMax

Cadet
Joined
Oct 24, 2014
Messages
7
Thanks again for your help!!!.
FYI: The device I'm trying to talk to is a bridge which reads out a small PLC (controlling my heating system) and publishing temperatures etc. via ModBus on Ethernet. There is no USB involved.
I've moved the iobroker instance from the Truenas jail to a RPI under Debian. This works fine now. It would have been ideal to use the more or less idling 24/7 power of my NAS for the home automation application.
regards
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,700
iobroker is still complaining about permission denied in the log file when the modubus adapter tries to read from the remote modbus device.
OK; so maybe it's more of a file permissions error then... maybe worth some investigation...

What account does modbus run as?

Does that account have permission to the files in question?
 
Top