Hello,
I've been looking for a while on how to get DL running on Arch and I finally
found it.
Now I'd like this to be possible by default, but I don't know if the issue lies
in Arch or Mesa and I'm hopeful someone here will be able to help.
Arch's default compiler flags are:
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong
-fno-plt"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong
-fno-plt"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
"-fno-plt" in C/CXXFLAGS and ",-z,now" in LDFLAGS need to be unset when
compiling Mesa to get DL to not crash.
The other change required is to not use glvnd, with "-D glvnd=false". I tried
building libglvnd with the same flags as Mesa, or none at all, but it didn't
help.
Here's the original 18.2.0 PKGBUILD in case it helps:
https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/mesa
The behavior is the same with Mesa 18.2.0 or master, with LLVM 6.0 or master.
I haven't tried with autoconf though, only Meson, but I can try if you think
it'd be helpful.
I don't have any helpful log, as the game segfaults without these, a backtrace
in gdb doesn't show me anything useful, and there's nothing in dmesg.
I'm using a 280X but people with 5xx seem to have the same behavior, so I don't
think it depends on the model. We're all on amdgpu.
I'd be happy to try / provide whatever would help.
Current versions: Linux 4.18.8, GCC 8.2.1, glibc 2.28, but it failed in
previous ones too.
Thank you!