Proper solution is to use current mesa, this has already been fixed upstream so the downstream patching is no longer required.


Jory

On 3/7/22 00:04, A. Wilcox wrote:
On Mar 6, 2022, at 11:50 PM, naruto canada <narutocanada@gmail.com> wrote:

hi

I've finally managed to get xorg-server compiled and running.
I've also managed to get llvm and mesa compiled.
When I tried to run simple 3d test program,
I got "Error: GLX version >= 1.3 is required"
I've checked /var/log/Xorg.log, and got:
Failed to load /usr/lib/xorg/modules/extensions/libglx.so: Error
relocating /usr/lib/libGL.so.1: _ITM_dereg
isterTMCloneTable: initial-exec TLS resolves to dynamic definition in
/usr/lib/libGL.so.1

I've searched the web and found this thread:
https://bugs.freedesktop.org/show_bug.cgi?id=35268

It seems musl was fixed 4 years ago.
I've checked musl-1.2.2 source code, indeed, the fix seems to be
there. (tlsdesc.s)

So, I recompiled mesa with patches from the thread.
but I still get the same error message.

I also tried this simple code:
#include <dlfcn.h>
#include <stdio.h>
int main()
{
   void *handle = dlopen("/usr/lib/libglapi.so", RTLD_LOCAL | RTLD_NOW);
   if (!handle) {
       printf("dlopen failed with message '%s'\n", dlerror());
   }
}

dlopen failed with message 'Error relocating /usr/lib/libglapi.so:
_glapi_tls_Context: initial-exec TLS resolves to dynamic definition in
/usr/lib/libglapi.so'

Most of what was discussed in the thread was way over my head.
I could use some help. Thanks.


You need to disable TLS in Mesa.  Try something like this patch:

https://cgit.adelielinux.org/packages/tree/user/mesa/no-tls.patch

Hope this helps you.

Best,
-A.

--
A. Wilcox (Sent from my iPhone)
Mac, iOS, Linux software engineer