バイナリがロードされていない理由を知ることができませんでした。これはMATLAB(MEX-ファイル)によって読み込まれたdylibで、別の場所にあるかなりの数のdylibにリンクしています。 MATLABはMEXファイルを読み込むことができないと伝えますが、依存関係のどれが見つからないのか分かりません。MacOSX:どのダイナミックライブラリがバイナリでリンクされていますか?
誰もこのようなものをデバッグする方法の提案はありますか?
Linuxの場合、ldd
はこの問題をデバッグするのに最適なツールです。人々はotool -L
がLinux ldd
に相当するMacOSだと言っていますが、これは当てはまりません。 ldd
は実際にライブラリを探し、見つけたものと見つかったものを教えてくれます。 otool -L
は、リンクするために必要なライブラリのみを示します。彼らがそこにいるかどうかを確認する努力はしません。 @rpath
を使ってライブラリを検索する場所は教えてくれません。
otool -l
(小文字のL)があり、あなたが@rpath
ライブラリが検索される場所を確立LC_RPATH
コマンドを、見ることができ、あなたの「ロード・コマンド」のダンプを提供します。しかし、これらは依存性が見つからないことを私に説明することができませんでした。
これは素晴らしいです、ありがとうございました! Matlabには、環境変数を実行可能ファイルに渡さないようなブートスクリプトがあるので、これらの変数をスクリプトに追加しました。私は 'DYLD_PRINT_TO_FILE'も使用しました。 –