Plex HTPC still won't run

Player Version#: 1.27.1, 1.56.1

Another reason why I don’t like snap - yet another whole facility with it’s idiosyncracies to go wrong causing you to learn way more stuff about things when all you really want to do is run a program! UGH!

So my Plex HTPC stopped working on my Ubuntu 22.04 desktop. I used it on occasion to run on my second monitor but now it doesn’t work,. Found several of my previous incantation just stuck in the process tree so I killed them to start again from the CLI. Here’s what I get

Earth:env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/plex-htpc_plex-htpc.desktop /snap/bin/plex-htpc
/snap/plex-htpc/x1/snap/command-chain/desktop-launch: line 361: cannot create temp file for here-document: No such file or directory
/snap/plex-htpc/x1/bin/desktop-launch: line 351: cannot create temp file for here-document: No such file or directory
/snap/plex-htpc/x1/bin/Plex: error while loading shared libraries: libXinerama.so.1: cannot open shared object file: No such file or directory
Earth:

Can’t create a temp file for a here-document? Really?

So I try a refresh (of course you have to know that with snap the term is refresh, not update nor reinstall, etc…):

Earth:sudo snap refresh plex-htpc
error: local snap "plex-htpc" is unknown to the store, use --amend to proceed
       anyway
Earth:

Ok, why didn’t you just put --amend on for me? And yeah, “–amend” - that’s the first thing that came to mind! OK, amend --amend:

Earth:sudo snap refresh plex-htpc --amend
error: cannot perform the following tasks:
- Setup snap "plex-htpc" (20) security profiles (cannot update mount namespace of snap "plex-htpc": cannot update preserved namespace of snap "plex-htpc": 
-----
change.go:471: cannot remove mount point, got EBUSY: "/snap/plex-htpc/x1"
cannot update snap namespace: cannot create writable mimic over "/snap/plex-htpc/20/etc": cannot create directory "/tmp/.snap": no such file or directory
-----)
Earth:

Why must I be concerned about mounts, namespaces and who’s got /snap/plex-hpc/x1 busy?!?

Earth:lsof /snap/plex-htpc/x1
lsof: WARNING: can't stat() overlay file system /var/lib/docker/overlay2/ce31b39cc18215fdc22096fcd4cf5eb83f4abdb3d39f7db356dbc9c25242f216/merged
      Output information may be incomplete.
lsof: WARNING: can't stat() nsfs file system /run/docker/netns/38c294b0d147
      Output information may be incomplete.
Earth:fuser -m /snap/plex-htpc/x1
Earth:

OK, now we have overly file systems involved… I just want to run plex-htpc. And why could it mkdir /tmp/.snap?!?

Speaking of which, what’s this plex-desktop thingy and how is it different than plex-htpc?

Earth:snap run plex-desktop
/snap/plex-desktop/21/snap/command-chain/desktop-launch: line 361: cannot create temp file for here-document: No such file or directory
/snap/plex-desktop/21/bin/desktop-launch: line 351: cannot create temp file for here-document: No such file or directory
/snap/plex-desktop/21/bin/Plex: symbol lookup error: /snap/plex-desktop/21/gnome-platform/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-13.99.so: undefined symbol: request_init
Earth:

That didn’t work well either.

