Arch Linux not working as advertised


#1

First I was like

But then

[~]$ chmod +x Subsurface-4.5.1.1445-x86_64.AppImage 
[~]$ ./Subsurface-4.5.1.1445-x86_64.AppImage 
/tmp/.mount_WQ90Ng
/tmp/.mount_WQ90Ng/usr/bin/subsurface.wrapper
/tmp/.mount_WQ90Ng/subsurface.desktop
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
/tmp/.mount_WQ90Ng/usr/bin/subsurface: error while loading shared libraries: libselinux.so.1: cannot open shared object file: No such file or directory

Maybe remove Arch or make it so that AppImage identifies when it’s being run on Arch and explains that one has to get libselinux from AUR unfortunately.


#2

Thanks for your feedback @qubodup. Looks like the Subsurface AppImage is currently suffering from a known issue:
https://github.com/probonopd/AppImages/issues/83
Other AppImages might work though. So this is not a general limitation of the AppImage format but an issue with the example AppImage.

As a quick workaround, installing libselinux.so.1 from air should work. The proper solution, of course, is to compile the ingredients that go into the AppImage in a way that removes the libselinux.so.1 dependency, or to bundle libselinux.so.1 inside the AppImage. Another option might be to “preload a dummy libselinux that makes all child processes think that SELinux is disabled” as described in https://fedoraproject.org/wiki/Using_Mock_to_test_package_builds. Contributions in this area are highly welcome!