log4cxx.so を使用して C++ アプリケーションを展開しようとしていますが、glibc 2.14 が必要ですが、展開するマシンには 2.12 glibc があります。このアプリケーションを実行するには、このマシンを glibc 2.14 にアップグレードする必要がありますか? または、他のよりポータブルな方法がありますか?
Linux バイナリの移植性は苦痛です。Linux はシンボルのバージョン管理を使用するため、必要なシンボルを見つけることができるはずです。
nm binary | grep @@GLIBC_ | sort -t@ -k14
関数をインライン化し、 newer への依存を削除できる場合がありますglibc
。
詳しくはこちらをご覧ください。一般に、移植性のための最良のオプションは、古いバージョンに対してコンパイルするglibc
か、単にソースとMAKEFILE
.