Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKrOiPRkFqxhU8mjkzQx0v1xLVUnfg93iQUgqC36PUuQcJ1kjw@mail.gmail.com>
Date: Mon, 7 Mar 2022 07:57:45 +0000
From: naruto canada <narutocanada@...il.com>
To: musl@...ts.openwall.com
Subject: Re: need help with libGL

On 3/7/22, A. Wilcox <awilfox@...lielinux.org> wrote:
> On Mar 6, 2022, at 11:50 PM, naruto canada <narutocanada@...il.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.

It does! Thanks a lot. In my case, I only need to change
"--enable-glx-tlsd" to "--disable-glx-tls" during autogen.sh
I also did some benchmarks:
# glmark2 Score: 2109 # glibc
# glmark2 Score: 1993 # musl
And some light tracing shader code test:
# glibc 29 seconds vs musl 30 seconds.
It holds up very well. I'm very happy. Thanks.

BTW, I noticed "https://cgit.adelielinux.org/packages/tree/user/" only
has mednafen.
desmume, mupen64plus, and mame, all compiled without patches :)

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

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.