AppImageLauncher icon indicating copy to clipboard operation
AppImageLauncher copied to clipboard

AppImageLauncher lite GUI does not run on Fedora 35

Open ramesh45345 opened this issue 3 years ago • 4 comments

Pre-submit checks

  • [X] I checked for similar issues beforehand, but could not find any, not even closed ones. I could not add my bug report to any existing issue.
  • [X] I am going to take the time to to fill in all the required details. I know that the bug report will be dismissed otherwise.

Describe the bug

When running appimagelauncher-lite-2.2.0-travis74-10c226a-x86_64.AppImage (AppImageLauncher lite), I am getting the following error when running with the appimagelauncherd, AppImageLauncherSettings, and cli options: /tmp/.mount_appimalqnh3c/usr/bin/ail-cli: symbol lookup error: /lib64/libgio-2.0.so.0: undefined symbol: g_module_open_full.

Here are some logs showing the issue:

$ ./appimagelauncher-lite-2.2.0-travis74-10c226a-x86_64.AppImage cli
/tmp/.mount_appimalqnh3c/usr/bin/ail-cli: symbol lookup error: /lib64/libgio-2.0.so.0: undefined symbol: g_module_open_full
$ ./appimagelauncher-lite-2.2.0-travis74-10c226a-x86_64.AppImage appimagelauncherd
/tmp/.mount_appimaVxmqMN/usr/bin/appimagelauncherd: symbol lookup error: /lib64/libgio-2.0.so.0: undefined symbol: g_module_open_full
$ ./appimagelauncher-lite-2.2.0-travis74-10c226a-x86_64.AppImage AppImageLauncherSettings
/tmp/.mount_appima2tBe0b/usr/bin/AppImageLauncherSettings: symbol lookup error: /lib64/libgio-2.0.so.0: undefined symbol: g_module_open_full
$ ./appimagelauncher-lite-2.2.0-travis74-10c226a-x86_64.AppImage install
Installing AppImageLauncher Lite
Created symlink /home/user/.config/systemd/user/default.target.wants/appimagelauncherd.service → /home/user/.local/lib/appimagelauncher-lite/systemd/appimagelauncherd.service.
AppImageLauncher Lite has been installed successfully.
$ systemctl restart --user appimagelauncherd.service
$ systemctl status --user appimagelauncherd.service
● appimagelauncherd.service - AppImageLauncher daemon
     Loaded: loaded (/home/user/.config/systemd/user/appimagelauncherd.service; enabled; vendor preset: disabled)
     Active: activating (auto-restart) (Result: exit-code) since Thu 2021-12-30 10:25:53 EST; 1s ago
    Process: 16796 ExecStart=/home/user/.local/lib/appimagelauncher-lite/appimagelauncher-lite.AppImage appimagelauncherd (code=exited, status=127)
   Main PID: 16796 (code=exited, status=127)
        CPU: 153ms
$ ./appimagelauncher-lite-2.2.0-travis74-10c226a-x86_64.AppImage --help
Usage: /tmp/.mount_appimamltsf6/AppRun.wrapped <option> ...

Main options:
  install       Install AppImageLauncher into your user account
  uninstall     Uninstall AppImageLauncher from your user account
  help|--help   Display this help

Other options (mainly for use by AppImageLauncher Lite internally):
  appimagelauncherd          Run appimagelauncherd
  AppImageLauncherSettings   Display AppImageLauncher Lite configuration utility
  cli [or ali-cli]           Run AppImageLauncher cli (use "cli --help" for more information)
  remove <path>              Run removal helper to remove AppImage <path>
  update <path>              Run update helper to update AppImage <path>

In searching for this issue, I found https://github.com/TheAssassin/AppImageLauncher/issues/449, which was attributed to the specific appimage in question. This issue is different, because I am encountering the issue with the AppImageLauncher appimage (lite) itself.

Also, this issue might be strongly related to https://github.com/VSCodium/vscodium/issues/854, where a similar problem was reported. That project resolved their issue by removing the library in question from the appimage (https://github.com/VSCodium/vscodium/pull/944).

Expected behavior

For ./appimagelauncher-lite-2.2.0-travis74-10c226a-x86_64.AppImage AppImageLauncherSettings, expected to see the GUI pop up.

For ./appimagelauncher-lite-2.2.0-travis74-10c226a-x86_64.AppImage install and checking the systemd logs, expect appimaged to be running.