OK, so let’s try removing them and reinstalling them (since reinstall isn’t a snap option and a sudo snap refresh plex-htcp --amend fails (and a sudo snap refresh plex-desktop says I’m up to date…

Earth:sudo snap remove plex-desktop
plex-desktop removed
Earth:sudo snap remove plex-htpc
plex-htpc removed
Earth:sudo snap install plex-desktop
plex-desktop 1.56.1 from Plex, Inc. (plexinc✓) installed
Earth:

All right, let’s see if this works now:

Earth:snap run plex-desktop
/snap/plex-desktop/21/gnome-platform/usr/lib/x86_64-linux-gnu/glib-2.0/gio-querymodules: error while loading shared libraries: /snap/plex-desktop/21/gnome-platform/usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0: unsupported version 0 of Verneed record
/snap/plex-desktop/21/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders: error while loading shared libraries: /snap/plex-desktop/21/gnome-platform/usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0: unsupported version 0 of Verneed record
/snap/plex-desktop/21/gnome-platform/usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0: error while loading shared libraries: /snap/plex-desktop/21/gnome-platform/usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0: unsupported version 0 of Verneed record
ERROR: /snap/plex-desktop/21/gnome-platform/usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0 exited abnormally with status 127
ERROR: /snap/plex-desktop/21/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders exited abnormally with status 127
ERROR: compile_giomodules /snap/plex-desktop/21/gnome-platform/usr/lib/x86_64-linux-gnu exited abnormally with status 127
/snap/plex-desktop/21/bin/Plex: symbol lookup error: /snap/plex-desktop/21/gnome-platform/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-13.99.so: undefined symbol: request_init
Earth:sudo snap install plex-htpc
plex-htpc 1.27.1 from Plex, Inc. (plexinc✓) installed
Earth:snap run plex-htpc
/snap/plex-htpc/20/gnome-platform/usr/lib/x86_64-linux-gnu/glib-2.0/gio-querymodules: error while loading shared libraries: /snap/plex-htpc/20/gnome-platform/usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0: unsupported version 0 of Verneed record
/snap/plex-htpc/20/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders: error while loading shared libraries: /snap/plex-htpc/20/gnome-platform/usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0: unsupported version 0 of Verneed record
ERROR: /snap/plex-htpc/20/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders exited abnormally with status 127
ERROR: compile_giomodules /snap/plex-htpc/20/gnome-platform/usr/lib/x86_64-linux-gnu exited abnormally with status 127
/snap/plex-htpc/20/gnome-platform/usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0: error while loading shared libraries: /snap/plex-htpc/20/gnome-platform/usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0: unsupported version 0 of Verneed record
ERROR: /snap/plex-htpc/20/gnome-platform/usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0 exited abnormally with status 127
/snap/plex-htpc/20/bin/Plex: symbol lookup error: /snap/plex-htpc/20/gnome-platform/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-13.99.so: undefined symbol: request_init
Earth:env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/plex-htpc_plex-htpc.desktop /snap/bin/plex-htpc
/snap/plex-htpc/20/snap/command-chain/desktop-launch: line 361: cannot create temp file for here-document: No such file or directory
/snap/plex-htpc/20/bin/desktop-launch: line 351: cannot create temp file for here-document: No such file or directory
/snap/plex-htpc/20/bin/Plex: symbol lookup error: /snap/plex-htpc/20/gnome-platform/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-13.99.so: undefined symbol: request_init
Earth:

Of course, it wouldn’t run!

IMHO snap is still not ready for prime time.

Is Plex HTPC (or Plex Desktop) not being added to Ubuntu’s application menu when you install the snap(s)? I don’t use Ubuntu anymore, but a derivative. However, installing the Plex HTPC snap there results in it being added to my distribution’s app launcher. If it is for you, try running it from there.

Not on Ubuntu Mate at least. I had put a panel shortcut that contains env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/plex-htpc_plex-htpc.desktop /snap/bin/plex-htpc in it and that’s been running fine up until yesterday. I believe I got that from the installed .desktop file which is how the application menu should run it.

Regardless, snaps should run from the command line right? At least they shouldn’t spew out things like cannot create temp file for here-document: No such file or directory.

Do you prefer flatpak? You could give it a try: Plex HTPC | Flathub

Otherwise, it appears something is seriously wrong with your snap setup. Much of what it is spewing as issues is before the application tries to run.

I prefer apt actually. But plex-htpc isn’t available that way.

I don’t like snap and this is one of the reasons why. Having something seriously wrong with my snap setup should not be something that stops me from running installed applications! After an application is installed snap (or flatpak for that matter) should not be involved (i.e. no snap or flatpak run commands). It’s just another thing that can and apparently has broken. A normal user should not be able to as easily break things.

I had a similar problem with firefox which I don’t use all that frequently. A little notification came up saying something about firefox being blocked from updating because I’m running it. WTF? Never was a problem with apt and other package managers. Linux is supposed to allow updating of things even when they are being used. Hell it can update running kernels! The next time you restart the app it should get the updated version. Even Chrome/Brave, etc put up an update button that basically allows you to restart the app with the updated changes. And none of my other hundreds of installed apps sit there and scream “Oh update me! Update me”.

Ended up being that I could not refresh (you don’t update nor upgrade with snap - it’s a new term! Refresh! Because it’s refreshing!) firefox, I could not run firefox. I could not uninstall and reinstall firefox - all had “snap issues”. The last thing I want out of a package manager is additional issues to contend with. Luckily somebody pointed me to a firefox PPA that I could use good ole apt to install firefox (which was initially not available when I updated to 22.04).

So no, I’m not that gung ho about trying yet another uncalled-for and unwelcomed package manager. It’s bad enough that there are multiple ones, all doing it slightly differently that people need to learn the ins and outs of and that can screw up their environments such that already installed applications will not run! I can always run Plex as a regular browser tab and maximize it. I was only using Plex HTPC to try to get used to this version of Plex and quite frankly there are some UI elements that leave a lot to be desired like the fact that a mouse click on the video does not pause it and you need to get your mouse into that play/pause button or it doesn’t pause. Both Plex Web and Youtube allow you to pause without having to put your mouse cursor on the play/pause button.

There are other issues with plex-htpc but seeing as I can’t run it right now I don’t remember them off the top of my head.

You are going to have to get used to either snap or flatpak at some point for one simple fact: Targeting Linux for an app is not targeting one platform but rather targeting a whole mess of them. If we had to make 10 different versions of the app to cover the popular distrosy and versions therein, we wouldn’t have ever built a Linux version of the app. Building a snap/flatpak allows us to target a single version of a distro and run on multiple distros and that ability is the only reason we even considered a Linux version.

So if you don’t like snap or flatpak, then don’t use them and don’t use any apps that are distributed solely through them. That’s your choice but keep in mind the offerings are not going to change to accommodate your choices.

Lastly, if you want mouse control of the app, you are using the wrong app. HTPC is design around the simple up/down/left/right/enter/esc command set and its mouse support is minimal. You should be using the Desktop version of the app as it is designed around mouse control.

Hmmm… And yet Plex and friends run on many architectures that you (or somebody) must be building on like IOS, Android, various Smart TVs, Xboxes, PS4s, and the like. Indeed there are lots of platforms supported https://support.plex.tv/articles/categories/player-apps-platforms/. Plex HTPC, no so much…

Look I sympathize and empathize with you as I’m a software developer myself. However, this is a good example, IMHO, of how snap and probably flatpak too are messed up. The solution to the Linux distro problem is not to invent yet more package managers and have them in charge of running things in an environment that can easily become broken - it’s to standardize on one!

But they should! They should standardize on something instead of continually fragmenting stuff. Often I’m being forced into either snap or flatpak. For example, when updating to Ubuntu 22.04 I was told that Firefox is only available through snap now. I didn’t choose snap and Ubuntu didn’t choose Flatpak! It was only later that somebody pointed me to a PPA that had an apt version - probably by others who don’t like snap either.

So while one app goes snap and another goes flatpak and yet another one goes to some other screwy packaging thing, what’s a user to do?

Still no bueno

Earth:plex-desktop
/snap/plex-desktop/21/bin/Plex: symbol lookup error: /snap/plex-desktop/21/gnome-platform/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-13.99.so: undefined symbol: request_init
Earth:sudo snap refresh plex-desktop
snap "plex-desktop" has no updates available
Earth:dpkg -S libpulsecommon
libpulse0:i386: /usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-15.99.so
libpulse0:amd64: /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-15.99.so
Earth:

So much for snap…

You could try completely removing snap/snapd from your system and reinstalling it (as long as you’re not currently using any other apps which rely on it).

For the removal, this is a decent walkthrough:

Adding it back should be as simple as sudo apt install snapd

Then try plex-desktop again.

I don’t know, seems there’s some snap in there already

Earth:ls /snap
bare/                 gtk-common-themes/
bin/                  hunspell-dictionaries-1-7-2004/
bw/                   mesa-core20/
canonical-livepatch/  plex-desktop/
core/                 plex-htpc/
core18/               README
core20/               slack/
firefox/              snapd/
gnome-3-34-1804/      snapd-desktop-integration/
gnome-3-38-2004/      snap-store/
Earth:

I’m not super gung-ho about using either plex-desktop or plex-htpc. I used plex-htpc to try it out and see if I liked it. It was alright except for its mouse oddities and plex-desktop may solve that. However, Plex for the web works rock solid and I can always maximize the video. I certainly do not wish to spend a lot of time on alternate package managers that break functionality and spend time fixing things when I have an easy and viable alternative.

I try these things out so I can report any problems and hopefully get them fixed. It’s a service a provide at no extra charge ( :grin:) but I don’t want to spend that much time fusing with it.

After reading the moderator notes on your account I must conclude that you have screwed up another system. That moderator was tired of trying to help you and now so am I. So your options are to either fix what you’ve done or stop complaining when something you’ve broken doesn’t work.

I’d gladly fix what I broke if I knew how to and if I knew how I was able to brake it in the first place!

And I will continue to complain about broken things, thank you very much.

Chiming in as the person largely responsible for the Linux port and the flatpak&snap packages:

And yet Plex and friends run on many architectures that you (or somebody) must be building on like IOS, Android, various Smart TVs, Xboxes, PS4s, and the like.

To clarify, there are different players that are portable by virtue of different technologies that we use to make each one of them. The Plex Desktop and HTPC players that this topic is about are only targeting Windows, macOS and Linux.

Additionally, PMS on Linux is much more portable because we can link the binaries against musl libc and ship that libc along with the package. This means that PMS binaries only require a certain minimum kernel version to run. That is why we could revive PMS support for Thecus at the time this released, despite losing that platform previously.

We can’t do the same for Plex Desktop and HTPC, unfortunately (at least, not until Qt and Chromium have reasonable support for musl). Snaps and Flatpaks are the very reason we can support Linux with portable packages. There is no way we could do the same with deb packages, this is unfortunately the reality of software distribution on Linux (and no, this is not about the various packaging formats, it’s about the portability of the binaries).

I’m really sorry you are having issues with the package, but it really looks like you messed around with your system a tad too much and managed to arrive at a corrupt state. At this point a deb package wouldn’t help you much either. I recommend trying to repair the system or reinstall it.

1 Like

Not sure what musl is (seems to be some libc thing). Dealing with differences and problems with libc in particular (since it’s so important and down in the weeds) is something lots of developers and products have to deal with. Most succeed. I don’t agree necessarily that there is no way you can do the same with deb packages. IMHO it probably could be done given enough effort. But you’re in a position to know much better than I would, so I will defer to you.

As for messing up my system, I did pretty much exactly what I reported before. In general, I stay away from both snap and flatpak as they seem to me to not be ready for primetime still. When going to Ubuntu 22.04 I was told that Firefox was only available from snap and IIRC I simply did a snap install firefox and had been using it for a few weeks/months without issue. Then, as I said, I got a popup notification with something to the effect that Firefox was not able to update because I was running it at the time. I stopped it and learned that snap update was not the correct incantation and that I needed to do snap refresh. I did that and it errored out with some error messages, not unlike the ones I posted here. I tried to research it and fix it but I kept getting errors. Mind you I did nothing before this and had an error to start out with. Eventually, I tried removing and reinstalling Firefox but the entries persisted. Then somebody pointed me to a PPA with a Debian package I could install.

IOW the only reason I messed around with my system is that it broke.

As for reinstalling, no way. My system is highly customized and works the way I like it. Given a choice between reinstalling my entire system just so I can get plex-htpc or plex-desktop to work when I have a very viable alternative which is just to run Plex in a browser tab and maximize it.

Apparently, plex-htpc/plex-desktop cannot work remotely through X. IOW I cannot run plex-desktop from my laptop (a machine that has not yet broken its snap and that I just updated to Ubuntu 22.10) to my desktop (still running 22.04) by means of ssh forward X. It dumps core. X is a networked windowing system and should allow you to run apps on remote displays. This breaks the spirit of X11 (IMHO).

OK, in an ironic twist of fate, as I started to research how to remove and reinstall the whole snap thing on my desktop I was watching - How to fix " Pending update of "snap-store" snap - Close the app to avoid disruptions " in Ubuntu ? - YouTube and did a snap refresh. To my surprise, the snap refresh worked! So I tried to snap install plex-htpc and plex-desktop. Both had been installed and both work! The only thing I can chalk this up to is that yesterday we had a power outage and thus my desktop was rebooted.

Oh, and here’s another one, an inconsistency. On plex-htpc, we know that the mouse isn’t supported fully. However, when setting up plex-htpc on my desktop again it asked me to choose my favorite server. I picked mine and when to customize what gets pinned, etc. I have a lot of libraries. The mouse scroll wheel doesn’t work to scroll the list but the left mouse click does pin or unpin a library. The arrow keys are needed to scroll the list but the space key does not pin or unpin the library. AFAICT I need to use the mouse to toggle the pin but the arrow keys to scroll the list.

I don’t know what tell you - you say you don’t know what musl is, but you seem to suggest it’s somehow our fault that we can’t build Chromium with musl. You are entitled to your opinion, but as a matter of fact we simply cannot ship a glibc binary that can support a wide range of Linux distros (and that’s only accounting for glibc, not other differences, like distro-specific patches in system dependencies). This is not for lack of trying. We already patch several dependencies to make them work on various platforms, but patching Chromium to work with musl (and then maintaining that patch-set) is completely out of scope for us. If / when Chromium and Qt upstream decides to support musl, we will be in much better position to ship traditional packages in a way you expect us to. Until then, containerized runtimes are the only way for us to support Linux in Plex Desktop and Plex HTPC.

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