Libをロードするたびに、エラーが発生します。
利用可能なバージョン情報はありません
このライブラリは、それを実行しているPC(mandriva 2010.2)とは別のPC(ubuntu 10.04)でコンパイルされています。
$ ldd /usr/local/gnu-eabi-4.5.2/i686-pc-linux-gnu/arm-eabi/lib/libbfd-2.21.so
/usr/local/gnu-eabi-4.5.2/i686-pc-linux-gnu/arm-eabi/lib/libbfd-2.21.so: /lib/libz.so.1: no version information available (required by /usr/local/gnu-eabi-4.5.2/i686-pc-linux-gnu/arm-eabi/lib/libbfd-2.21.so)
linux-gate.so.1 => (0xffffe000)
libz.so.1 => /lib/libz.so.1 (0xb77a7000)
libc.so.6 => /lib/i686/libc.so.6 (0xb7655000)
/lib/ld-linux.so.2 (0xb787a000)
編集:回避策は機能しませんでした。
いいえ、ありません。プログラムをコンパイルしたときにリンクしたlibzのバージョンが、使用しているmadrivaシステムのバージョンとは異なるツールでビルドされたことを意味しているようです。 mandrivaコピーには、プログラムが最初にリンクしたlibzライブラリのコピーに存在していたシンボルバージョン情報がありません。これは、libzライブラリ自体のバージョンではなく、それぞれのビルド環境の違いと関係があります。
バイナリと同じツールセットで構築されたlibzのコピー、つまり、シンボルバージョンをライブラリに挿入するツールセットを提供するまで、メッセージが表示され続けると思います。または、libzがmandrivaシステムでコンパイルされたときに使用されたものと同様のツールを使用してバイナリをビルドし、シンボルバージョン参照がバイナリに存在しないようにします。
参照: http://harmful.cat-v.org/software/dynamic-linking/versioned-symbols http://www.linux-kongress.org/1997/youngdale.html http://www.usenix.org/publications/library/proceedings/als00/2000papers/papers/full_papers/browndavid/browndavid_html/
他のシステムでコンパイルされたバイナリを変更して、不要なシンボルバージョンの参照を削除し、必要に応じて他のすべてを残すことができるツールは知りません。
「利用可能なバージョン情報がありません」というエラーは、ライブラリをコンパイルしたときにリンクしたlibzのバージョンが、使用しているmandriviaシステムのバージョンよりも新しいことを意味します。