Ποια είναι η διαφορά μεταξύ GNU_LIBC_VERSION και GNU_NPTL_VERSION;

ψήφοι
1

Προσέξτε αυτές τις δύο ρυθμίσεις διαμόρφωσης του συστήματος 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 αριθμό έκδοσης.
Δημοσιεύθηκε 09/12/2008 στις 22:57
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
3

Το έργο NPTL που εφαρμόστηκε για πρώτη φορά Pthreads σε Linux ήταν ένα ξεχωριστό έργο αρχικά προσθέτοντας υποστήριξη του πυρήνα και παρέχει τη δική της βιβλιοθήκη.

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

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

$ Getconf GNU_LIBC_VERSION
glibc 08/02/90
$ Getconf GNU_LIBPTHREAD_VERSION
NPTL 08/02/90
Απαντήθηκε 09/12/2008 στις 23:12
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more