anyone else having problems getting plexamp 4.3.0 to run on raspberry pi?
I’ve tried a few times on a pi4 and an odroid-c4 … always get the following …
pi@rpi4:~/plexamp $ node js/index.js
internal/modules/cjs/loader.js:1057
return process.dlopen(module, path.toNamespacedPath(filename));
^
Error: libjack.so.0: cannot open shared object file: No such file or directory
at Object.Module._extensions..node (internal/modules/cjs/loader.js:1057:18)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Module.require (internal/modules/cjs/loader.js:887:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.41673 (/home/pi/plexamp/js/index.js:2:342787)
at a (/home/pi/plexamp/js/index.js:2:2107334)
at Object.65631 (/home/pi/plexamp/js/index.js:2:337114)
at a (/home/pi/plexamp/js/index.js:2:2107334)
at Object.10546 (/home/pi/plexamp/js/index.js:2:322341)
probably my fault, but I still get the error with the new one.
Here I am in my /home/pi directory. I guess it needs the versioned symlink? libjack.so.0
pi@BerryDAC:~ $ ls -l
total 293456
-rw-r--r-- 1 pi pi 280344166 Aug 1 22:04 newbach32.wav
-rw-r--r-- 1 pi pi 9686864 Aug 1 22:04 piano32.wav
drwxr-xr-x 6 pi pi 4096 Aug 1 21:44 plexamp
-rw-r--r-- 1 pi pi 10461005 Aug 1 22:29 Plexamp-Linux-headless-v4.3.0.tar.bz2
pi@BerryDAC:~ $
pi@BerryDAC:~ $ cd plexamp
pi@BerryDAC:~/plexamp $ find . -name libjack.so
./treble/linux-x64/libjack.so
./treble/linux-arm64/libjack.so
./treble/linux-arm/libjack.so
pi@BerryDAC:~/plexamp $
pi@BerryDAC:~/plexamp $ node js/index.js
internal/modules/cjs/loader.js:1057
return process.dlopen(module, path.toNamespacedPath(filename));
^
Error: libjack.so.0: cannot open shared object file: No such file or directory
at Object.Module._extensions..node (internal/modules/cjs/loader.js:1057:18)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Module.require (internal/modules/cjs/loader.js:887:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.41673 (/home/pi/plexamp/js/index.js:2:342787)
at a (/home/pi/plexamp/js/index.js:2:2107334)
at Object.65631 (/home/pi/plexamp/js/index.js:2:337114)
at a (/home/pi/plexamp/js/index.js:2:2107334)
at Object.10546 (/home/pi/plexamp/js/index.js:2:322341)
It runs if I add a symlink.
pi@BerryDAC:~/plexamp $ cd treble/linux-arm64/
pi@BerryDAC:~/plexamp/treble/linux-arm64 $ ln -s libjack.so libjack.so.0
I’m the author of RoPieee, a pretty well known (at least in Roon circles) appliance for the Raspberry Pi that offers several streaming solutions.
I’ve got users asking for Plexamp Headless integration. As a Plex user myself I’m looking into this, but I’m running into the issue that your way of distributing Plexamp Headless means I need to match the nodejs version that is being used by raspbian. Which does not work for me as I build a custom Linux distribution from scratch with a different nodejs version then raspbian.
Is there anything that can be done to resolve this issue?
I was able to get Plexamp to run by using nvm, but I just switched everything to node 12 and hoped I didn’t break anything … I’m sure there are better ways to do it as @elan suggests above
MoOde (and most others) are based on a ‘regular’ distro like Debian (Raspbian): tooling like ‘nvm’ is then available.
While RoPieee ‘old-style’ was based on ArchLinux, new RoPieee is build from scratch and only comes with the bare-minimum. In this architecture having multiple node.js versions is not possible (well, to be precise: oc everything is possible, but it comes with an engineering cost).
Also keep in mind that we do commercial implementations (Roon-Ready, Tidal Connect) and for that it would also be very interesting to implement Plexamp Headless.
The ‘best solution’ would obviously be build from source, but I get the proprietary part that Plex wants to distribute as binary. The ‘next-best solution’ would be that Plexamp Headless is shipped with binaries for a set of node.js versions.