TheAssassin / AppImageLauncher

Helper application for Linux distributions serving as a kind of "entry point" for running and integrating AppImages
https://assassinate-you.net/tags/appimagelauncher/
MIT License
5.56k stars 264 forks source link

AppImageLauncher lite GUI does not run on Fedora 35 #472

Open ramesh45345 opened 2 years ago

ramesh45345 commented 2 years ago

Pre-submit checks

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.

TheAssassin commented 2 years ago

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.

ramesh45345 commented 2 years ago

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.

TheAssassin commented 2 years ago

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 commented 2 years ago

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.