名前
ldd - 共有ライブラリへの依存関係を表示する
書式
ldd [OPTION]... FILE...
説明
ldd はコマンドラインで指定したプログラムや共有ライブラリについて、 それぞれで必要とされる共有ライブラリを表示する。
オプション
--version | |
ldd のバージョン番号を表示する。 | |
-v --verbose | |
シンボルのバージョン情報などを含めた全ての情報を表示する。 | |
-u --unused | 使用されていない直接の依存関係を表示する (glibc 2.3.4 以降)。 |
-d --data-relocs | |
リロケーションを実行し、足りないオブジェクトについてレポートする (ELF のみ)。 | |
-r --function-relocs | |
足りないオブジェクトや関数についてレポートする (ELF のみ)。 | |
--help | 使用法を表示する。 |
注意
標準的なバージョンの ldd は glibc2 に付属している。 libc5 には古いバージョンのものが付属しており、 これが入っているシステムもまだ存在する。 libc5 バージョンではロングオプションがサポートされていない。 一方、glibc2 バージョンでは -V をサポートしておらず、これと同じ意味の --version しかサポートしていない。
libc5 バージョンのプログラムでは、 コマンドラインで与えられたライブラリ名に / が含まれている場合は、ライブラリ名をそのまま用いる。 / が含まれていない場合は、標準的なパスからライブラリを検索する。 カレントディレクトリにある共有ライブラリに対して実行するには、 名前にプレフィックス "./" を付けること。
バグ
ldd は a.out 共有ライブラリでは動作しない。
ldd は非常に古い a.out プログラム (ldd のサポートがコンパイラに追加される以前にビルドされたようなプログラム) では動作しない。 このようなプログラムに対して ldd を用いると、プログラムは argc = 0 で実行される。結果は予想不可能である。