名称
ldd_ia: ldd ― 実行可能ファイルまたは共有ライブラリの動的依存関係をリスト
構文
ldd [-d] [-r]
[-s] [-v] filename...
説明
ldd は、不完全な実行可能ファイルまたは共有ライブラリの動的依存関係をリストするコマ
ンドです。
ldd は、動的依存関係とシンボル参照についての冗長情報をリストします。オブジェクトファイルが実行可能ファイルの時には、 ldd は、実行の際にロードされるすべての共有ライブラリをリストします。共有ライブラリの時には、 ldd は、ライブラリをロードする際にロードされるすべての共有ライブラリをリストします。
ldd は、共有ライブラリを実行時に検索するために、ダイナミックローダー (/usr/lib/hpux32/dld.so および /usr/lib/hpux64/dld.so)
と同じアルゴリズムを使用します。 詳細については、 dld.so(5) の 「動的パスリスト」を参照してください。
オプション
ldd では、以下のオプションが指定できます。
| -d | | データシンボルの参照をチェックします。 |
| -r | | データおよびコードシンボルの参照をチェックします。 |
| -s | | 共有ライブラリを配置するために使用される検索パスを表示します。 |
| -v | | すべての依存関係を表示します。 |
外部への影響
環境変数
ldd は次の環境変数を使用して、共用ライブラリを見つけます。
| LD_LIBRARY_PATH | | 共用ライブラリの実行時の検索パスを定義する、パス名をコロンで区切ったリストです。
詳細については、 dld.so(5) の「動的パスリスト」を参照してください。 |
| SHLIB_PATH | | 共用ライブラリの実行時の検索パスを定義する、パス名をコロンで区切ったリストです。
詳細については、 dld.so(5) の「動的パスリスト」を参照してください。 |
次の国際化変数は、 ldd の実行に影響を及ぼします。
| LANG | | LC_ALL および、他の LC_* 環境変数が指定されていない場合、母国語、地域慣習およびコード化キャラクタセットのロケールカテゴリを決定します。
もし、 LANG が指定されていなかったり、空文字列が設定されている場合には、 C のデフォルト lang(5) 参照) が、 LANG の代わりに使用されます。 |
| LC_ALL | | すべてのロケールカテゴリに対する値を決定し、そして、それは、 LANG および、他の LC_* 環境変数に優先します。 |
| LC_MESSAGES | | 標準エラー出力に出される診断メーセージのフォーマットと内容を左右するために使用されるロケールを決定します。 |
| LC_NUMERIC | | 数値フォーマットのロケールカテゴリを決定します。 |
| LC_CTYPE | | 文字操作関数のロケールカテゴリを決定します。 |
| NLSPATH | | LC_MESSAGES の処理用のメッセージカタログの位置を決定します。 |
国際化変数に無効な設定がされているものがある時には、 ldd は、国際化変数が C に設定されているものとし動作します
(environ(5) 参照)。
診断
ldd は、共有ライブラリパス名の記録を標準出力に印刷します。シンボル解決問題のオプションのリストは、標準エラー出力に印刷されます。
ldd は、操作がうまくいった時はゼロを戻します。 ゼロでないリターンコードはエラーが発生したことを示します。
例
デフォルトでは、 ldd は、簡単な動的パス情報を印刷します。実行可能ファイル
(または共有ライブラリ) 中に記録されている依存関係の後に、ライブラリが見つかった物理的な位置が出力されます
ldd a.out
./libx.so => ./libx.so
libc.so => /usr/lib/hpux32/libc.so.1
libdl.so => /usr/lib/hpux32/libdl.so.1
-v オプションを指定すると、 ldd は、動的パス情報とともに依存関係を印刷します。
ldd -v a.out
find library=./libx.so; required by a.out
./libx.so => ./libx.so
find library=libc.so; required by a.out
libc.so => /usr/lib/hpux32/libc.so.1
find library=libdl.so; required by /usr/lib/hpux32/libc.so.1
libdl.so => /usr/lib/hpux32/libdl.so..1
-r オプションを指定すると、 ldd は、すべてのシンボル参照を解析し、解決できないコードおよびデータシンボルの情報を印刷します。
ldd -r a.out
./libx.so => ./libx.so
libc.so => /usr/lib/hpux32/libc.so.1
libdl.so => /usr/lib/hpux32/libdl.so.1
symbol not found: val1 (./libx.so)
symbol not found: count (./libx.so)
symbol not found: func1 (./libx.so)
ファイル
| a.out | | 出力ファイル |
| /usr/lib/hpux32/dld.so |
| | | 32 ビット Itanium(R) ベース ダイナミックローダー |
| /usr/lib/hpux64/dld.so |
| | | 64 ビット Itanium ベース ダイナミックローダー |
| /usr/ccs/lib/hpux32/lddstub |
| | | 共有ライブラリの依存関係をチェックするためにロードされる、ダミーの
32 ビット実行可能ファイル |
| /usr/ccs/lib/hpux64/lddstub |
| | | 共有ライブラリの依存関係をチェックするためにロードされる、ダミーの
64 ビット実行可能ファイル |
| /usr/lib/nls/$LANG/ldd.cat |
| | | メッセージカタログ |
参照
テキストおよびチュートリアル
| 『『HP-UX
リンカー & ライブラリー ユーザーズガイド』』 |
| | | |