エンタープライズクラスのLinuxオペレーティングシステムでは、
- SLES 11.4はglibc 2.11を使用します。
- SLES 12.3 glibc 2.19を使用しているようです。
- RHEL 6.10はglibc 2.12を使用します。
- RHEL 7.6はglibc 2.17を使用します。
- glibcのソースコードは現在2.29です。
- しばらく前に、glibc 2.14がインストールされているLinuxシステムで実行可能なコードを受け取りましたが、SLES 11では実行できませんでした。
すべてを見ると、glibcはシステムで手動で更新できないようです。バージョンをアップグレードする唯一の方法は、完全に更新されたLinuxオペレーティングシステムのバージョンに移動することです。 これは本当ですか?
以前のバージョンとの互換性は常にあったが、それ以降のバージョンとの互換性はなかったので...
私は最新のRHEL 7.6とglibc 2.17を使用しています。誰かが現在SLES 12とglibc 2.19を使用していて実行可能なコードを提供している場合はどうすればよいですか?近い将来、より高いバージョンのglibcを含むいくつかのLinuxを使用すると、同じ問題が発生しますか?受信者が古いglibcを持っているか、プロバイダが最新のglibcを持っているかにかかわらず、この問題を解決する方法はありますか?私はまた、問題の大部分がglibcウェブサイトの次の文であることを発見しました。GNU Cライブラリは6ヶ月ごとにリリースされます。。
ベストアンサー1
ライブラリにはバージョン指定されたシンボルがあります。新しいコードがバージョンシンボルの1つに達し、そのバージョンがlibcの他のバージョンよりも新しい場合は実行できません。
静的に構築できますか?