質問

私は、Linuxの共有ライブラリ(.soという)のlibc(GLIBC2.4)の特定のバージョンでコンパイルさを持っていると私はlibcのの異なるバージョンのシステム上でそれを使用する必要があります。私は新しいシステムのために再コンパイルすることはできませんので、私は、問題のライブラリのソースを持っていません。異なるのlibcにそのライブラリ内の依存関係を変更することが何とか可能ですか?

役に立ちましたか?

解決

あなたが古いglibcを持つシステム上での.soが必要な場合は、

は、古いのglibcでそれを再リンク/ソースコードを必要とし、再コンパイルします。代替は、デフォルト以外の場所では、旧システム上で必要なのglibcをインストールし、この.soのを必要とする実行可能ファイルのLD_LIBRARY_PATHを調整することです。

新しいglibcのではなくあります場合は、

、それは通常、後方互換性になりがちのglibcとして問題になることはありません。

他のヒント

あなたのライブラリーが本当に(そう)変更インタフェースを使用していない限り、あなただけの結果.soファイルでのバージョンへの参照をHEXEDITすることができます。彼らはとにかく、すべてのテキストです。

あなたができる最善のは、あなたのシステムのための古いglibcのバージョンをコンパイルし、そのglibcのと共有ライブラリを使用してアプリケーションを構築しています。醜いしかし...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top