TheAssassin/AppImageLauncher

Unable to build on ChromeOS Debian 11/12

Opened this issue · 2 comments

Pre-submit checks

  • 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.
  • 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

I'm unable to build AppImageLauncher for Linux on ChromeOS, which runs Debian Bullseye:

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

I followed the instructions exactly as written here (see attached screencapture), i.e.

$ git clone https://github.com/TheAssassin/AppImageLauncher.git -b stable
$ cd AppImageLauncher
$ git submodule update --init --recursive

$ sudo apt install make cmake libglib2.0-dev libcairo2-dev librsvg2-dev libfuse-dev libarchive-dev libxpm-dev libcurl4-openssl-dev libboost-all-dev qtbase5-dev qtdeclarative5-dev qttools5-dev-tools patchelf libc6-dev libc6-dev gcc-multilib g++-multilib

$ export PREFIX="/usr/local/"
$ mkdir build
$ cd build

$ cmake .. -DCMAKE_INSTALL_PREFIX="$PREFIX" -DUSE_SYSTEM_BOOST=true
$ make libappimage libappimageupdate libappimageupdate-qt

At first, cmake .. -DCMAKE_INSTALL_PREFIX="$PREFIX" -DUSE_SYSTEM_BOOST=true failed because I was missing xxd, which was easily fixed by the following:

$ sudo apt install xxd

Then, make libappimage libappimageupdate libappimageupdate-qt failed with the following output:

...
Scanning dependencies of target libappimage
[ 95%] Building C object lib/libappimage/src/libappimage/CMakeFiles/libappimage.dir/libappimage.c.o
[100%] Building CXX object lib/libappimage/src/libappimage/CMakeFiles/libappimage.dir/libappimage.cpp.o
[100%] Building CXX object lib/libappimage/src/libappimage/CMakeFiles/libappimage.dir/libappimage_legacy.cpp.o
[100%] Linking CXX shared library libappimage.so
/usr/bin/ld: desktop_integration/CMakeFiles/appimage_desktop_integration.dir/integrator/Integrator.cpp.o:(.rodata+0x40): multiple definition of `_ZGRN15StringSanitizer13asciiLetters_E_'; utils/CMakeFiles/appimage_utils.dir/StringSanitizer.cpp.o:(.rodata+0x20): first defined here
/usr/bin/ld: desktop_integration/CMakeFiles/appimage_desktop_integration.dir/integrator/Integrator.cpp.o:(.rodata+0x78): multiple definition of `_ZGRN15StringSanitizer12asciiDigits_E_'; utils/CMakeFiles/appimage_utils.dir/StringSanitizer.cpp.o:(.rodata+0x58): first defined here
/usr/bin/ld: desktop_integration/CMakeFiles/appimage_desktop_integration.dir/integrator/Integrator.cpp.o:(.rodata+0x82): multiple definition of `_ZGRN15StringSanitizer14pathSafeChars_E_'; utils/CMakeFiles/appimage_utils.dir/StringSanitizer.cpp.o:(.rodata+0x62): first defined here
/usr/bin/ld: desktop_integration/CMakeFiles/appimage_desktop_integration.dir/integrator/DesktopEntryEditor.cpp.o:(.rodata+0x20): multiple definition of `_ZGRN15StringSanitizer13asciiLetters_E_'; utils/CMakeFiles/appimage_utils.dir/StringSanitizer.cpp.o:(.rodata+0x20): first defined here
/usr/bin/ld: desktop_integration/CMakeFiles/appimage_desktop_integration.dir/integrator/DesktopEntryEditor.cpp.o:(.rodata+0x58): multiple definition of `_ZGRN15StringSanitizer12asciiDigits_E_'; utils/CMakeFiles/appimage_utils.dir/StringSanitizer.cpp.o:(.rodata+0x58): first defined here
/usr/bin/ld: desktop_integration/CMakeFiles/appimage_desktop_integration.dir/integrator/DesktopEntryEditor.cpp.o:(.rodata+0x62): multiple definition of `_ZGRN15StringSanitizer14pathSafeChars_E_'; utils/CMakeFiles/appimage_utils.dir/StringSanitizer.cpp.o:(.rodata+0x62): first defined here
collect2: error: ld returned 1 exit status
make[3]: *** [lib/libappimage/src/libappimage/CMakeFiles/libappimage.dir/build.make:189: lib/libappimage/src/libappimage/libappimage.so.1.0.3] Error 1
make[2]: *** [CMakeFiles/Makefile2:2166: lib/libappimage/src/libappimage/CMakeFiles/libappimage.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:2173: lib/libappimage/src/libappimage/CMakeFiles/libappimage.dir/rule] Error 2
make: *** [Makefile:712: libappimage] Error 2

