cannam@152: # This file lists libraries that we will assume to be present on the host system and hence cannam@152: # should NOT be bundled inside AppImages. This is a working document; expect it to change cannam@152: # over time. File format: one filename per line. Each entry should have a justification comment. cannam@152: cannam@152: # See the useful tool at https://abi-laboratory.pro/index.php?view=navigator&symbol=hb_buffer_set_cluster_level#result cannam@152: # to investigate issues with missing symbols. cannam@152: cannam@152: ld-linux.so.2 cannam@152: ld-linux-x86-64.so.2 cannam@152: libanl.so.1 cannam@152: libBrokenLocale.so.1 cannam@152: libcidn.so.1 cannam@152: libcrypt.so.1 cannam@152: libc.so.6 cannam@152: libdl.so.2 cannam@152: libm.so.6 cannam@152: libmvec.so.1 cannam@157: # libnsl.so.1 # Not part of glibc anymore as of Fedora 28. See https://github.com/RPCS3/rpcs3/issues/5224#issuecomment-434930594 cannam@152: libnss_compat.so.2 cannam@152: libnss_db.so.2 cannam@152: libnss_dns.so.2 cannam@152: libnss_files.so.2 cannam@152: libnss_hesiod.so.2 cannam@152: libnss_nisplus.so.2 cannam@152: libnss_nis.so.2 cannam@152: libpthread.so.0 cannam@152: libresolv.so.2 cannam@152: librt.so.1 cannam@152: libthread_db.so.1 cannam@152: libutil.so.1 cannam@152: # These files are all part of the GNU C Library which should never be bundled. cannam@152: # List was generated from a fresh build of glibc 2.25. cannam@152: cannam@152: libstdc++.so.6 cannam@152: # Workaround for: cannam@152: # usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found cannam@152: cannam@152: libGL.so.1 cannam@157: libEGL.so.1 cannam@152: # Part of the video driver (OpenGL); present on any regular cannam@152: # desktop system, may also be provided by proprietary drivers. cannam@152: # Known to cause issues if it's bundled. cannam@152: cannam@152: libdrm.so.2 cannam@152: # Workaround for: cannam@152: # Antergos Linux release 2015.11 (ISO-Rolling) cannam@152: # /usr/lib/libdrm_amdgpu.so.1: error: symbol lookup error: undefined symbol: drmGetNodeTypeFromFd (fatal) cannam@152: # libGL error: unable to load driver: swrast_dri.so cannam@152: # libGL error: failed to load driver: swrast cannam@152: # Unrecognized OpenGL version cannam@152: cannam@152: libglapi.so.0 cannam@152: # Part of mesa cannam@152: # known to cause problems with graphics, see https://github.com/RPCS3/rpcs3/issues/4427#issuecomment-381674910 cannam@152: cannam@152: libxcb.so.1 cannam@152: # Workaround for: cannam@152: # Fedora 23 cannam@152: # symbol lookup error: /lib64/libxcb-dri3.so.0: undefined symbol: xcb_send_fd cannam@152: # Uncertain if this is required to be bundled for some distributions - if so we need to write a version check script and use LD_PRELOAD to load the system version if it is newer cannam@152: # Fedora 25: cannam@152: # undefined symbol: xcb_send_request_with_fds cannam@152: # https://github.com/AppImage/AppImages/issues/128 cannam@152: cannam@152: libX11.so.6 cannam@152: # Workaround for: cannam@152: # Fedora 23 cannam@152: # symbol lookup error: ./lib/libX11.so.6: undefined symbol: xcb_wait_for_reply64 cannam@152: # Uncertain if this is required to be bundled for some distributions - if so we need to write a version check script and use LD_PRELOAD to load the system version if it is newer cannam@152: cannam@152: libgio-2.0.so.0 cannam@152: # Workaround for: cannam@152: # On Ubuntu, "symbol lookup error: /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/liboverlay-scrollbar.so: undefined symbol: g_settings_new" cannam@152: cannam@152: # libgdk-x11-2.0.so.0 # Missing on openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot20170601-Media.iso cannam@152: # libgtk-x11-2.0.so.0 # Missing on openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot20170601-Media.iso cannam@152: cannam@152: libasound.so.2 cannam@152: # Workaround for: cannam@152: # No sound, e.g., in VLC.AppImage (does not find sound cards) cannam@152: cannam@152: libgdk_pixbuf-2.0.so.0 cannam@152: # Workaround for: cannam@152: # On Ubuntu, get (inkscape:25621): GdkPixbuf-WARNING **: Error loading XPM image loader: Image type 'xpm' is not supported cannam@152: cannam@152: libfontconfig.so.1 cannam@152: # Workaround for: cannam@152: # Application stalls when loading fonts during application launch; e.g., KiCad on ubuntu-mate cannam@152: cannam@152: libthai.so.0 cannam@152: # Workaround for: cannam@152: # audacity: /tmp/.mount_AudaciUsFbON/usr/lib/libthai.so.0: version `LIBTHAI_0.1.25' not found (required by /usr/lib64/libpango-1.0.so.0) cannam@152: # on openSUSE Tumbleweed cannam@152: cannam@152: # other "low-level" font rendering libraries cannam@152: # should fix https://github.com/probonopd/linuxdeployqt/issues/261#issuecomment-377522251 cannam@152: # and https://github.com/probonopd/linuxdeployqt/issues/157#issuecomment-320755694 cannam@152: libfreetype.so.6 cannam@152: libharfbuzz.so.0 cannam@152: cannam@152: # Note, after discussion we do not exlude this, but we can use a dummy library that just does nothing cannam@152: # libselinux.so.1 cannam@152: # Workaround for: cannam@152: # sed: error while loading shared libraries: libpcre.so.3: cannot open shared object file: No such file or directory cannam@152: # Some distributions, such as Arch Linux, do not come with libselinux.so.1 by default. cannam@152: # The solution is to bundle a dummy mock library: cannam@152: # echo "extern int is_selinux_enabled(void){return 0;}" >> selinux-mock.c cannam@152: # gcc -s -shared -o libselinux.so.1 -Wl,-soname,libselinux.so.1 selinux-mock.c cannam@152: # strip libselinux.so.1 cannam@152: # More information: https://github.com/AppImage/AppImages/issues/83 cannam@152: cannam@152: # The following are assumed to be part of the base system cannam@152: # Removing these has worked e.g., for Krita. Feel free to report if cannam@152: # you think that some of these should go into AppImages and why. cannam@152: libcom_err.so.2 cannam@152: libcrypt.so.1 cannam@152: libexpat.so.1 cannam@152: libgcc_s.so.1 cannam@152: libglib-2.0.so.0 cannam@152: libgpg-error.so.0 cannam@152: # libgssapi_krb5.so.2 # Disputed, seemingly needed by Arch Linux since Kerberos is named differently there cannam@152: # libgssapi.so.3 # Seemingly needed when running Ubuntu 14.04 binaries on Fedora 23 cannam@152: # libhcrypto.so.4 # Missing on openSUSE LEAP 42.0 cannam@152: # libheimbase.so.1 # Seemingly needed when running Ubuntu 14.04 binaries on Fedora 23 cannam@152: # libheimntlm.so.0 # Seemingly needed when running Ubuntu 14.04 binaries on Fedora 23 cannam@152: # libhx509.so.5 # Missing on openSUSE LEAP 42.0 cannam@152: libICE.so.6 cannam@152: # libidn.so.11 # Does not come with Solus by default cannam@152: # libk5crypto.so.3 # Runnning AppImage built on Debian 9 or Ubuntu 16.04 on an Archlinux fails otherwise; https://github.com/AppImage/AppImages/issues/301 cannam@152: libkeyutils.so.1 cannam@152: # libkrb5.so.26 # Disputed, seemingly needed by Arch Linux since Kerberos is named differently there. Missing on openSUSE LEAP 42.0 cannam@152: # libkrb5.so.3 # Disputed, seemingly needed by Arch Linux since Kerberos is named differently there cannam@152: # libkrb5support.so.0 # Disputed, seemingly needed by Arch Linux since Kerberos is named differently there cannam@152: libp11-kit.so.0 cannam@152: # libpcre.so.3 # Missing on Fedora 24, SLED 12 SP1, and openSUSE Leap 42.2 cannam@152: # libroken.so.18 # Mission on openSUSE LEAP 42.0 cannam@152: # libsasl2.so.2 # Seemingly needed when running Ubuntu 14.04 binaries on Fedora 23 cannam@152: libSM.so.6 cannam@152: libusb-1.0.so.0 cannam@152: libuuid.so.1 cannam@152: # libwind.so.0 # Missing on openSUSE LEAP 42.0 cannam@152: libz.so.1 cannam@152: cannam@152: # Potentially dangerous libraries cannam@152: libgobject-2.0.so.0 cannam@152: cannam@152: # Workaround for: cannam@152: # Rectangles instead of fonts cannam@152: # https://github.com/AppImage/AppImages/issues/240 cannam@152: libpangoft2-1.0.so.0 cannam@152: libpangocairo-1.0.so.0 cannam@152: libpango-1.0.so.0 cannam@152: cannam@152: # Workaround for: cannam@152: # e.g., Spotify cannam@152: # relocation error: /lib/x86_64-linux-gnu/libgcrypt.so.20: cannam@152: # symbol gpgrt_lock_lock, version GPG_ERROR_1.0 not defined cannam@152: # in file libgpg-error.so.0 with link time reference cannam@152: libgpg-error.so.0 cannam@152: cannam@152: libjack.so.0 cannam@152: # it must match the ABI of the JACK server which is installed in the base system cannam@152: # rncbc confirmed this cannam@152: cannam@152: # Unsolved issue: cannam@152: # https://github.com/probonopd/linuxdeployqt/issues/35 cannam@152: # Error initializing NSS with a persistent database (sql:/home/me/.pki/nssdb): libsoftokn3.so: cannot open shared object file: No such file or directory cannam@152: # Error initializing NSS without a persistent database: NSS error code: -5925 cannam@152: # nss_error=-5925, os_error=0 cannam@152: # libnss3.so should not be removed from the bundles, as this causes other issues, e.g., cannam@152: # https://github.com/probonopd/linuxdeployqt/issues/35#issuecomment-256213517 cannam@152: # and https://github.com/AppImage/AppImages/pull/114 cannam@152: # libnss3.so cannam@152: cannam@152: # The following cannot be excluded, see cannam@152: # https://github.com/AppImage/AppImages/commit/6c7473d8cdaaa2572248dcc53d7f617a577ade6b cannam@152: # http://stackoverflow.com/questions/32644157/forcing-a-binary-to-use-a-specific-newer-version-of-a-shared-library-so cannam@152: # libssl.so.1 cannam@152: # libssl.so.1.0.0 cannam@152: # libcrypto.so.1 cannam@152: # libcrypto.so.1.0.0 cannam@157: cannam@157: # The following may be spefific to a particular GPU and may need to be excluded cannam@157: # according to https://github.com/RicardoEPRodrigues/3Engine/issues/4#issuecomment-402532194 cannam@157: # libGLEW.so.2.0 # to be confirmed cannam@157: cannam@157: # libglut.so.3 # to be confirmed cannam@157: cannam@157: libxcb-dri3.so.0 # https://github.com/AppImage/AppImages/issues/348