Macでappを配布するとき、このエラーが出てちょっと困ったのでメモ。
結論から言えば、動的リンクライブラリが絶対パスで指定されていたのが原因だった。
otool -L binfile
で依存関係を調べて
install_name_tool -change old_path new_path binfile
でそのパスを変更できる。
例
install_name_tool -change /System/Library/Frameworks/OpenAL.framework/Versions/A/OpenAL @executable_path/../Frameworks/OpenAL.framework/Versions/A/OpenAL Birth
Macの場合は@executable_path
というキーワードが、実行ファイルの含まれるディレクトリに置換されるらしい。