古いカーネルで新しいglibcバージョンを使用できますか?


18

どうやらglibcをコンパイルし--enable-kernelて古いカーネルバージョンをサポートできるようです。ただし、特定のglibcバージョンでサポートされているカーネルバージョンに関する情報を見つけることができませんでした。理想的には、すべてのglibc(2.x)およびカーネル(2.6.x)リリースの互換性マトリックスを確認する必要があります。存在しますか?

存在しない場合、おそらく、すべてのglibcバージョン(過去5年程度)が2.6.0以降のすべてのカーネルをサポートしているためでしょうか?

(Arch = x86-64、それが重要な場合)

回答:


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

プロジェクトのREADMEによると、2.4カーネルでglibcを使用できますが、一部の機能が失われます。

Linuxカーネルを使用する場合、GNU Cライブラリバージョン2.4は、主にLinuxカーネルバージョン2.6.0以降で使用することを目的としています。現在、デフォルト構成であるpthreadのNPTL実装の使用のみをサポートしています。ほとんどのCライブラリは古いLinuxカーネルで引き続き動作し、多くのプログラムは2.6カーネルを必要とせずに正しく実行されます。ただし、pthreadと関連機能は古いカーネルではまったく機能しないため、2.6より前のLinuxカーネルでglibc 2.4を使用することはお勧めしません。

次のことを--enable-kernel=VERSION意味することに注意してください。

VERSIONより古くないカーネルとの互換性のためにコンパイルする

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.