Discovery of Dynamic library dependency on Mac OS & Linux
Solution 1:
- Mac OS X:
otool
-L
file - Linux:
ldd
file
If those commands don't provide what you want, on Mac OS X you can dump all the load commands with otool
-l
file. On Linux you can dump the entire contents of the dynamic section with readelf
-d
file.
Solution 2:
You can also try MacDependency (https://github.com/kwin/macdependency) which provides an UI replacement for otool on MacOS X. It shows complete dependency trees and the exported symbols as well.
Solution 3:
try ldd in the terminal. This will provide you a list of dynamic libraries that the binary needs.
Solution 4:
You can put something like following into your bashrc so that you can always use "ldd" as interface but it will redirect macos equivalent one if machine is mac.
# Macos equivalent of ldd
if [[ "$OSTYPE" =~ "darwin"* ]]
then
alias ldd="otool -L"
fi