Можно ли использовать новые версии glibc со старым ядром?

18

Очевидно, что glibc может быть скомпилирован --enable-kernelдля поддержки более старых версий ядра. Тем не менее, я не смог найти информацию о том, какие версии ядра поддерживаются в конкретной версии glibc . В идеале я хочу видеть матрицу совместимости для каждого выпуска glibc (2.x) и kernel (2.6.x). Это существует?

Если он не существует, возможно, это потому, что каждая версия glibc (за последние 5 лет или около того) поддерживает все ядра начиная с 2.6.0?

(Arch = x86-64, если это имеет значение)

netvope
источник

Ответы:

7

Для некоторых версий glibc в электронном сообщении говорится, какие версии ядра совместимы.

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

Может быть возможно расширить вышеуказанную таблицу, отслеживая и читая больше электронных писем с объявлениями для более старых (или более новых) версий glibc.

Для справки:

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

Источники:
Библиотека GNU C (glibc)
. Доступна версия 2.27 библиотеки GNU C. Доступна
версия 2.26 библиотеки GNU C. Доступна
версия 2.25 библиотеки GNU C. Доступна
версия 2.24 библиотеки GNU C.
DistroWatch.com: Ubuntu

MPB
источник
4

Согласно проекту README вы можете использовать glibc с ядрами 2.4, но вы потеряете некоторые функции:

При работе с ядрами Linux библиотека GNU C версии 2.4 предназначена в первую очередь для использования с ядром Linux версии 2.6.0 и выше. Мы поддерживаем только использование NPTL-реализации pthreads, которая сейчас является конфигурацией по умолчанию. Большая часть библиотеки C будет продолжать работать на старых ядрах Linux, и многим программам не потребуется ядро ​​2.6 для правильной работы. Тем не менее, pthreads и связанные функциональные возможности не будут работать вообще на старых ядрах, и мы не рекомендуем использовать glibc 2.4 с любым ядром Linux до версии 2.6.

Обратите внимание, что --enable-kernel=VERSIONозначает:

скомпилировать для совместимости с ядром не старше VERSION

tshepang
источник