annotate linux/appimage/excludelist @ 83:ae30d91d2ffe

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents 7b5216b54e42
children
rev   line source
Chris@67 1 # This file lists libraries that we will assume to be present on the host system and hence
Chris@67 2 # should NOT be bundled inside AppImages. This is a working document; expect it to change
Chris@67 3 # over time. File format: one filename per line. Each entry should have a justification comment.
Chris@67 4
Chris@67 5 # See the useful tool at https://abi-laboratory.pro/index.php?view=navigator&symbol=hb_buffer_set_cluster_level#result
Chris@67 6 # to investigate issues with missing symbols.
Chris@67 7
Chris@67 8 ld-linux.so.2
Chris@67 9 ld-linux-x86-64.so.2
Chris@67 10 libanl.so.1
Chris@67 11 libBrokenLocale.so.1
Chris@67 12 libcidn.so.1
Chris@67 13 libcrypt.so.1
Chris@67 14 libc.so.6
Chris@67 15 libdl.so.2
Chris@67 16 libm.so.6
Chris@67 17 libmvec.so.1
Chris@72 18 # libnsl.so.1 # Not part of glibc anymore as of Fedora 28. See https://github.com/RPCS3/rpcs3/issues/5224#issuecomment-434930594
Chris@67 19 libnss_compat.so.2
Chris@67 20 libnss_db.so.2
Chris@67 21 libnss_dns.so.2
Chris@67 22 libnss_files.so.2
Chris@67 23 libnss_hesiod.so.2
Chris@67 24 libnss_nisplus.so.2
Chris@67 25 libnss_nis.so.2
Chris@67 26 libpthread.so.0
Chris@67 27 libresolv.so.2
Chris@67 28 librt.so.1
Chris@67 29 libthread_db.so.1
Chris@67 30 libutil.so.1
Chris@67 31 # These files are all part of the GNU C Library which should never be bundled.
Chris@67 32 # List was generated from a fresh build of glibc 2.25.
Chris@67 33
Chris@67 34 libstdc++.so.6
Chris@67 35 # Workaround for:
Chris@67 36 # usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
Chris@67 37
Chris@67 38 libGL.so.1
Chris@72 39 libEGL.so.1
Chris@67 40 # Part of the video driver (OpenGL); present on any regular
Chris@67 41 # desktop system, may also be provided by proprietary drivers.
Chris@67 42 # Known to cause issues if it's bundled.
Chris@67 43
Chris@67 44 libdrm.so.2
Chris@67 45 # Workaround for:
Chris@67 46 # Antergos Linux release 2015.11 (ISO-Rolling)
Chris@67 47 # /usr/lib/libdrm_amdgpu.so.1: error: symbol lookup error: undefined symbol: drmGetNodeTypeFromFd (fatal)
Chris@67 48 # libGL error: unable to load driver: swrast_dri.so
Chris@67 49 # libGL error: failed to load driver: swrast
Chris@67 50 # Unrecognized OpenGL version
Chris@67 51
Chris@67 52 libglapi.so.0
Chris@67 53 # Part of mesa
Chris@67 54 # known to cause problems with graphics, see https://github.com/RPCS3/rpcs3/issues/4427#issuecomment-381674910
Chris@67 55
Chris@67 56 libxcb.so.1
Chris@67 57 # Workaround for:
Chris@67 58 # Fedora 23
Chris@67 59 # symbol lookup error: /lib64/libxcb-dri3.so.0: undefined symbol: xcb_send_fd
Chris@67 60 # 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
Chris@67 61 # Fedora 25:
Chris@67 62 # undefined symbol: xcb_send_request_with_fds
Chris@67 63 # https://github.com/AppImage/AppImages/issues/128
Chris@67 64
Chris@67 65 libX11.so.6
Chris@67 66 # Workaround for:
Chris@67 67 # Fedora 23
Chris@67 68 # symbol lookup error: ./lib/libX11.so.6: undefined symbol: xcb_wait_for_reply64
Chris@67 69 # 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
Chris@67 70
Chris@67 71 libgio-2.0.so.0
Chris@67 72 # Workaround for:
Chris@67 73 # On Ubuntu, "symbol lookup error: /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/liboverlay-scrollbar.so: undefined symbol: g_settings_new"
Chris@67 74
Chris@67 75 # libgdk-x11-2.0.so.0 # Missing on openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot20170601-Media.iso
Chris@67 76 # libgtk-x11-2.0.so.0 # Missing on openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot20170601-Media.iso
Chris@67 77
Chris@67 78 libasound.so.2
Chris@67 79 # Workaround for:
Chris@67 80 # No sound, e.g., in VLC.AppImage (does not find sound cards)
Chris@67 81
Chris@67 82 libgdk_pixbuf-2.0.so.0
Chris@67 83 # Workaround for:
Chris@67 84 # On Ubuntu, get (inkscape:25621): GdkPixbuf-WARNING **: Error loading XPM image loader: Image type 'xpm' is not supported
Chris@67 85
Chris@67 86 libfontconfig.so.1
Chris@67 87 # Workaround for:
Chris@67 88 # Application stalls when loading fonts during application launch; e.g., KiCad on ubuntu-mate
Chris@67 89
Chris@67 90 libthai.so.0
Chris@67 91 # Workaround for:
Chris@67 92 # 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)
Chris@67 93 # on openSUSE Tumbleweed
Chris@67 94
Chris@67 95 # other "low-level" font rendering libraries
Chris@67 96 # should fix https://github.com/probonopd/linuxdeployqt/issues/261#issuecomment-377522251
Chris@67 97 # and https://github.com/probonopd/linuxdeployqt/issues/157#issuecomment-320755694
Chris@67 98 libfreetype.so.6
Chris@67 99 libharfbuzz.so.0
Chris@67 100
Chris@67 101 # Note, after discussion we do not exlude this, but we can use a dummy library that just does nothing
Chris@67 102 # libselinux.so.1
Chris@67 103 # Workaround for:
Chris@67 104 # sed: error while loading shared libraries: libpcre.so.3: cannot open shared object file: No such file or directory
Chris@67 105 # Some distributions, such as Arch Linux, do not come with libselinux.so.1 by default.
Chris@67 106 # The solution is to bundle a dummy mock library:
Chris@67 107 # echo "extern int is_selinux_enabled(void){return 0;}" >> selinux-mock.c
Chris@67 108 # gcc -s -shared -o libselinux.so.1 -Wl,-soname,libselinux.so.1 selinux-mock.c
Chris@67 109 # strip libselinux.so.1
Chris@67 110 # More information: https://github.com/AppImage/AppImages/issues/83
Chris@67 111
Chris@67 112 # The following are assumed to be part of the base system
Chris@67 113 # Removing these has worked e.g., for Krita. Feel free to report if
Chris@67 114 # you think that some of these should go into AppImages and why.
Chris@67 115 libcom_err.so.2
Chris@67 116 libcrypt.so.1
Chris@67 117 libexpat.so.1
Chris@67 118 libgcc_s.so.1
Chris@67 119 libglib-2.0.so.0
Chris@67 120 libgpg-error.so.0
Chris@67 121 # libgssapi_krb5.so.2 # Disputed, seemingly needed by Arch Linux since Kerberos is named differently there
Chris@67 122 # libgssapi.so.3 # Seemingly needed when running Ubuntu 14.04 binaries on Fedora 23
Chris@67 123 # libhcrypto.so.4 # Missing on openSUSE LEAP 42.0
Chris@67 124 # libheimbase.so.1 # Seemingly needed when running Ubuntu 14.04 binaries on Fedora 23
Chris@67 125 # libheimntlm.so.0 # Seemingly needed when running Ubuntu 14.04 binaries on Fedora 23
Chris@67 126 # libhx509.so.5 # Missing on openSUSE LEAP 42.0
Chris@67 127 libICE.so.6
Chris@67 128 # libidn.so.11 # Does not come with Solus by default
Chris@67 129 # 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
Chris@67 130 libkeyutils.so.1
Chris@67 131 # libkrb5.so.26 # Disputed, seemingly needed by Arch Linux since Kerberos is named differently there. Missing on openSUSE LEAP 42.0
Chris@67 132 # libkrb5.so.3 # Disputed, seemingly needed by Arch Linux since Kerberos is named differently there
Chris@67 133 # libkrb5support.so.0 # Disputed, seemingly needed by Arch Linux since Kerberos is named differently there
Chris@67 134 libp11-kit.so.0
Chris@67 135 # libpcre.so.3 # Missing on Fedora 24, SLED 12 SP1, and openSUSE Leap 42.2
Chris@67 136 # libroken.so.18 # Mission on openSUSE LEAP 42.0
Chris@67 137 # libsasl2.so.2 # Seemingly needed when running Ubuntu 14.04 binaries on Fedora 23
Chris@67 138 libSM.so.6
Chris@67 139 libusb-1.0.so.0
Chris@67 140 libuuid.so.1
Chris@67 141 # libwind.so.0 # Missing on openSUSE LEAP 42.0
Chris@67 142 libz.so.1
Chris@67 143
Chris@67 144 # Potentially dangerous libraries
Chris@67 145 libgobject-2.0.so.0
Chris@67 146
Chris@67 147 # Workaround for:
Chris@67 148 # Rectangles instead of fonts
Chris@67 149 # https://github.com/AppImage/AppImages/issues/240
Chris@67 150 libpangoft2-1.0.so.0
Chris@67 151 libpangocairo-1.0.so.0
Chris@67 152 libpango-1.0.so.0
Chris@67 153
Chris@67 154 # Workaround for:
Chris@67 155 # e.g., Spotify
Chris@67 156 # relocation error: /lib/x86_64-linux-gnu/libgcrypt.so.20:
Chris@67 157 # symbol gpgrt_lock_lock, version GPG_ERROR_1.0 not defined
Chris@67 158 # in file libgpg-error.so.0 with link time reference
Chris@67 159 libgpg-error.so.0
Chris@67 160
Chris@67 161 libjack.so.0
Chris@67 162 # it must match the ABI of the JACK server which is installed in the base system
Chris@67 163 # rncbc confirmed this
Chris@67 164
Chris@67 165 # Unsolved issue:
Chris@67 166 # https://github.com/probonopd/linuxdeployqt/issues/35
Chris@67 167 # Error initializing NSS with a persistent database (sql:/home/me/.pki/nssdb): libsoftokn3.so: cannot open shared object file: No such file or directory
Chris@67 168 # Error initializing NSS without a persistent database: NSS error code: -5925
Chris@67 169 # nss_error=-5925, os_error=0
Chris@67 170 # libnss3.so should not be removed from the bundles, as this causes other issues, e.g.,
Chris@67 171 # https://github.com/probonopd/linuxdeployqt/issues/35#issuecomment-256213517
Chris@67 172 # and https://github.com/AppImage/AppImages/pull/114
Chris@67 173 # libnss3.so
Chris@67 174
Chris@67 175 # The following cannot be excluded, see
Chris@67 176 # https://github.com/AppImage/AppImages/commit/6c7473d8cdaaa2572248dcc53d7f617a577ade6b
Chris@67 177 # http://stackoverflow.com/questions/32644157/forcing-a-binary-to-use-a-specific-newer-version-of-a-shared-library-so
Chris@67 178 # libssl.so.1
Chris@67 179 # libssl.so.1.0.0
Chris@67 180 # libcrypto.so.1
Chris@67 181 # libcrypto.so.1.0.0
Chris@72 182
Chris@72 183 # The following may be spefific to a particular GPU and may need to be excluded
Chris@72 184 # according to https://github.com/RicardoEPRodrigues/3Engine/issues/4#issuecomment-402532194
Chris@72 185 # libGLEW.so.2.0 # to be confirmed
Chris@72 186
Chris@72 187 # libglut.so.3 # to be confirmed
Chris@72 188
Chris@72 189 libxcb-dri3.so.0 # https://github.com/AppImage/AppImages/issues/348