Seeking guidance for building a more universal AppImage

I’m trying to build an AppImage (using linuxdeploy) that will run at least back to Ubunty jammy (and hopefully CentOS), but having some issues.

I am using appimagelint after building the image to test it. This is the output.

appimagelint.cli[11422] [INFO] Checking AppImage ./artifacts/sunshine-18.04.AppImage
appimagelint.cli[11422] [INFO] Running check "GNU libc ABI check"
appimagelint.glibc_abi_check[11422] [INFO] detected required version for runtime: 2.14
appimagelint.glibc_abi_check[11422] [INFO] detected required version for payload: 2.27
appimagelint.cache[11422] [INFO] Fetching glibc version data for debian
appimagelint.setup[11422] [INFO] Fetching glibc package versions from Debian sources API
appimagelint.glibc_abi_check[11422] [INFO] [✔] AppImage can run on Debian oldstable (buster)
appimagelint.glibc_abi_check[11422] [INFO] [✔] AppImage can run on Debian stable (bullseye)
appimagelint.glibc_abi_check[11422] [INFO] [✔] AppImage can run on Debian testing (bookworm)
appimagelint.glibc_abi_check[11422] [INFO] [✔] AppImage can run on Debian unstable (sid)
appimagelint.cache[11422] [INFO] Fetching glibc version data for ubuntu
appimagelint.setup[11422] [INFO] Fetching glibc package versions from Ubuntu FTP mirror
appimagelint.glibc_abi_check[11422] [INFO] [✔] AppImage can run on Ubuntu kinetic
appimagelint.glibc_abi_check[11422] [INFO] [✔] AppImage can run on Ubuntu jammy
appimagelint.glibc_abi_check[11422] [INFO] [✔] AppImage can run on Ubuntu focal
appimagelint.glibc_abi_check[11422] [INFO] [✔] AppImage can run on Ubuntu bionic
appimagelint.glibc_abi_check[11422] [INFO] [✖] AppImage can run on Ubuntu xenial
appimagelint.glibc_abi_check[11422] [INFO] [✖] AppImage can run on Ubuntu trusty
appimagelint.cache[11422] [INFO] Fetching glibc version data for centos
appimagelint.setup[11422] [INFO] Fetching glibc package versions from CentOS mirror
appimagelint.glibc_abi_check[11422] [INFO] [✖] AppImage can run on CentOS 7
appimagelint.cli[11422] [INFO] Running check "GNU libstdc++ ABI check"
appimagelint.glibcxx_abi_check[11422] [INFO] detected required version for runtime: <none>
appimagelint.glibcxx_abi_check[11422] [INFO] detected required version for payload: 3.4.26
appimagelint.cache[11422] [INFO] Fetching glibcxx version data for debian
Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-y53jqyf9.tmp/out/
Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-41j039a6.tmp/out/
Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-hdkj050g.tmp/out/
Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-f7nv0h6b.tmp/out/
appimagelint.glibcxx_abi_check[11422] [INFO] [✖] AppImage can run on Debian oldstable (buster)
appimagelint.glibcxx_abi_check[11422] [INFO] [✔] AppImage can run on Debian stable (bullseye)
appimagelint.glibcxx_abi_check[11422] [INFO] [✔] AppImage can run on Debian testing (bookworm)
appimagelint.glibcxx_abi_check[11422] [INFO] [✔] AppImage can run on Debian unstable (sid)
appimagelint.cache[11422] [INFO] Fetching glibcxx version data for ubuntu
Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-7dy1sx0g.tmp/out/
Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-j9mdrgcj.tmp/out/
Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-083x1vbp.tmp/out/
Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-gladwm8m.tmp/out/
Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-qstjj0i4.tmp/out/
Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-byw_zsad.tmp/out/
appimagelint.glibcxx_abi_check[11422] [INFO] [✔] AppImage can run on Ubuntu kinetic
appimagelint.glibcxx_abi_check[11422] [INFO] [✔] AppImage can run on Ubuntu jammy
appimagelint.glibcxx_abi_check[11422] [INFO] [✔] AppImage can run on Ubuntu focal
appimagelint.glibcxx_abi_check[11422] [INFO] [✖] AppImage can run on Ubuntu bionic
appimagelint.glibcxx_abi_check[11422] [INFO] [✖] AppImage can run on Ubuntu xenial
appimagelint.glibcxx_abi_check[11422] [INFO] [✖] AppImage can run on Ubuntu trusty
appimagelint.cache[11422] [INFO] Fetching glibcxx version data for centos
appimagelint.setup[11422] [INFO] Fetching libstdc++ package versions from CentOS mirror
appimagelint.glibcxx_abi_check[11422] [INFO] [✖] AppImage can run on CentOS 7
appimagelint.cli[11422] [INFO] Running check "Icons validity and location check"
appimagelint.icons_check[11422] [INFO] Extracting icon name from desktop file: /tmp/.mount_sunshitvckjM/sunshine.desktop
appimagelint.icons_check[11422] [INFO] Checking resolution of icon: /tmp/.mount_sunshitvckjM/sunshine.png
appimagelint.icons_check[11422] [INFO] [✔] Valid icon in AppDir root
appimagelint.icons_check[11422] [INFO] Checking resolution of icon: /tmp/.mount_sunshitvckjM/.DirIcon
appimagelint.icons_check[11422] [INFO] [✔] Valid icon file in .DirIcon
appimagelint.icons_check[11422] [INFO] Checking resolution of icon: /tmp/.mount_sunshitvckjM/usr/share/icons/hicolor/256x256/apps/sunshine.png
appimagelint.icons_check[11422] [INFO] [✔] Other integration icons valid
appimagelint.cli[11422] [INFO] Running check "Desktop files existence and validity"
appimagelint.desktop_files[11422] [INFO] Checking desktop files in root directory
appimagelint.desktop_files[11422] [INFO] [✔] Exactly one desktop file in AppDir root
appimagelint.desktop_files[11422] [INFO] Checking desktop file /tmp/.mount_sunshi1DXCQU/sunshine.desktop with desktop-file-validate
appimagelint.desktop_files[11422] [INFO] Checking desktop file /tmp/.mount_sunshi1DXCQU/usr/share/applications/sunshine.desktop with desktop-file-validate
appimagelint.desktop_files[11422] [INFO] [✔] All desktop files in AppDir are valid

I know that is a lot of text, so this is just the warnings.

Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-y53jqyf9.tmp/out/
Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-41j039a6.tmp/out/
Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-hdkj050g.tmp/out/
Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-f7nv0h6b.tmp/out/
...
Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-7dy1sx0g.tmp/out/
Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-j9mdrgcj.tmp/out/
Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-083x1vbp.tmp/out/
Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-gladwm8m.tmp/out/
Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-qstjj0i4.tmp/out/
Warning: int.gnu_lib_versions_symbols_finder[11422] [WARNING] no binaries found in /dev/shm/appimagelint-byw_zsad.tmp/out/

The warnings are not super informative, as I don’t know what binaries it is looking for. I suspect that if I can resolve those issues it may be enough to resolve running the image on other distros.

I am building this in GitHub on an Ubuntu 18.04 runner, and the workflow is here. change linux build matrix · LizardByte/Sunshine@d4bf9b3 · GitHub

I’ve been struggling with this for 6 months or so, so I came to this forum as a final attempt to resolve these issues. Any guidance would be greatly appreciated.