それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

OSX で ldd がないのでどうするのか

LDDは共有ライブラリへの依存関係を調べることに使います。

Mac OSX には ldd がないので、依存ライブラリを銅使ってるのか見れない。

otools を使う

otool -L $path_to_name

/usr/local/bin/ldd

よく間違うので、もうalias しといた

alias ldd="otool -L "

でもそうすると、ldd がないことをわすれてパニックなったので、

#!/usr/bin/env bash

echo "in OSX, ldd doesn't exits."
echo "Use otool -L instead."

echo ""


if [ $# -lt 1 ]; then
    "引数は1つです"
    exit 1
fi

otool -L $@

毎回警告出すようにした

ほかにも

lsbom lsm lsvfs

takuya@air:~/repos/gnu_make/chap01/sample02$ otool -L /bin/ls
/bin/ls:
     /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)
     /usr/lib/libutil.dylib (compatibility version 1.0.0, current version 1.0.0)
     /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)

例えばこんなかんじです

参考資料

http://www.pistolfly.jp/weblog/2011/09/mac-os-xobjdumpldd.html

http://linuxjm.sourceforge.jp/html/LDP_man-pages/man1/ldd.1.html

広告を非表示にする