Question: Running Discord
Description
I tried running the official binary from Discord today with gcompat installed on musl Void Linux, but the output of the Discord binary was simply Segmentation fault
. There seems to be no issues similar to this on glibc distributions, and I have all the required dependencies installed. Therefore, I tried running ldd <path to Discord>
, and the following is the output:
/lib64/ld-linux-x86-64.so.2 (0x7f29cf68b000)
libffmpeg.so => ./Discord/libffmpeg.so (0x7f29c6ad5000)
libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x7f29cf68b000)
libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7f29cf68b000)
libgobject-2.0.so.0 => /lib/libgobject-2.0.so.0 (0x7f29c6a7b000)
libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x7f29c6947000)
libxshmfence.so.1 => /lib/libxshmfence.so.1 (0x7f29c6744000)
libgio-2.0.so.0 => /lib/libgio-2.0.so.0 (0x7f29c655e000)
libnss3.so => /lib/libnss3.so (0x7f29c6423000)
libnssutil3.so => /lib/libnssutil3.so (0x7f29c63f0000)
libsmime3.so => /lib/libsmime3.so (0x7f29c63c5000)
libnspr4.so => /lib/libnspr4.so (0x7f29c637b000)
libatk-1.0.so.0 => /lib/libatk-1.0.so.0 (0x7f29c6352000)
libatk-bridge-2.0.so.0 => /lib/libatk-bridge-2.0.so.0 (0x7f29c631c000)
libdbus-1.so.3 => /lib/libdbus-1.so.3 (0x7f29c62c9000)
libdrm.so.2 => /lib/libdrm.so.2 (0x7f29c62b3000)
libgdk_pixbuf-2.0.so.0 => /lib/libgdk_pixbuf-2.0.so.0 (0x7f29c6285000)
libgtk-3.so.0 => /lib/libgtk-3.so.0 (0x7f29c5a8a000)
libgdk-3.so.0 => /lib/libgdk-3.so.0 (0x7f29c5989000)
libpango-1.0.so.0 => /lib/libpango-1.0.so.0 (0x7f29c5923000)
libcairo.so.2 => /lib/libcairo.so.2 (0x7f29c57ed000)
libm.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f29cf68b000)
libX11.so.6 => /lib/libX11.so.6 (0x7f29c56aa000)
libXcomposite.so.1 => /lib/libXcomposite.so.1 (0x7f29c56a5000)
libXdamage.so.1 => /lib/libXdamage.so.1 (0x7f29c56a0000)
libXext.so.6 => /lib/libXext.so.6 (0x7f29c568b000)
libXfixes.so.3 => /lib/libXfixes.so.3 (0x7f29c5682000)
libXrandr.so.2 => /lib/libXrandr.so.2 (0x7f29c5675000)
libexpat.so.1 => /lib/libexpat.so.1 (0x7f29c5644000)
libxcb.so.1 => /lib/libxcb.so.1 (0x7f29c561a000)
libxkbcommon.so.0 => /lib/libxkbcommon.so.0 (0x7f29c55d2000)
libgbm.so.1 => /lib/libgbm.so.1 (0x7f29c55c2000)
libasound.so.2 => /lib/libasound.so.2 (0x7f29c54bb000)
libatspi.so.0 => /lib/libatspi.so.0 (0x7f29c5480000)
libcups.so.2 => /lib/libcups.so.2 (0x7f29c53e5000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x7f29c53cb000)
libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f29cf68b000)
ld-linux-x86-64.so.2 => /lib/ld-linux-x86-64.so.2 (0x7f29c53c4000)
libffi.so.7 => /lib/libffi.so.7 (0x7f29c53b8000)
libpcre.so.1 => /lib/libpcre.so.1 (0x7f29c533c000)
libgmodule-2.0.so.0 => /lib/libgmodule-2.0.so.0 (0x7f29c5336000)
libz.so.1 => /lib/libz.so.1 (0x7f29c531c000)
libmount.so.1 => /lib/libmount.so.1 (0x7f29c52be000)
libplc4.so => /lib/libplc4.so (0x7f29c52b7000)
libplds4.so => /lib/libplds4.so (0x7f29c52b1000)
libintl.so.8 => /lib/libintl.so.8 (0x7f29c52a3000)
libpng16.so.16 => /lib/libpng16.so.16 (0x7f29c526e000)
libjpeg.so.8 => /lib/libjpeg.so.8 (0x7f29c51dc000)
libpangocairo-1.0.so.0 => /lib/libpangocairo-1.0.so.0 (0x7f29c51cb000)
libharfbuzz.so.0 => /lib/libharfbuzz.so.0 (0x7f29c50f3000)
libpangoft2-1.0.so.0 => /lib/libpangoft2-1.0.so.0 (0x7f29c50d9000)
libfontconfig.so.1 => /lib/libfontconfig.so.1 (0x7f29c5093000)
libfribidi.so.0 => /lib/libfribidi.so.0 (0x7f29c5073000)
libcairo-gobject.so.2 => /lib/libcairo-gobject.so.2 (0x7f29c5067000)
libepoxy.so.0 => /lib/libepoxy.so.0 (0x7f29c4f36000)
libXi.so.6 => /lib/libXi.so.6 (0x7f29c4f24000)
libwayland-client.so.0 => /lib/libwayland-client.so.0 (0x7f29c4f14000)
libwayland-cursor.so.0 => /lib/libwayland-cursor.so.0 (0x7f29c4f0b000)
libwayland-egl.so.1 => /lib/libwayland-egl.so.1 (0x7f29c4f06000)
libXcursor.so.1 => /lib/libXcursor.so.1 (0x7f29c4ef9000)
libXinerama.so.1 => /lib/libXinerama.so.1 (0x7f29c4cf6000)
libthai.so.0 => /lib/libthai.so.0 (0x7f29c4ceb000)
libpixman-1.so.0 => /lib/libpixman-1.so.0 (0x7f29c4c44000)
libfreetype.so.6 => /lib/libfreetype.so.6 (0x7f29c4b92000)
libEGL.so.1 => /lib/libEGL.so.1 (0x7f29c4b80000)
libxcb-shm.so.0 => /lib/libxcb-shm.so.0 (0x7f29c4b7b000)
libxcb-render.so.0 => /lib/libxcb-render.so.0 (0x7f29c4b6c000)
libXrender.so.1 => /lib/libXrender.so.1 (0x7f29c4962000)
libGL.so.1 => /lib/libGL.so.1 (0x7f29c4886000)
libXau.so.6 => /lib/libXau.so.6 (0x7f29c4881000)
libXdmcp.so.6 => /lib/libXdmcp.so.6 (0x7f29c4879000)
libwayland-server.so.0 => /lib/libwayland-server.so.0 (0x7f29c4863000)
libstdc++.so.6 => /lib/libstdc++.so.6 (0x7f29c45d5000)
libavahi-common.so.3 => /lib/libavahi-common.so.3 (0x7f29c45c7000)
libavahi-client.so.3 => /lib/libavahi-client.so.3 (0x7f29c45b3000)
libgnutls.so.30 => /lib/libgnutls.so.30 (0x7f29c43ac000)
libblkid.so.1 => /lib/libblkid.so.1 (0x7f29c4358000)
libgraphite2.so.3 => /lib/libgraphite2.so.3 (0x7f29c432e000)
libuuid.so.1 => /lib/libuuid.so.1 (0x7f29c4325000)
libdatrie.so.1 => /lib/libdatrie.so.1 (0x7f29c431b000)
libbz2.so.1 => /lib/libbz2.so.1 (0x7f29c4308000)
libGLdispatch.so.0 => /lib/libGLdispatch.so.0 (0x7f29c4219000)
libGLX.so.0 => /lib/libGLX.so.0 (0x7f29c4207000)
libp11-kit.so.0 => /lib/libp11-kit.so.0 (0x7f29c40dc000)
libidn2.so.0 => /lib/libidn2.so.0 (0x7f29c40b8000)
libunistring.so.2 => /lib/libunistring.so.2 (0x7f29c3d36000)
libtasn1.so.6 => /lib/libtasn1.so.6 (0x7f29c3d20000)
libnettle.so.8 => /lib/libnettle.so.8 (0x7f29c3cd8000)
libhogweed.so.6 => /lib/libhogweed.so.6 (0x7f29c3c8f000)
libgmp.so.10 => /lib/libgmp.so.10 (0x7f29c3c12000)
Error relocating ./Discord/libffmpeg.so: __mbrlen: symbol not found
Error relocating ./Discord/libffmpeg.so: strtoll_l: symbol not found
Error relocating ./Discord/libffmpeg.so: strtoull_l: symbol not found
Error relocating ./Discord/Discord: __register_atfork: symbol not found
Error relocating ./Discord/Discord: __memset_chk: symbol not found
Error relocating ./Discord/Discord: __snprintf_chk: symbol not found
Error relocating ./Discord/Discord: __sprintf_chk: symbol not found
Error relocating ./Discord/Discord: __memcpy_chk: symbol not found
Error relocating ./Discord/Discord: __fprintf_chk: symbol not found
Error relocating ./Discord/Discord: __memmove_chk: symbol not found
Error relocating ./Discord/Discord: gnu_get_libc_version: symbol not found
Error relocating ./Discord/Discord: __fdelt_chk: symbol not found
Error relocating ./Discord/Discord: __vsnprintf_chk: symbol not found
Error relocating ./Discord/Discord: __sbrk: symbol not found
Error relocating ./Discord/Discord: __res_nclose: symbol not found
Error relocating ./Discord/Discord: __res_ninit: symbol not found
Error relocating ./Discord/Discord: __vfprintf_chk: symbol not found
Error relocating ./Discord/Discord: __longjmp_chk: symbol not found
Error relocating ./Discord/Discord: backtrace: symbol not found
Error relocating ./Discord/Discord: __strncat_chk: symbol not found
Error relocating ./Discord/Discord: __sched_cpualloc: symbol not found
Error relocating ./Discord/Discord: __sched_cpufree: symbol not found
Error relocating ./Discord/Discord: random_r: symbol not found
Error relocating ./Discord/Discord: initstate_r: symbol not found
Error relocating ./Discord/Discord: __mbrlen: symbol not found
Error relocating ./Discord/Discord: strtoll_l: symbol not found
Error relocating ./Discord/Discord: strtoull_l: symbol not found
Error relocating ./Discord/Discord: __longjmp_chk: symbol not found
Error relocating ./Discord/Discord: __libc_stack_end: symbol not found
The part of errors contains glibc related errors, so I guessed that the issue might be caused by gcompat.
The gnu_get_libc_version: symbol not found
error message seems strange to me because there's this in the README:
The value of
GLIBC_FAKE_VERSION
will be returned as the result ofgnu_get_libc_version
. The current default is "2.8".
Is this something related to broken installation or is it that the functionalities are not yet implemented?
Additional Information
uname -a
:
Linux voidlinux 5.15.16_1 #1 SMP Thu Jan 20 17:19:29 UTC 2022 x86_64 GNU/Linux
xbps-query gcompat
:
architecture: x86_64-musl
build-options: libucontext
changelog: https://code.foxkit.us/adelie/gcompat/-/raw/current/CHANGELOG.rst
filename-sha256: f9c14671fa23b3bc3d12bfbcffb84a047011a87370e955d5f8f8c87bed626ebb
filename-size: 33KB
homepage: https://code.foxkit.us/adelie/gcompat
install-date: 2022-01-26 16:40 CST
installed_size: 90KB
license: ISC
maintainer: Érico Nogueira <ericonr@disroot.org>
metafile-sha256: e82fc6861807621eb1f793004e3e989cf978bc0d186b2590c7c155b75393ddcd
pkgname: gcompat
pkgver: gcompat-1.0.0_2
repository: https://alpha.de.repo.voidlinux.org/current/musl
run_depends:
libucontext>=1.0_1
musl-obstack>=1.2.1_1
musl>=1.1.21_1
shlib-provides:
libgcompat.so.0
shlib-requires:
libucontext.so.1
libobstack.so.1
libc.so
short_desc: Compatibility layer to allow running glibc binaries on musl systems
source-revisions: gcompat:25f75fa302
state: installed