Plexamp 4.3.0 won't launch on raspberry pi

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)


Will have an updated build for you shortly with the missing file, sorry about that!

1 Like

Try grabbing again ~ https://plexamp.plex.tv/headless/Plexamp-Linux-headless-v4.3.0.tar.bz2?cacheBust=whynot

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

Ah thank you, will fix :man_facepalming:

Hi @elan ,

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?

Best regards,

1 Like

working now, thanks @elan

1 Like

We have done some work to upgrade node/electron (we will probably move to building for node v16.14.x

It’s perfectly possible to support multiple node versions on your own distribution, just use something like GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions or https://volta.sh

1 Like

would be great if plexamp could be added to RoPieee (it’s a very slick distribution) despite the different node versions

I was poking around in RoPieee a few days ago, also trying to assess if it could coexist with Plexamp https://forums.plex.tv/t/plexamp-for-raspberry-pi-plans-for-newer-node-versions/802769/5?u=tpavey

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

FWIW, I’m using nvm for my install of plexamp which I run side-by-side with moOde. It’s extremely painless.

I wrote up a short guide for the install procedure on the moOde forum here.

1 Like

Thanks,

But that is not going to work for RoPieee.

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.

Thanks

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.