Here's the commit that I built from:

$ git log | head
commit 0f918015fa418affec32435d1c61c6ae473f2af5
Author: TheAssassin <theassassin@assassinate-you.net>
Date:   Tue Sep 29 03:51:46 2020 +0200

    Release v2.2.0

Expected behavior

I expected the build to complete.

Steps to reproduce the issue

On ChromeOS, open Terminal and enter the following:

$ git clone https://github.com/TheAssassin/AppImageLauncher.git -b stable
$ cd AppImageLauncher
$ git submodule update --init --recursive

$ sudo apt install make cmake libglib2.0-dev libcairo2-dev librsvg2-dev libfuse-dev libarchive-dev libxpm-dev libcurl4-openssl-dev libboost-all-dev qtbase5-dev qtdeclarative5-dev qttools5-dev-tools patchelf libc6-dev libc6-dev gcc-multilib g++-multilib
$ sudo apt install xxd

$ export PREFIX="/usr/local/"
$ mkdir build
$ cd build

$ cmake .. -DCMAKE_INSTALL_PREFIX="$PREFIX" -DUSE_SYSTEM_BOOST=true
$ make libappimage libappimageupdate libappimageupdate-qt

Screenshots

screencapture-github-TheAssassin-AppImageLauncher-blob-master-BUILD-md-2024-01-27-11_15_53

Distribution and desktop environment

Distribution: Debian 11 (Bullseye)

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Desktop environment: ChromeOS

  • I know it runs both KDE and GNOME applications

Installed AppImageLauncher version

None installed (this bug is about trying to build and install).

Here's the commit that I built from:

$ git log | head
commit 0f918015fa418affec32435d1c61c6ae473f2af5
Author: TheAssassin <theassassin@assassinate-you.net>
Date:   Tue Sep 29 03:51:46 2020 +0200

    Release v2.2.0

List of AppImages you tried

No response

Additional context

No response

Please build the latest master. I'm still working on a fresh release. The code is considered mostly stable (RC, basically).

I just gave this another try, but now I'm on Debian 12 Bookworm on ChromeOS:

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Following the instructions, I downloaded and set up the repo, and installed the dependencies:

$ git clone https://github.com/TheAssassin/AppImageLauncher.git -b stable
$ cd AppImageLauncher
$ git submodule update --init --recursive

$ sudo apt install make cmake libglib2.0-dev libcairo2-dev librsvg2-dev libfuse-dev libarchive-dev libxpm-dev libcurl4-openssl-dev libboost-all-dev qtbase5-dev qtdeclarative5-dev qttools5-dev-tools patchelf libc6-dev libc6-dev gcc-multilib g++-multilib

This time, I switched to the 'master' branch before building:

$ git checkout master
$ git log | head
commit 001351622acd8a3c578889429852cd0775454810
Author: Alice Knag <AskAlice@users.noreply.github.com>
Date:   Sat Aug 26 02:51:16 2023 -0600

Then I ran the build commands:

$ export PREFIX="/usr/local/"
$ mkdir build
$ cd build

$ cmake .. -DCMAKE_INSTALL_PREFIX="$PREFIX" -DUSE_SYSTEM_BOOST=true
$ make libappimage libappimageupdate libappimageupdate-qt

It succeeded (with warnings, but no errors). Then I ran the install command:

