Le nuove versioni di glibc possono essere usate con un vecchio kernel?


18

Apparentemente glibc può essere compilato --enable-kernelper supportare le versioni più vecchie del kernel. Tuttavia, non sono stato in grado di trovare informazioni su quali versioni del kernel sono supportate su una particolare versione di glibc . Idealmente, voglio vedere una matrice di compatibilità per ogni versione di glibc (2.x) e kernel (2.6.x). Esiste?

Se non esiste, forse è perché ogni versione di glibc (negli ultimi 5 anni circa) supporta tutti i kernel dalla 2.6.0?

(Arch = x86-64, se è importante)

Risposte:


7

Per alcune versioni di glibc, l'e-mail di annuncio indica quali versioni del kernel sono compatibili.

glibc    Released      Kernel
----------------------------------------------------------

2.27     2 Feb 2018    (same as 2.26?)
2.26     2 Aug 2017    3.2
2.25     5 Feb 2017    (same as 2.24?)

2.24     4 Aug 2016    on i[4567]86 and x86_64  ->  2.6.32
2.24     4 Aug 2016    on other platforms       ->  3.2

Potrebbe essere possibile estendere la tabella sopra rintracciando e leggendo più e-mail di annuncio per le versioni precedenti (o più recenti) di glibc.

Per riferimento:

Linux distribution    glibc version

Debian 9 Stretch      2.24
Debian 10 Buster      2.27 (as of March 2018).

Ubuntu 16.04          2.23
Ubuntu 16.10          2.24
Ubuntu 17.04          2.24
Ubuntu 17.10          2.26
Ubuntu 18.04          2.27

Fonti:
La libreria GNU C (glibc)
La libreria GNU C versione 2.27 è ora disponibile
La libreria GNU C versione 2.26 è ora disponibile
La libreria GNU C versione 2.25 è ora disponibile
La libreria GNU C versione 2.24 è ora disponibile
DistroWatch.com: Ubuntu



4

Secondo il README del progetto, puoi usare glibc con kernel 2.4, ma perderai alcune funzionalità:

Quando si lavora con kernel Linux, la GNU C Library versione 2.4 è destinata principalmente all'uso con il kernel Linux versione 2.6.0 e successive. Supportiamo solo l'utilizzo dell'implementazione NPTL di pthreads, che è ora la configurazione predefinita. La maggior parte della libreria C continuerà a funzionare su kernel Linux meno recenti e molti programmi non richiedono un kernel 2.6 per funzionare correttamente. Tuttavia, pthreads e le relative funzionalità non funzioneranno affatto sui vecchi kernel e non consigliamo di usare glibc 2.4 con nessun kernel Linux precedente alla 2.6.

Nota che --enable-kernel=VERSIONsignifica:

compilare per compatibilità con kernel non più vecchio di VERSION

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.