DSL Ideas and Suggestions :: libc NPTL/TLS & Wine



Re:
Code Sample
wine: glibc >= 2.3 without NPTL/TLS is not a supported combination. It will most likely crash. Please upgrade to a glibc with NPTL support.

In a previous thread, I suggested fixing this by building glibc with TLS enabled. However, someone pointed out that TLS needs kernel 2.6. So we assumed that Wine cannot work properly with kernel 2.4.
But: In Debian Sarge, the 'libc6' package was built with TLS support, even though the default kernel is 2.4.27 (no TLS support). Perhaps glibc [with TLS] lets TLS programs be backward-compatible with kernel 2.4 [linuxthreads].
Note: Literally running '/lib/libc.so.6' in Linux will show glibc's configuration.
On Debian Sarge:
Code Sample
GNU C Library stable release version 2.3.2, by Roland McGrath et al.
Compiled by GNU CC version 3.3.5 (Debian 1:3.3.5-13).
Compiled on a Linux 2.6.0-test7 system on 2007-03-05.
Available extensions:
       GNU libio by Per Bothner
       crypt add-on version 2.1 by Michael Glad and others
       linuxthreads-0.10 by Xavier Leroy
       BIND-8.2.3-T5B
       libthread_db work sponsored by Alpha Processor Inc
       NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
Thread-local storage support included.

On DSL:
Code Sample
GNU C Library stable release version 2.3.2, by Roland McGrath et al.
Compiled by GNU CC version 3.3.2 20030831 (Debian prerelease).
Compiled on a Linux 2.4.19 system on 2003-09-12.
Available extensions:
       GNU libio by Per Bothner
       crypt add-on version 2.1 by Michael Glad and others
       linuxthreads-0.10 by Xavier Leroy
       BIND-8.2.3-T5B
       libthread_db work sponsored by Alpha Processor Inc
       NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk

If so, we could fix Wine by enabling TLS support in glibc. I guess we will need to recompile the 'libc6' .deb package and then reintegrate it into DSL. I would love to do this, but I still don't know how to build .deb packages. In the meantime, maybe someone with the relevant experience could test this?
Thanks!

...or fix Wine by compiling it to be compatible with DSL's glibc.

Seems to me (just an opinion) that DSL development shouldn't cater to the desires of extension development, but the developers of extensions should instead work to be compatible with DSL.

It's a fairly common practice -- window managers, for example, that include code to handle oddities of specific external applications -- but one that I can't agree with personally. If it's an app that DSL depends on I could see putting in the effort to change DSL, but if it's an app that depends on DSL I don't think it's Robert's responsibility.

Okay, I see your point, especially with regard to backward-compatibility with previous versions of DSL.
Sadly, it seems that nothing can be done for Wine itself.
Tentative idea: Perhaps a glibc-nptl extension is possible?

To me it seems TLS and NPTL are two different things, but you speak of them as synonymes.

If the debian guys have succeeded with enabling TLS, it still might only work when running a 2.6 kernel, and it was also compiled on one..

In short, there is no guarantee. Care to test wine on that libc?

Okay, I will build glibc and test it as soon as I can.
Next Page...
original here.