annotate linux/appimage/excludelist @ 72:7b5216b54e42

Update exclusion list
author Chris Cannam
date Fri, 25 Jan 2019 13:49:22 +0000
parents f1a9b270e043
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