Czy można używać nowych wersji glibc ze starym jądrem?

18

Najwyraźniej glibc można skompilować w --enable-kernelcelu obsługi starszych wersji jądra. Jednak nie byłem w stanie znaleźć informacji o tym, jakie wersje jądra są obsługiwane w konkretnej wersji glibc . Idealnie chciałbym zobaczyć macierz kompatybilności dla wszystkich wydań glibc (2.x) i jądra (2.6.x). Czy to istnieje?

Jeśli nie istnieje, być może dlatego, że każda wersja glibc (w ciągu ostatnich 5 lat) obsługuje wszystkie jądra od wersji 2.6.0?

(Arch = x86-64, jeśli to ma znaczenie)

netvope
źródło

Odpowiedzi:

7

W przypadku niektórych wersji glibce-mail z ogłoszeniem informuje, które wersje jądra są kompatybilne.

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

Może być możliwe rozszerzenie powyższej tabeli, śledząc i czytając więcej e-maili z ogłoszeniami dla starszych (lub nowszych) wersji glibc.

Na przykład:

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

Źródła:
Biblioteka GNU C (glibc)
Biblioteka GNU C w wersji 2.27 jest już dostępna
Biblioteka GNU C w wersji 2.26 jest już dostępna
Biblioteka GNU C w wersji 2.25 jest już dostępna
Biblioteka GNU C w wersji 2.24 jest już dostępna
DistroWatch.com: Ubuntu

mpb
źródło
4

Zgodnie z README projektu możesz używać glibc z jądrem 2.4, ale stracisz trochę funkcjonalności:

Podczas pracy z jądrem systemu Linux biblioteka GNU C w wersji 2.4 jest przeznaczona głównie do użytku z jądrem systemu Linux w wersji 2.6.0 i nowszych. Obsługujemy tylko korzystanie z implementacji pthreads NPTL, która jest teraz domyślną konfiguracją. Większość bibliotek C będzie nadal działać na starszych jądrach Linuksa, a wiele programów nie będzie wymagało poprawnego działania jądra 2.6. Jednak pthreads i związana z nimi funkcjonalność w ogóle nie będą działać na starych jądrach i nie zalecamy używania glibc 2.4 z dowolnym jądrem Linuksa przed wersją 2.6.

Uwaga, co --enable-kernel=VERSIONoznacza:

skompiluj dla kompatybilności z jądrem nie starszym niż VERSION

tshepang
źródło