site  contact  subhomenews

Wrapping up AppImage Installer

March 15, 2023 — BarryK

This is a follow-up from the introduction to AppImage Installer blog post yesterday:

https://bkhome.org/news/202303/appimage-installer-for-easyos.html

I have put some time into testing AppImages. Have tested 24, of which 15 work. Of the 9 that don't work, most failure is due to library mismatch with the host system.

For example, the error when attempt to run KiCad (a schematic-capture and PCB layout designer):

./bin/kicad: /usr/lib/libcrypt.so.1: version `GLIBC_2.2.5' not found (required by /tmp/.mount_kicad.Ru9zq7/usr/lib/x86_64-linux-gnu/libkrb5.so.26)
./bin/kicad: /usr/lib/libcrypt.so.1: version `GLIBC_2.2.5' not found (required by /tmp/.mount_kicad.Ru9zq7/usr/lib/x86_64-linux-gnu/libroken.so.18)

Another example, Endless Sky (outer-space adventure game):

/usr/bin/endlesssky.bin: error while loading shared libraries: libOpenGL.so.0: cannot open shared object file: No such file or directory

Another example, VidCutter (video editor):

/usr/lib/libgio-2.0.so.0: undefined symbol: g_module_open_full

And it goes on. Failure is not just due to shared library incompatibility. Some are quite mysterious:

Emacs (text editor):

FATAL:gpu_data_manager_impl_private.cc(986)] The display compositor is frequently crashing. Goodbye.:

CircuitBlocks (graphical coding for Arduino):

terminate called after throwing an instance of 'std::logic_error'
what(): basic_string: construction from null is not valid

Regarding shared-library conflicts, this is exactly what a packaging mechanism like AppImages is supposed to avoid. Which why I am disappointed. I am thinking that the AppImage developers should have been much stricter in the requirements when someone puts together an AppImage -- like insisting it include libc.so.6 (etc.).

One fundamental problem is that an AppImage can be created while running on any Linux distro.
Different Linux distros have lots and lots of subtle differences. Like, for example configure choices when compiling a library.

My attention is going back to Easy Containers, which is a very superior mechanism to run apps without library mismatches.

Anyway, AppImage Installer now has 15 entries. It can be launched from the menu:

img1

I am not going to hunt for more AppImages that work. If you guys find one that works, and provides useful functionality not already in EasyOS Kirkstone, then let me know and I will check it out and and maybe add it to the Installer. Forum discussion is here:

https://forum.puppylinux.com/viewtopic.php?t=8248

An example that we do not want is a LibreOffice AppImage, as that is already builtin to EasyOS Kirkstone.

And if anyone is interested, the scripts are here:

img2

This will be in the next release of EasyOS, probably version 5.1.      

Tags: easy