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