Skip to content

[Bug Report] AppImage broken on modern distros: dlopen(): error loading libfuse.so.2 #3434

Description

@phroi

Topic Type

Other

Detail of the issue

Hello folks at App5,

I just noticed that Neuron’s AppImage depends on libfuse2: many distributions now ship libfuse3 by default and may not install libfuse2 on a fresh system. This means that Neuron will not run out-of-the-box on fresh installs of recent mainstream distros such as Ubuntu, Fedora, Arch, Debian... That's why most AppImage maintainers are rebuilding images to bundle a libfuse3 runtime so they run without requiring host libfuse2.

That said, my personal suggestion would be to distribute Neuron via Flatpak, reason being:

Flatpak is slowly but steadily becoming the de-facto standard for distribuiting Apps on Linux, especially thanks ot the user-accessible tooling around it: discoverability, one-click install, updateability, easiness of restricting permissions...

On Flatpak these bases are well covered, we have user-accessible tools like: Bazaar, Flatseal, Warehouse ...

On AppImages we:

  1. Get a binary
  2. Verify the hash (we all do this, right?)
  3. chmod +x ...
  4. Double click
  5. Hope for the best
  6. (Optional side quest) Sometimes Gnome Nautilus strangely try to decompress it, later on you realize that you just forgot chmod, whoops 🤣🤣🤣

Just to make a comparison, on modern Linux distro:

  • 1 click for an hypothetical Neuron Flatpak installation on most distro (3 steps if it's Ubuntu 🤣)
  • 4 steps for an hypothetical Neuron libfuse3 installation (terminal still needed to check the hash)
  • The following steps for the current Neuron libfuse2 installation on a fresh Ubuntu Distrobox:
$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 24.04.1 LTS
Release:	24.04
Codename:	noble
$ wget https://github.com/nervosnetwork/neuron/releases/download/v0.202.1/Neuron-v0.202.1-x86_64.AppImage
...
$ sha256sum ~/Neuron-v0.202.1-x86_64.AppImage 
f3b5d50f33bf5d7ad15d67ef3f1024f668fe017d95a680c664abfff9f920dbdc  /var/home/user/Neuron-v0.202.1-x86_64.AppImage
$ chmod +x Neuron-v0.202.1-x86_64.AppImage
$ ./Neuron-v0.202.1-x86_64.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
$ sudo apt install libfuse2t64
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package libfuse2t64
$ sudo apt update
...
$ sudo apt upgrade
...
$ sudo apt install libfuse2t64
...
$ ./Neuron-v0.202.1-x86_64.AppImage
/tmp/.mount_NeuronCWaOt0/neuron-wallet: error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory
$ sudo apt install libnss3
...
$ ./Neuron-v0.202.1-x86_64.AppImage
/tmp/.mount_NeuronMuTSYb/neuron-wallet: error while loading shared libraries: libasound.so.2: cannot open shared object file: No such file or directory
$ sudo apt install libasound2t64
...
$ ./Neuron-v0.202.1-x86_64.AppImage

Great Success!

Thank you for your hard work,
Phroi

bundled-ckb.log

bundled-ckb-light-mainnet.log

main.log

status.log

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions