新glibc版本可以与旧内核一起使用吗?


18

显然,可以使用glibc进行编译--enable-kernel以支持较早的内核版本。但是,我无法找到有关特定glibc版本支持哪些内核版本的信息。理想情况下,我想查看每个glibc(2.x)和内核(2.6.x)版本的兼容性列表。是否存在?

如果它不存在,也许是因为每个glibc版本(最近5年左右)都支持2.6.0以来的所有内核?

(Arch = x86-64,如果重要的话)

Answers:


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)
GNU C库2.27版现已可用
GNU C库2.26版现已可用
GNU C库2.25版现已可用
GNU C库2.24版现已可用
DistroWatch.com:Ubuntu



4

根据项目的自述文件,您可以将glibc与2.4内核一起使用,但是会丢失一些功能:

使用Linux内核时,GNU C库2.4版主要用于Linux内核2.6.0及更高版本。我们仅支持使用pthread的NPTL实现,这是默认配置。大多数C库将继续在较旧的Linux内核上运行,并且许多程序不需要2.6内核即可正确运行。但是,pthread和相关功能根本无法在旧内核上运行,并且我们建议不要将glibc 2.4与2.6之前的任何Linux内核一起使用。

请注意,这--enable-kernel=VERSION意味着:

编译以与不早于VERSION的内核兼容

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.