特定のバージョンの libc (GLIBC2.4) でコンパイルされた Linux 共有ライブラリ (.so) があり、別のバージョンの libc を使用するシステムでそれを使用する必要があります。問題のライブラリのソースがないため、新しいシステム用に再コンパイルできません。そのライブラリの依存関係を別の libc に変更することは何とか可能ですか?
4545 次
3 に答える
3
ライブラリが実際に変更されたインターフェイスを使用していない限り (可能性は低い)、結果のファイルでバージョンへの参照を 16 進編集するだけで済み.so
ます。いずれにせよ、それらはすべてテキストです。
于 2010-12-10T01:12:58.170 に答える
3
古い glibc を使用するシステムで .so が必要な場合は、ソース コードが必要で、それを古い glibc で再コンパイル/再リンクする必要があります。別の方法は、必要な glibc を古いシステムのデフォルト以外の場所にインストールし、この .so を必要とする実行可能ファイルの LD_LIBRARY_PATH を調整することです。
より新しい glibc がある場合、glibc は下位互換性がある傾向があるため、通常は問題になりません。
于 2010-01-15T14:35:06.980 に答える
1
あなたができる最善の方法は、システム用に古い glibc バージョンをコンパイルしてから、その glibc と共有ライブラリを使用してアプリケーションをビルドすることです。醜いけど…
于 2010-01-15T14:21:50.250 に答える