AppImage incompatibility in Ubuntu 22.04

I didn't really think this deserved a Github ticket as such because there's nothing actionable yet, but at the same time, I imagine this information is probably worth spreading.

Ubuntu 22.04 will no longer ship with the libfuse2 package by default. The AppImage distribution (and more generally, all existing AppImage's) are built expecting libfuse2 support. This means that AppImage's will not run on Ubuntu 22.04 by default. The user would have to manually run sudo apt install libfuse2 prior to executing any AppImage. It's highly likely most Ubuntu derivatives would also inherit this requirement, and in some distributions (e.g, Gentoo?) libfuse2 may already be disappearing.

Edit: Other distributions, e.g, Fedora, are also following in the same vein.

Please see fuse-3? · Issue #1120 · AppImage/AppImageKit · GitHub

4 Likes

I installed Kubuntu 22.04 two days ago. I didn't do anything special and I was able to install one appImage program and it ran fine. Running the following command

apt list --installed | grep libfuse2

shows libfuse2 installed:

libfuse2/jammy,now 2.9.9-5ubuntu3 amd64 [installed,automatic]

Maybe something else installed it or the distribution started including it or I misunderstand the issue.

It could honestly be either of those, however I'm tempted to think it's the prior. It's still in the repositories and so other applications can mark it as a dependency which means it could be pulled in like that. But by default on Ubuntu (i.e, the official ISO with Gnome), it's definitely not a default library anymore.

There is a chance Kubuntu specifically does include it, and it's not beyond the realm of possibility that downstream distributions e.g Mint might also install it by default, but as far as the Ubuntu Gnome release goes, it's not a default package.

1 Like

Hello,

a quick way to test this is to read the *.iso manifest. For jammy beta it's here: https://releases.ubuntu.com/jammy/ubuntu-22.04-beta-desktop-amd64.manifest

image

As we can see, we have libfuse3. I've been testing jammy and didn't notice issues. Although I wasn't launching joplin on a vanilla install.

I can confirm that it is a problem with a vanilla Ubuntu 22.04 LTS install.
Downloading the appimage and attempting to launch it does nothing at all.
If you launch from terminal:

$ ./Joplin-2.7.15.AppImage 
dlopen(): error loading libfuse.so.2

AppImages require FUSE to run. 
You might still be able to extract the contents of this AppImage 
if you run it with the --appimage-extract option. 
See https://github.com/AppImage/AppImageKit/wiki/FUSE 
for more information

One approach here could be a modification of the joplin_install_and_update script to check for libfuse2 and prompt the user to install it first before trying to launch Joplin (or make the user run the script again to ensure they don't just ignore the warning and try to start it anyway).

Not sure what can be done about the "plain" appimage download as it gives no feedback at all.

AppImages (in general, not only this one) require the FUSE package, so need to install it with 'apt install fuse libfuse2'.

The problem isn't installing libfuse2, it is how to communicate that to people.
Ubuntu is still very much one of the biggest names out there for people who are new to Linux and this could potentially be a big blow to appimage itself if it isn't updated to not rely on libfuse2.
There is almost certainly going to be a situation where people are new to Linux, have never used or heard of an appimage before and go to download Joplin using the big friendly penguin on the link and end up with a download they can't even use (even if they do work out they have to make it executable).

As the recommended method to install Joplin is via the script we do have a chance to bring this to people's attention before they flock to the forum saying that Joplin is broken.

I'd be interested to see what other projects using appimage as their primary (or sole) distribution method are doing in the wake of this.

Thanks, @Daeraxa, for pointing it out this important topic for installing Joplin in Ubuntu 22.04, but If you have already tested Can Joplin run without any other issue in v22.04 if you install before "fuse libfuse2" on Ubuntu? Please confirm.

Well credit for that aspect goes to @james-carroll but from some limited testing it seems to be just fine once you install libfuse2. After a bit of googling it is still very much in the Ubuntu repositories and supported but has moved from "main" to "universe", the basic Ubuntu release no longer has any software included by default on the iso that requires libfuse2.
The "fix" seems to be generic for all appimages going off the linked topic in the original post and it does seem they intend to update appimagekit with both a stopgap emergency fix and proper longterm fix (but obviously it will only be for appimages created after those are applied, older appimages still won't work natively without libfuse2).

I wasn't arguing, just wanted to provide some information for those who didn't know this (not you). :slight_smile:

I've got a lot of clients with that problem because our main distribution for Linux is with AppImage format. I'm wondering what would be the best approach. For now, we have changed our download page with instructions for Ubuntu 22.04 but I'm thinking of changing our distribution format if needed. Does someone have any news from AppImage?

The link to the discussion is in the first post.
The generally accepted workaround is to run:

sudo add-apt-repository universe
sudo apt install libfuse2

Edit: I see you already posted there with that info and one of the maintainers responded to you, not sure what else you are expecting us to know from the appimage project that isn't already there.

your solution with sudo apt install libfuse2 p actually helped me installing Audacity, that also comes as an Appimage and could not be installed since libfuse 2 was missing in my Ubuntu 20.04 TLS.
Thanks!

Would it maybe be possible to add some kind of warning in the output from the installation script and/or create a short message on the website download page? I'll admit that if I weren't already a user, I wouldn't have bothered tracking down why Joplin isn't working on a fresh Ubuntu install which would have been a shame given how simple the fix is.

I'd even be down to do either or both of those myself if given the go-ahead.

1 Like

Thanks,

I cannot start my Joplin until running this command as you said:

sudo apt install libfuse2

Thanks, this saved me a lot of confusion. I just got a new Ubuntu 22 desktop and was so confused why Joplin wasn't opening up, esp. since it was so smooth a process on Ubuntu 20.