LDD(1)

名前
ldd - 共有ライブラリへの依存関係を表示する

書式
ldd [OPTION]... FILE...

説明
ldd はコマンドラインで指定したプログラムや共有ライブラリについて、 それぞれで必要とされる共有ライブラリを表示する。

  Security
In the usual case, ldd invokes the standard dynamic linker (see ld.so(8)) with the LD_TRACE_LOADED_OBJECTS environment variable set to 1, which causes the linker to display the library dependencies. Be aware, however, that in some circumstances, some versions of ldd may attempt to obtain the dependency information by directly executing the program. Thus, you should never employ ldd on an untrusted executable, since this may result in the execution of arbitrary code. A safer alternative when dealing with untrusted executables is:
    $ objdump -p /path/to/program | grep NEEDED

オプション

--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 で実行される。結果は予想不可能である。

関連項目
ld.so(8), ldconfig(8)

この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。