「Homebrew」タグアーカイブ

Mac の Homebrew を使った実行ファイルのリリーステスト

まず、Homebrew で作った app ファイルをリリースしようとしたときに、自分の Mac では動作するのに、渡した人の Mac では動作しない、という問題に遭遇しました。
これは OpenCV を使っていて、libopencv_highgui.2.4.8.dylib が libopencv_core.2.4.dylib を利用していて、そのあたりの依存関係を install_name_tool で変更してなかった! というのが原因でした。

最初は

$ brew unlink opencv

で opencv を無効にしていたのですが、これだとリリース用のフォルダにある libopencv_highgui.2.4.8.dylib が直接 /usr/local/Cellar/opencv/2.4.8.2/lib/libopencv_core.2.4.dylib に依存していたのを、自分の Mac では検出できません。
(unlink は Cellar と /usr/local/ とのシンボリックリンクを削除)

それで、思いついたのが以下の方法です!

$ cd /usr/local/
$ mv Cellar Cellar_orig

我ながら「強引だな!」と思います。
で、この方法でリリース用フォルダのプログラムが実行できることを確認したら、忘れずに以下のコマンドで Cellar を元に戻します。

$ mv Cellar_orig Cellar

まぁ、そもそもコマンドラインでビルドしてリリースするのが良くないんじゃないかな、とは思っています。(コマンドラインでなく XCode を使うとか?

悩ましいです…。