¿Se pueden usar nuevas versiones de glibc con un núcleo antiguo?

18

Aparentemente, glibc se puede compilar --enable-kernelpara admitir versiones anteriores del kernel. Sin embargo, no he podido encontrar información sobre qué versiones de kernel son compatibles con una versión particular de glibc . Idealmente, quiero ver una matriz de compatibilidad para cada versión de glibc (2.x) y kernel (2.6.x). ¿Existe?

Si no existe, ¿tal vez sea porque todas las versiones de glibc (en los últimos 5 años más o menos) admiten todos los núcleos desde 2.6.0?

(Arco = x86-64, si eso importa)

netvope
fuente

Respuestas:

7

Para algunas versiones de glibc, el correo electrónico de anuncio dice qué versiones de kernel son compatibles.

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

Es posible extender la tabla anterior rastreando y leyendo más correos electrónicos de anuncios para versiones anteriores (o más recientes) de glibc.

Para referencia:

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

Fuentes:
La Biblioteca GNU C (glibc)
La Biblioteca GNU C versión 2.27 ya está disponible
La Biblioteca GNU C versión 2.26 ya está disponible
La Biblioteca GNU C versión 2.25 ya está disponible
La Biblioteca GNU C versión 2.24 ya está disponible
DistroWatch.com: Ubuntu

mpb
fuente
4

Según el archivo README del proyecto, puede usar glibc con núcleos 2.4, pero perderá algunas funciones:

Cuando se trabaja con kernels de Linux, la versión 2.4 de GNU C Library está destinada principalmente para su uso con Linux kernel versión 2.6.0 y posteriores. Solo admitimos el uso de la implementación NPTL de pthreads, que ahora es la configuración predeterminada. La mayoría de la biblioteca C continuará funcionando en núcleos Linux más antiguos y muchos programas no requerirán un núcleo 2.6 para ejecutarse correctamente. Sin embargo, los subprocesos y la funcionalidad relacionada no funcionarán en absoluto en los núcleos antiguos y no recomendamos usar glibc 2.4 con ningún núcleo de Linux anterior a 2.6.

Tenga en cuenta que --enable-kernel=VERSIONsignifica:

compilar para compatibilidad con kernel no anterior a VERSION

tshepang
fuente