バイナリとライブラリの依存関係の表示

バイナリがどのライブラリを使うのかを表示するには

 $ldd -r libserver
        linux-gate.so.1 =>  (0x001ab000)
        libevent-1.3e.so.1 => not found
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00709000)
        libm.so.6 => /lib/libm.so.6 (0x00598000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x006fb000)
        libc.so.6 => /lib/libc.so.6 (0x00450000)
        /lib/ld-linux.so.2 (0x0042e000)
undefined symbol: event_set     (./libserver)
undefined symbol: event_get_method      (./libserver)
undefined symbol: event_del     (./libserver)
undefined symbol: event_add     (./libserver)
undefined symbol: event_init    (./libserver)
undefined symbol: event_dispatch        (./libserver)

こんな感じ。
libserverがバイナリ名。
-rを指定すると、メソッド名とかも表示される。
この例だと、libeventが見つからないといっている。
なので、実行時にlibeventが見つかるようにしてやらないといけない。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です