Cuando utilizo ldd
en Linux me dice de inmediato si algo falta, es decir,
ldd -d some_lib.so
libexample.so => not found
libex.2.so => not found
libm.so.6 => /lib/libm.so.6 (0xf5860000)
libdl.so.2 => /lib/libdl.so.2 (0xf785b000)
libc.so.6 => /lib/libc.so.6 (0xf78a9000)
/lib/ld-linux.so.2 (0x46b4c000)
En Mac OS no es ldd
y recomiendan el empleo de otool -L
, pero que muestra que las bibliotecas compartidas son de esperar, no el tiempo o no están ahí. Otro enfoque sería utilizar dtruss
, pero requiere de sudo, y menos en mi experiencia, la aplicación se comporta de manera muy diferente cuando se dtrussed, y se produce de una forma totalmente diferente de la razón (y antes de que se vuelva a intentar cargar la problemática .dylib).
Así que si usted sospecha que una biblioteca compartida falta, ¿cuál es el enfoque estándar para encontrar lo que uno es en el Mac?