2014-01-21

はじめに

2.x 系が公開されているこのご時世に、やんごとなき理由により OpenCV 1.0.0 をソースコードビルド&インストールしなければならない状況、エンジニアの皆さんなら一度や二度は経験していますよね。ね?

今回、Ubuntu 12.04 LTS 上で OpenCV 1.0.0 を苦労しながらソースコードからビルドしてみたので、そのメモを残しておきます。

1. パッケージのインストール

パッケージのインストールなどを先に済ませます。個人的な好みで aptitude を使っていますが、 apt-get でも同様にインストールできるはずです。

$ sudo aptitude install build-essential

# コンパイルエラー/リンクエラーを阻止するために、これはインストール必須。
$ sudo aptitude install libv4l-dev
$ sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h

# 必要に応じて、取捨選択する
$ sudo aptitude install libjpeg-dev libpng-dev

2. OpoenCV 1.0.0 のダウンロード

ブラウザから、こちら のページより tar.gz ファイルをダウンロードし、適当な作業用ディレクトリ上に展開しておきます。

3. OpenCV をビルドする

まずは作業用ディレクトリ上で

$ ./configure

します。問題なく実行完了がしたところで、 make ... をする前に、こちら のページの "1) Error message:" にあるとおり、 cxcore/include/cxmisc.h の条件式なしの #elif#else に書き換えておきます。この書き換えをしておかないと、早々にコンパイルエラーが発生してしまいます (残りの 2, 3 の Error message については、 libv4l-dev パッケージのインストールとその後のシンボリックリンク作成で対処できるようなので、スキップして構いません)。

cxmisc.h の書き換えを終えたところでようやく

$ make
$ sudo make install

でインストールは完了します。