$ sudo make install
Install the project...
-- Install configuration: ""
-- Up-to-date: /usr/local/lib/appimagelauncher/libappimageupdate.so
-- Up-to-date: /usr/local/lib/appimagelauncher/libappimageupdate-qt.so
-- Up-to-date: /usr/local/lib/binfmt.d/appimagelauncher.conf
-- Up-to-date: /usr/local/lib/systemd/user/appimagelauncherd.service
-- Up-to-date: /usr/local/bin/appimagelauncherd
-- Up-to-date: /usr/local/bin/AppImageLauncher
-- Up-to-date: /usr/local/bin/AppImageLauncherSettings
-- Up-to-date: /usr/local/lib/appimagelauncher/remove
-- Up-to-date: /usr/local/lib/appimagelauncher/update
-- Up-to-date: /usr/local/lib/appimagelauncher/binfmt-bypass
-- Up-to-date: /usr/local/lib/appimagelauncher/libbinfmt-bypass-preload.so
-- Up-to-date: /usr/local/lib/appimagelauncher/binfmt-interpreter
-- Up-to-date: /usr/local/lib/appimagelauncher/libbinfmt-bypass-preload.so
-- Up-to-date: /usr/local/bin/ail-cli
-- Up-to-date: /usr/local/share/mime
-- Up-to-date: /usr/local/share/mime/packages
-- Up-to-date: /usr/local/share/mime/packages/appimage.xml
-- Up-to-date: /usr/local/share/icons//hicolor
-- Up-to-date: /usr/local/share/icons//hicolor/128x128
-- Up-to-date: /usr/local/share/icons//hicolor/128x128/apps
-- Up-to-date: /usr/local/share/icons//hicolor/128x128/apps/AppImageLauncher.png
-- Up-to-date: /usr/local/share/icons//hicolor/160x160
-- Up-to-date: /usr/local/share/icons//hicolor/160x160/apps
-- Up-to-date: /usr/local/share/icons//hicolor/160x160/apps/AppImageLauncher.png
-- Up-to-date: /usr/local/share/icons//hicolor/16x16
-- Up-to-date: /usr/local/share/icons//hicolor/16x16/apps
-- Up-to-date: /usr/local/share/icons//hicolor/16x16/apps/AppImageLauncher.png
-- Up-to-date: /usr/local/share/icons//hicolor/192x192
-- Up-to-date: /usr/local/share/icons//hicolor/192x192/apps
-- Up-to-date: /usr/local/share/icons//hicolor/192x192/apps/AppImageLauncher.png
-- Up-to-date: /usr/local/share/icons//hicolor/256x256
-- Up-to-date: /usr/local/share/icons//hicolor/256x256/apps
-- Up-to-date: /usr/local/share/icons//hicolor/256x256/apps/AppImageLauncher.png
-- Up-to-date: /usr/local/share/icons//hicolor/32x32
-- Up-to-date: /usr/local/share/icons//hicolor/32x32/apps
-- Up-to-date: /usr/local/share/icons//hicolor/32x32/apps/AppImageLauncher.png
-- Up-to-date: /usr/local/share/icons//hicolor/384x384
-- Up-to-date: /usr/local/share/icons//hicolor/384x384/apps
-- Up-to-date: /usr/local/share/icons//hicolor/384x384/apps/AppImageLauncher.png
-- Up-to-date: /usr/local/share/icons//hicolor/512x512
-- Up-to-date: /usr/local/share/icons//hicolor/512x512/apps
-- Up-to-date: /usr/local/share/icons//hicolor/512x512/apps/AppImageLauncher.png
-- Up-to-date: /usr/local/share/icons//hicolor/64x64
-- Up-to-date: /usr/local/share/icons//hicolor/64x64/apps
-- Up-to-date: /usr/local/share/icons//hicolor/64x64/apps/AppImageLauncher.png
-- Up-to-date: /usr/local/share/icons//hicolor/scalable
-- Up-to-date: /usr/local/share/icons//hicolor/scalable/apps
-- Up-to-date: /usr/local/share/icons//hicolor/scalable/apps/AppImageLauncher.svg
-- Up-to-date: /usr/local/share/applications/appimagelauncher.desktop
-- Up-to-date: /usr/local/share/applications/appimagelaunchersettings.desktop
-- Up-to-date: /usr/local/share/appimagelauncher/fallback-icons
-- Up-to-date: /usr/local/share/appimagelauncher/fallback-icons/.gitignore
-- Up-to-date: /usr/local/share/appimagelauncher/fallback-icons/add.svg
-- Up-to-date: /usr/local/share/appimagelauncher/fallback-icons/folder.svg
-- Up-to-date: /usr/local/share/appimagelauncher/fallback-icons/found.svg
-- Up-to-date: /usr/local/share/appimagelauncher/fallback-icons/missing.svg
-- Up-to-date: /usr/local/share/appimagelauncher/fallback-icons/remove.svg
-- Up-to-date: /usr/local/share/man/man1/AppImageLauncher.1
-- Up-to-date: /usr/local/share/appimagelauncher/l10n
-- Installing: /usr/local/share/appimagelauncher/l10n/ui.ast.qm
-- Installing: /usr/local/share/appimagelauncher/l10n/ui.cs.qm
-- Installing: /usr/local/share/appimagelauncher/l10n/ui.de.qm
-- Installing: /usr/local/share/appimagelauncher/l10n/ui.en.qm
-- Installing: /usr/local/share/appimagelauncher/l10n/ui.es.qm
-- Installing: /usr/local/share/appimagelauncher/l10n/ui.fr.qm
-- Installing: /usr/local/share/appimagelauncher/l10n/ui.it.qm
-- Installing: /usr/local/share/appimagelauncher/l10n/ui.nb_NO.qm
-- Installing: /usr/local/share/appimagelauncher/l10n/ui.nl.qm
-- Installing: /usr/local/share/appimagelauncher/l10n/ui.pl.qm
-- Installing: /usr/local/share/appimagelauncher/l10n/ui.pt.qm
-- Installing: /usr/local/share/appimagelauncher/l10n/ui.pt_BR.qm
-- Installing: /usr/local/share/appimagelauncher/l10n/ui.pt_PT.qm
-- Installing: /usr/local/share/appimagelauncher/l10n/ui.ru.qm
-- Installing: /usr/local/share/appimagelauncher/l10n/ui.tr.qm
-- Installing: /usr/local/share/appimagelauncher/l10n/ui.zh_Hans.qm
-- Installing: /usr/local/share/appimagelauncher/l10n/desktopfiles.ast.json
-- Installing: /usr/local/share/appimagelauncher/l10n/desktopfiles.cs.json
-- Installing: /usr/local/share/appimagelauncher/l10n/desktopfiles.de.json
-- Installing: /usr/local/share/appimagelauncher/l10n/desktopfiles.en.json
-- Installing: /usr/local/share/appimagelauncher/l10n/desktopfiles.es.json
-- Installing: /usr/local/share/appimagelauncher/l10n/desktopfiles.fr.json
-- Installing: /usr/local/share/appimagelauncher/l10n/desktopfiles.it.json
-- Installing: /usr/local/share/appimagelauncher/l10n/desktopfiles.ko.json
-- Installing: /usr/local/share/appimagelauncher/l10n/desktopfiles.nb_NO.json
-- Installing: /usr/local/share/appimagelauncher/l10n/desktopfiles.nl.json
-- Installing: /usr/local/share/appimagelauncher/l10n/desktopfiles.pl.json
-- Installing: /usr/local/share/appimagelauncher/l10n/desktopfiles.pt.json
-- Installing: /usr/local/share/appimagelauncher/l10n/desktopfiles.pt_BR.json
-- Installing: /usr/local/share/appimagelauncher/l10n/desktopfiles.ru.json
-- Installing: /usr/local/share/appimagelauncher/l10n/desktopfiles.tr.json
-- Installing: /usr/local/share/appimagelauncher/l10n/desktopfiles.zh_Hans.json

However, when I try launching any of the binaries, I get an error:

$ AppImageLauncher
AppImageLauncher: error while loading shared libraries: libappimage.so: cannot open shared object file: No such file or directory

$ ail-cli
ail-cli: error while loading shared libraries: libappimage.so: cannot open shared object file: No such file or directory

I looked back at the build output, and I see:

...
[100%] Linking C shared library libappimage.so
[100%] Built target libappimage
...

But looking at the output from sudo make install, I don't see anything mentioning libappimage.so. Did I miss something?