Steps to reproduce the issue

  1. Ensure Fedora 35 (or whatever OS used) is fully updated.
  2. Download appimagelauncher-lite-2.2.0-travis74-10c226a-x86_64.AppImage
  3. chmod a+x appimagelauncher-lite-2.2.0-travis74-10c226a-x86_64.AppImage
  4. Run ./appimagelauncher-lite-2.2.0-travis74-10c226a-x86_64.AppImage AppImageLauncherSettings in the folder containing the appimage.
  5. Observe the following error: /tmp/.mount_appima2tBe0b/usr/bin/AppImageLauncherSettings: symbol lookup error: /lib64/libgio-2.0.so.0: undefined symbol: g_module_open_full

Screenshots

Logs above contain relevant output.

Distribution and desktop environment

$ cat /etc/os-release
NAME="Fedora Linux"
VERSION="35 (Thirty Five)"
ID=fedora
VERSION_ID=35
VERSION_CODENAME=""
PLATFORM_ID="platform:f35"
PRETTY_NAME="Fedora Linux 35 (Thirty Five)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:35"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f35/system-administrators-guide/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=35
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=35
PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"
$ plasmashell --version
plasmashell 5.23.4
$ uname -a
Linux Fedora-VM 5.15.7-200.fc35.x86_64 #1 SMP Wed Dec 8 19:00:47 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Installed AppImageLauncher version

appimagelauncher-lite-2.2.0-travis74-10c226a-x86_64.AppImage

List of AppImages you tried

Only appimagelauncher-lite-2.2.0-travis74-10c226a-x86_64.AppImage was tried. --help works, but appimagelauncherd, AppImageLauncherSettings, and cli result in the above error.

Additional context

I'm assuming this issue will also manifest in modern versions of Arch Linux as well, or any distro that has an up-to-date version of glib2? Fedora 35 is carrying the following version of glib2: glib2-2.70.2-1.fc35.x86_64.

ramesh45345 avatar Dec 30 '21 15:12 ramesh45345

Thanks for this very detailed bug report. This is the first one using the new issue form. Looks like that really helps guide people when creating issues!

Your log output reminds me of https://github.com/AppImage/AppImageKit/issues/1162.

Please try the following to see whether that fixes the issue:

./appimagelauncher-lite[...].AppImage --appimage-extract
# make sure the extracted AppImage behaves the same way
squashfs-root/AppRun <some command>
# remove offending library
rm squashfs-root/usr/lib/libgmodule-2.0.so.0
# now try again
squashfs-root/AppRun <some command>

In case removing the library works, we should report that over at AppImageKit and fix the issue there. I'll then rebuild the current master branch, which you should be able to use then.

TheAssassin avatar Dec 31 '21 00:12 TheAssassin

Removing the library seems to work. Here is the output:

$ squashfs-root/AppRun cli
/home/user/squashfs-root/usr/bin/ail-cli: symbol lookup error: /lib64/libgio-2.0.so.0: undefined symbol: g_module_open_full
$ rm squashfs-root/usr/lib/libgmodule-2.0.so.0 
$ squashfs-root/AppRun cli
Usage: /home/user/squashfs-root/usr/bin/ail-cli [options] <command> [...]

Options:
  -h, --help     Displays help on commandline options.
  --help-all     Displays help including Qt specific options.
  -v, --version  Displays version information.

Arguments:
  <command>      Command to run (see help for more information
  [...]          command-specific additional arguments

Available commands:
  integrate        Integrate AppImages passed as commandline arguments
  unintegrate      Unintegrate AppImages passed as commandline arguments
  would-integrate  Report whether AppImage would be integrated (exits with 0 if yes, any other code if not)

Looking at the ticket you linked (https://github.com/AppImage/AppImageKit/issues/1162), I am assuming the proposed workaround in that ticket is exactly what would help this situation too? I can comment in that issue as well stating exactly that.

ramesh45345 avatar Dec 31 '21 01:12 ramesh45345

AFAICS there are two known workarounds, deploying a newer version of GLib in the AppImage (not ideal), or remove the library. The latter is proposed in the AppImageKit issue, and I think this is going to be the solution. There will be more testing required, though.

TheAssassin avatar Dec 31 '21 01:12 TheAssassin

GLib is now bundled by default again, see https://github.com/AppImage/pkg2appimage/commit/1e3ecde6b92ef198405463415b8090a4435d0cb0. I think the next prerelease builds should work. Feedback appreciated.

Will release a new version soon.

TheAssassin avatar Mar 18 '22 21:03 TheAssassin