![我的 Linux 标头是否应该与我正在运行的内核或 glibc 的编译目标相匹配?](https://linux22.com/image/128454/%E6%88%91%E7%9A%84%20Linux%20%E6%A0%87%E5%A4%B4%E6%98%AF%E5%90%A6%E5%BA%94%E8%AF%A5%E4%B8%8E%E6%88%91%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%E7%9A%84%E5%86%85%E6%A0%B8%E6%88%96%20glibc%20%E7%9A%84%E7%BC%96%E8%AF%91%E7%9B%AE%E6%A0%87%E7%9B%B8%E5%8C%B9%E9%85%8D%EF%BC%9F.png)
上次我需要处理内核头文件是在更新世(2.6 左右),我记得当时您需要将内核头文件与您正在运行的内核相匹配,而是与 glibc 编译时所针对的内核版本相匹配。但这是很久以前的事了,在内核导出自己的标头之前。
我有一台运行 4.15 系列内核的计算机,其中有一个针对 4.4 系列头文件编译的 C 库。我应该从正在运行的内核导出标头,还是使用我的发行版 (Slackware) 提供的标头包? (或者,请说答案是否定的,我是否还需要针对新内核重建 glibc?)
答案1
我有一台运行 4.6 内核而不是原来的 3.10 内核的旧 Slackware 服务器,并且不必弄乱标头。多年来,我已经为六个 Slackware 版本构建了至少十几个内核,但从未对其中任何一个的标头或 glibc 做过任何事情。
当然,如果没有更新的标头,您可能无法构建使用新内核功能的软件。但我怀疑如果您想要尖端软件,您会运行 Slackware,所以我认为您不会遇到这个问题。