显然,glibc可以用--enable-kernel
编译,以支持较早的内核版本。但是,我还没有找到在特定的glibc版本上支持哪些内核版本的信息。理想情况下,我希望看到每个glibc (2.x)和内核(2.6.x)版本的兼容性矩阵。它存在吗?
如果它不存在,也许是因为每个glibc版本(过去5年左右)都支持2.6.0以来的所有内核?
(Arch = x86-64,如果这有关系的话)
发布于 2018-03-15 19:00:46
对于某些版本的glibc
,公告电子邮件显示哪些内核版本是兼容的。
glibc Released Requires Linux kernel version
----------------------------------------------------------
2.34 1 Aug 2021 ? (same as 2.26?)
2.33 1 Feb 2021 ? (same as 2.26?)
2.32 5 Aug 2020 ? (same as 2.26?)
2.31 1 Feb 2020 ? (same as 2.26?)
2.30 1 Aug 2019 ? (same as 2.26?)
2.29 1 Feb 2019 ? (same as 2.26?)
2.28 1 Aug 2018 ? (same as 2.26?)
2.27 2 Feb 2018 ? (same as 2.26?)
2.26 2 Aug 2017 3.2 (or higher)
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
Note 1: Some minor architectures require a higher kernel version than
listed above.
Note 2: Your Linux distribution may vary from the above, as Glibc can
optionally be configured at compile time to require a kernel
version newer than the oldest supported version.
也许可以通过查找和阅读更多的glibc
旧版(或更新版)的公告电子邮件来扩展上表。
供参考:
Linux distribution glibc version Requires Linux kernel version
Debian 11 Bullseye 2.31 3.2 ?
Debian 10 Buster 2.28 3.2 ?
Debian 9 Stretch 2.24 on x86 2.6.32
Debian 9 Stretch 2.24 on other 3.2
Ubuntu 20.04 2.31 3.2
Ubuntu 18.04 2.27 3.2
Ubuntu 17.10 2.26 3.2
Ubuntu 17.04 2.24 ?
Ubuntu 16.10 2.24 ?
Ubuntu 16.04 2.23 ?
资料来源:
发布于 2011-03-20 10:02:46
根据该项目的自述文件,您可以使用glibc2.4,内核的历史超过2.6,但是您将失去一些功能:
在使用Linux内核时,GNU C库版本2.4主要用于Linux内核版本2.6.0及更高版本。我们只支持使用p线程的NPTL实现,这现在是默认配置。大多数C库将继续在旧的Linux内核上工作,许多程序不需要2.6内核才能正确运行。但是,线程和相关功能在旧内核上根本不起作用,我们不建议在2.6之前在任何Linux内核中使用glibc2.4。
注意,--enable-kernel=VERSION
的意思是:
编译以与不早于版本的内核兼容
发布于 2020-06-16 18:53:44
你可以在资料来源登记。通用依赖关系在sysdeps/unix/sysv/linux/配置。中定义,当前(在主分支中,在2.32发行版之前)是: 3.2.0
有一些特定于体系结构的依赖项,在arch_minimum_kernel
中搜索sysdeps/unix/sysv/linux/[arch]/configure
,例如在当前的主分支中(在2.32发行版之前):
虽然这并不是100%正确的,但请参阅新闻:64位RISC-V要求内核头版本最少为5.0中的RISC更改。
https://unix.stackexchange.com/questions/9705
复制相似问题