Tryldd binary-exec
Esempio:
~$ ldd /bin/bash
linux-gate.so.1 => (0x00606000)
libncurses.so.5 => /lib/libncurses.so.5 (0x00943000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0x00c5d000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x003e9000)
/lib/ld-linux.so.2 (0x00a41000)
Per trovare ciò di cui ha bisogno direttamente:
readelf -d APP | grep NEEDED
ldd
come menzionato altrove mostrerà tutte le librerie dirette e indirette - tutto ciò di cui ha bisogno in fase di esecuzione. Questo potrebbe non essere un elenco completo, dal momento che puoi aprire dinamicamente le cose con dlopen(), ma dovrebbe funzionare il 99% delle volte.
ld e libtool sono usati in fase di compilazione/collegamento. Non sono utili una volta che hai un'app.
MODIFICA Posso vedere dalle risposte successive che stavi chiedendo su OSX, ma voglio aggiungere alla mia risposta sugli strumenti Linux:
Una cosa che ho dimenticato di menzionare, molto tempo fa; hai chiesto informazioni sulle versioni. Né ldd
né readelf
risponderà alla domanda "quale versione". Ti diranno il nome file della libreria che stai cercando e la convenzione di denominazione potrebbe avere alcune informazioni sulla versione, ma nulla lo impone. I simboli possono essere versionati, e con nm
dovresti avere molto di più su un livello ancora più basso per vederli,
Un altro modo sarebbe usare objdump.
objdump -x "binario" | grep NECESSARIO
Questo mostra tutte le dipendenze necessarie solo per questo binario. Molto utile.