ldd nie działa na dynamicznie połączonych plikach binarnych
Mam plik binarny, który używa kilku plików .so.
bash-3.00$ file foo
foo: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.21, dynamically linked (uses shared libs), not stripped
Ale jeśli uruchomię ldd na tym pliku, nie będzie on w stanie pobrać plików .so, od których zależy plik binarny. ”
bash-3.00$ ldd foo
not a dynamic executable
bash-3.00$
readelf pokazuje listę bibliotek współdzielonych używanych przez plik binarny ..
bash-3.00$ readelf -d foo
Dynamic segment at offset 0x17c810 contains 70 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libdl.so.2]
Dlaczego w tym przypadku ldd nie może odebrać zależności bibliotek?