Sé que hay un comando que me enumera las bibliotecas y las versiones respectivas con las que se vinculó un software.
¿Algo con ld o libtool?
Pero simplemente no puedo recordar. Pasé un tiempo en google pero no se me ocurrió nada útil.
La actualización
ldd <binary>
ayudaría en Linux, ( de @ Ernelli ) mientras descubrí que otool -L <binary>
hace algo similar en MacOS X.
linux
macos
shared-libraries
er4z0r
fuente
fuente
Respuestas:
Prueba ldd binary-exec
Ejemplo:
fuente
Para encontrar lo que necesita directamente:
ldd
como se menciona en otra parte, mostrará todas las librerías directas e indirectas, todo lo que necesita en tiempo de ejecución. Puede que no sea una lista completa, ya que puede abrir dinámicamente cosas con dlopen (), pero debería funcionar el 99% del tiempo.ld y libtool se usan en tiempo de compilación / enlace. No son útiles una vez que tienes una aplicación.
EDITAR Puedo ver en respuestas posteriores que estaba preguntando sobre OSX, pero quiero agregar a mi respuesta sobre las herramientas de Linux:
Una cosa que olvidé mencionar, hace bastante tiempo; preguntaste sobre las versiones. Ni
ldd
tampocoreadelf
responderá la pregunta "qué versión". Le indicarán el nombre de archivo de la biblioteca que está buscando, y la convención de nomenclatura puede tener alguna información de versión, pero nada lo impone. Los símbolos pueden ser versionados, y tendrías que tener un nivel aún más bajonm
para verlos,fuente
Otra forma sería usar objdump.
Esto muestra todas las dependencias necesarias solo para este binario. Muy útil.
fuente