Können neue glibc-Versionen mit einem alten Kernel verwendet werden?

18

Anscheinend kann mit glibc kompiliert werden --enable-kernel, um ältere Kernelversionen zu unterstützen. Ich konnte jedoch keine Informationen darüber finden, welche Kernelversionen von einer bestimmten glibc-Version unterstützt werden . Im Idealfall möchte ich eine Kompatibilitätsmatrix für alle Versionen von glibc (2.x) und Kernel (2.6.x) sehen. Existiert es?

Wenn es nicht existiert, liegt es vielleicht daran, dass jede glibc-Version (in den letzten 5 Jahren oder so) alle Kernel seit 2.6.0 unterstützt?

(Arch = x86-64, wenn das wichtig ist)

netvope
quelle

Antworten:

7

Bei einigen Versionen von glibcwird in der Ankündigungs-E-Mail angegeben, welche Kernelversionen kompatibel sind.

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

Möglicherweise können Sie die obige Tabelle erweitern, indem Sie mehr Ankündigungs-E-Mails für ältere (oder neuere) Versionen von nachverfolgen und lesen glibc.

Als Referenz:

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

Quellen:
Die GNU C Library (glibc)
Die GNU C Library Version 2.27 ist jetzt verfügbar.
Die GNU C Library Version 2.26 ist jetzt verfügbar.
Die GNU C Library Version 2.25 ist jetzt verfügbar.
Die GNU C Library Version 2.24 ist jetzt verfügbar.
DistroWatch.com: Ubuntu

mpb
quelle
4

Laut README des Projekts können Sie glibc mit 2.4-Kerneln verwenden, aber Sie werden einige Funktionen verlieren:

Wenn Sie mit Linux-Kerneln arbeiten, ist die GNU C Library Version 2.4 in erster Linie für die Verwendung mit Linux-Kerneln ab Version 2.6.0 vorgesehen. Wir unterstützen nur die Verwendung der NPTL-Implementierung von pthreads, die jetzt die Standardkonfiguration ist. Der Großteil der C-Bibliothek funktioniert weiterhin auf älteren Linux-Kerneln, und für viele Programme ist kein 2.6-Kernel erforderlich, um ordnungsgemäß zu funktionieren. Pthreads und verwandte Funktionen funktionieren jedoch auf alten Kerneln überhaupt nicht, und wir empfehlen, glibc 2.4 nicht mit einem Linux-Kernel vor 2.6 zu verwenden.

Beachten Sie, dass dies --enable-kernel=VERSIONbedeutet:

Kompilieren Sie für die Kompatibilität mit Kernel nicht älter als VERSION

Tshepang
quelle