Snow LeopardにOpenCV 2.1をインストールした

MacPortsOpenCV 2.1に対応したので、Snow Leopardにインストールしてみた。

環境は下記の通り。

インストールは、いつものようにコマンド一発だ。

$ sudo port install opencv

マシンによって差異があるようで上記のコマンドですんなりとビルド、インストールする環境もあれば、ffmpegのビルドエラーが発生する環境もあった。

--->  Fetching ffmpeg
--->  Attempting to fetch ffmpeg-0.6.tar.bz2 from http://distfiles.macports.org/ffmpeg
--->  Verifying checksum(s) for ffmpeg
--->  Extracting ffmpeg
--->  Applying patches to ffmpeg
--->  Configuring ffmpeg
--->  Building ffmpeg
Error: Target org.macports.build returned: shell command failed
Log for ffmpeg is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_ffmpeg/main.log
Error: The following dependencies failed to build: ffmpeg libdc1394 liboil
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

MacPortsには既にチケットが上がっていた。

チケットはまだオープン状態だが、コメントにて解決策が示されている。

I ran into the "library not found for -lavutil" issue during a build on a single-core host, while the same version of the ffmpeg port had just built successfully on a 4-core host. I was able to fix it by forcing a parallel make on the single-core host, editing ffmpeg/Portfile and changing the build.cmd to "gmake -j2".

#25926 (ffmpeg v 0.6 fail on build) – MacPorts

アドバイスに従って/opt/local/var/macports/sources/rsync.macports.org/release/ports/multimedia/ffmpeg/Portfile を開き、下記のように"-j2"を追加した。

build.cmd   gmake -j2

この状態ならffmpegは正常にビルド、インストール出来たので、引き続きOpenCVもインストールした。こちらも正常に完了。

OpenCVには、C言語のサンプルが含まれているのでそのままビルドしてみる。

$ cd /opt/local/share/opencv/samples/c 
$ sudo chmod +x build_all.sh 
$ sudo ./build_all.sh 
$ ./facedetect --cascade=../../haarcascades/haarcascade_frontalface_default.xml 

お馴染みの顔認識処理も正常に動作した。(終了時にSegmentation faultが発生するけど)



関連