2013年07月23日

[Homebrew] バージョンを指定してフォーミュラをインストールする方法 (2)

07/21の記事にHomebrewでバージョンを指定してフォーミュラをインストールする方法を書いたが、OpenCVをインストールする場合この方法では上手くいかないことが判った。補足的な記事になるが、opencvフォーミュラのバージョンを指定してインストールする方法について書いておく。

OpenCVのフォーミュラはHomebrewのメインリポジトリではなく、homebrew/scienceというサブリポジトリの方に存在している。したがって、まずは、このリポジトリをHomebrewの管理対象として追加してやる必要がある。
$ brew tap homebrew/science

これで、Homebrewでopencvフォーミュラが利用できるようになる。インストールを実行する前に、「brew info FORMULA」でフォーミュラ情報が取得できるか確認してみると良い。
$ brew info opencv
opencv: stable 2.4.5
http://opencv.org/
Not installed
From: https://github.com/homebrew/homebrew-science/commits/master/opencv.rb
==> Dependencies
Build: cmake, pkg-config
Optional: eigen, libtiff, jasper, tbb, qt
==> Options
--32-bit
Build 32-bit only
--with-eigen
Build with eigen support
--with-jasper
Build with jasper support
--with-libtiff
Build with libtiff support
--with-qt
Build the Qt4 backend to HighGUI
--with-tbb
Enable parallel code in OpenCV using Intel TBB
--without-opencl
Disable gpu code in OpenCV using OpenCL

上の操作を行った後、opencvフォーミュラの利用可能なバージョンを調べてみた。
$ brew versions opencv
2.4.5 git checkout ae74fe9 /usr/local/Library/Taps/homebrew-science/opencv.rb
2.4.4a git checkout 3efa797 /usr/local/Library/Taps/homebrew-science/opencv.rb
2.4.3 git checkout 8cb3f45 /usr/local/Library/Taps/homebrew-science/opencv.rb
2.4.2 git checkout b64b319 /usr/local/Library/Taps/homebrew-science/opencv.rb
2.4.1 git checkout 3d32cf1 /usr/local/Library/Taps/homebrew-science/opencv.rb
2.4.0 git checkout 2a8c46b /usr/local/Library/Taps/homebrew-science/opencv.rb
2.3.1a git checkout cdaf83d /usr/local/Library/Taps/homebrew-science/opencv.rb
2.2 git checkout 032047f /usr/local/Library/Taps/homebrew-science/opencv.rb
2.1.1-pre git checkout 2438f42 /usr/local/Library/Taps/homebrew-science/opencv.rb
HEAD git checkout c658897 /usr/local/Library/Taps/homebrew-science/opencv.rb
2.1.0 git checkout ecb6a3e /usr/local/Library/Taps/homebrew-science/opencv.rb

07/03にバージョンアップが実施されてOpenCVの最新版は2.4.6になっているはずだが、Homebrewでは最新版のフォーミュラはまだ作成されていないようだ(フォーミュラの更新はほぼ毎日行われているので、多分近日中にOpenCV 2.4.6のフォーミュラがアップされるじゃないかと思う)。現状Homebrewで利用可能な最新版はOpenCV 2.4.5だが、一つ前のバージョンのOpenCV 2.4.4aをインストールできるか試してみた。

最初に、opencvフォーミュラのバージョンを変更するために、07/21の記事と同じコマンドを実行してみた。
$ cd /usr/local
$ git checkout 3efa797 Library/Taps/homebrew-science/opencv.rb
error: pathspec '3efa797' did not match any file(s) known to git.
error: pathspec 'Library/Taps/homebrew-science/opencv.rb' did not match any file(s) known to git.

すると、上のようなエラーが表示されてしまった。このエラーは、どうも「git」コマンドで指定したファイルがリポジトリの管理対象外だと言っているようだ。「brew tap」で追加したリポジトリの管理情報は、/usr/localではなくどこか別のディレクトリに存在するんじゃないだろうか。それがこのエラーの原因ではないかと推測した。この推測に基づいて、次のコマンドを実行してみた。
$ find /usr/local -name ".git" -print
/usr/local/.git
/usr/local/Library/Taps/homebrew-science/.git

やはり推測どおり、/usr/local以外にもう一つ.gitディレクトリが存在していた。多分homebrew/scienceリポジトリの管理情報はこのディレクトリに格納されているのだろう。だとすれば、opencvフォーミュラのバージョンを変更するには、次のコマンドを実行すれば良いはずだ。
$ cd /usr/local/Library/Taps/homebrew-science
$ git checkout 3efa797 opencv.rb

正解だったようで、今度はエラーは表示されなかった。上のコマンドを実行した後フォーミュラ情報を確認したら、ちゃんと指定したバージョンに変更されていた。
$ brew info opencv
opencv: stable 2.4.4a
http://opencv.org/
Not installed
From: https://github.com/homebrew/homebrew-science/commits/master/opencv.rb
==> Dependencies
Build: cmake, pkg-config
Optional: eigen, libtiff, jasper, tbb, qt
==> Options
--32-bit
Build 32-bit only
--with-eigen
Build with eigen support
--with-jasper
Build with jasper support
--with-libtiff
Build with libtiff support
--with-opencl
Enable gpu code in OpenCV using OpenCL
--with-qt
Build the Qt4 backend to HighGUI
--with-tbb
Enable parallel code in OpenCV using Intel TBB
==> Caveats
The OpenCV Python module will not work until you edit your PYTHONPATH like so:
export PYTHONPATH="/usr/local/lib/python2.7/site-packages:$PYTHONPATH"

To make this permanent, put it in your shell's profile (e.g. ~/.profile).

この状態で「brew install opencv」を実行すれば、上で指定したバージョンのopencvフォーミュラをインストールできるはずだ。実際にやってみて、OpenCV 2.4.4aがインストールできることを確認できた。

なお、次のコマンドを実行すれば、opencvフォーミュラのバージョンを最新版に戻すことができる。
$ cd /usr/local/Library/Taps/homebrew-science
$ git reset HEAD opencv.rb
$ git checkout -- opencv.rb
タグ:Homebrew
posted by とみやん at 14:55| Comment(0) | TrackBack(0) | 開発・プログラミング > Mac
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/71268425

この記事へのトラックバック