ライブラリをロードするたびにエラーが発生します。
利用可能なバージョン情報はありません。
ライブラリは、実行中の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)
編集:回避策は機能しません。
答え1
いいえ、そうではありません。これは、プログラムのコンパイル時にリンクされたlibzバージョンが、使用しているmadrivaシステムのバージョンとは異なるツールで構築されたことを意味するようです。 Mandrivaのコピーには、プログラムが元々リンクされているlibzライブラリのコピーにあるシンボルバージョン情報がありません。これは、libz ライブラリ自体のバージョンではなく、各ビルド環境の違いに関連しています。
バイナリと同じツールセット(ライブラリにシンボルバージョンを挿入するツールなど)でビルドされたlibzのコピーを提供するまで、このメッセージは引き続き表示されると思います。または、Mandrivaシステムでlibzをコンパイルするときに使用されるものと同様のツールを使用してバイナリをビルドし、バイナリにシンボリックバージョン参照がないようにします。
望むより: 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/
不要なシンボルバージョン参照を削除し、他のすべてのバージョン参照(存在する場合)を維持するために、他のシステムでコンパイルされたバイナリを変更できるツールはありません。
答え2
「利用可能なバージョン情報なし」エラーは、使用しているMandriviaシステムのバージョンよりも新しいバージョンのlibz用にライブラリをコンパイルしたことを意味します。