バイナリがどのライブラリを使うのかを表示するには
$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が見つかるようにしてやらないといけない。
コメントを残す