site  contact  subhomenews

AppImage Installer for EasyOS

March 14, 2023 — BarryK

I have created an installer for AppImages. Still needs more work, but basically working. The first window is a tabbed-list of AppImages:

img1

...the tick in the second column means the AppImage is already installed.

Bottom-left of the window is a help button; here it is:

img2

Under the Video tab, I chose "ShotCut", then clicked the "Install/Update/delete" button, and the AppImage was downloaded and installed. Then a confirmation window:

img3

...that is informing ready-to-go. Select from the menu, or if you want to see any error messages, run "shotcut" in a terminal. Here is the final information window:

img4

However, ShotCut aborted at startup, showed the splash screen, then crash, no error message. So, I have removed it from the "Video" tab.

As I am discovering, it is a gamble whether an AppImage will work, so I test each one and add it to the Installer only if it works with Easy Kirkstone.

There is, however, a matter of considerable concern about AppImages...

So far I have tested 11 AppImages and 3 failed. So, only 8 out of those 11 actually work.

Two of the failures are due to libraries bundled inside the AppImage requiring a later version of glibc than is in the host system (Easy Kirkstone 5.0) -- they are CozyDrive and OpenShot. I found this information:

https://discourse.appimage.org/t/specify-required-glibc-version-in-appimage/2413

So, the developer who created the AppImage may have bundled libraries that require a later version of glibc than is in the host system. The link does state that the developer can bundle glibc, but that is optional. It also states that if glibc is not bundled, the developer should be running a distro with glibc version no later than that in the oldest Ubuntu LTS version. Quoting from above link:

We currently have no way to specify the minimal glibc version needed.
But we recommend to build AppImages on no newer distribution than the oldest still-supported LTS release of Ubuntu. This is also the requirement to be listed on AppImageHub.

I very much doubt that developers will be running such an old distro. More likely they have a recent version, or a rolling-release distro.

This is leading me to think that developers should be required to bundle glibc, even though it does make the AppImage bigger.

There is another worry...

Eight AppImages work. I downloaded the latest versions off github. But, what if someone comes along later, downloads the latest version of an AppImage, but the developer has upgraded his or her distro, with a later glibc, and built the AppImage with libraries from the updated distro?

Very unsatisfactory.

There are two ways that I can work around this problem...

Firstly, download a specific version of the AppImage, known to work in Easy Kirkstone, rather than the latest available.

Secondly, open up the AppImage before installation and check whether glibc is bundled. If not check that the libraries will work with the host glibc.

I am disappointed that this problem has been allowed to exist. Anyway, I will implement one of the workarounds.

EDIT:
Also, the opposite problem can occur, a binary requiring an older version of glibc than is on the host system. This can occur despite glibc supposed to be backwards-compatible.
scsijon and don570 have commented on this in the forum:

https://forum.puppylinux.com/viewtopic.php?p=84150#p84150

jamesbond has some notes on this topic:

https://www.lightofdawn.org/wiki/wiki.cgi/NewAppsOnOldGlibc 

EDIT 2023-03-15:
Follow-up blog post:

https://bkhome.org/news/202303/wrapping-up-appimage-installer.html    

Tags: easy