
Προσέξτε αυτές τις δύο ρυθμίσεις διαμόρφωσης του συστήματος RedHat Linux:



```
$ getconf GNU_LIBC_VERSION
glibc 2.3.4

$ getconf GNU_LIBPTHREAD_VERSION
NPTL 2.3.4

```

Βλέπω αντιστοιχούν σε κάποια από τις βιβλιοθήκες TLS:



```
/lib/tls/libc-2.3.4.so
/lib/tls/libm-2.3.4.so
/lib/tls/libpthread-2.3.4.so
/lib/tls/librt-2.3.4.so

```

Θα ήθελα να συνδέσει ενάντια σε αυτές τις βιβλιοθήκες, αντί των `/usr/lib`ισοδυνάμων. Εχω μερικές ερωτήσεις:


1. Έχω δει αυτό σε RedHat και Debian. Μήπως υπάρχουν σε όλες τις διανομές GNU Linux;
2. Υπάρχει περίπτωση κατά την οποία υπάρχει `GNU_LIBC_VERSION`διαφέρει από `GNU_LIBPTHREAD_VERSION`;
3. Οι μεταβλητές αυτές ασφαλές για χρήση για τον εντοπισμό των κοινών βιβλιοθηκών στην `/lib/tls`; Θα ήθελα να αυτοματοποιήσει αυτό σε ένα Makefile, όχι σκληρό κωδικοποίησης ένα μαγικό glibc / Pthread αριθμό έκδοσης.

 
Ποια είναι η διαφορά μεταξύ GNU\_LIBC\_VERSION και GNU\_NPTL\_VERSION;
======================================================================



[Το έργο NPTL](http://en.wikipedia.org/wiki/Native_POSIX_Thread_Library) που εφαρμόστηκε για πρώτη φορά Pthreads σε Linux ήταν ένα ξεχωριστό έργο αρχικά προσθέτοντας υποστήριξη του πυρήνα και παρέχει τη δική της βιβλιοθήκη.


Όταν ήταν αρκετά σταθερό συγχωνεύθηκε στο glibc. Θα ήθελα να υποθέσουμε ότι οι δύο αυτές εκδόσεις είναι πανομοιότυπες σε όλες τις εγκαταστάσεις λογικά up-to-ημερομηνία.


Στο Ubuntu 8.10 το αποτέλεσμα είναι κάπως έτσι:



```
$ Getconf GNU\_LIBC\_VERSION
glibc 08/02/90
$ Getconf GNU\_LIBPTHREAD\_VERSION
NPTL 08/02/90

```
 