OpenCVをホームディレクトリ以下にインストールする
はじめに
OpenCVをホームディレクトリ以下にインストールしてみたので、手順を書いておきます。
cmakeのときにディレクトリを指定するだけではなく、PKG_CONFIG_PATHとかLD_LIBRARY_PATHあたりのパスの設定も必要でしたというお話しです。
環境
- Ubuntu 11.04
- OpenCV 2.3.1
手順
1. まずは依存ライブラリやツールをインストール
$ sudo apt-get install cmake pkg-config build-essential \ libtbb2 libtbb-dev \ libgtk2.0-0 libgtk2.0-dev \ libpng12-0 libpng12-dev libpng++-dev libpng3 libpnglite-dev libpngwriter0-dev libpngwriter0c2 \ libjpeg62 libjpeg62-dev libjpeg-progs \ zlib1g zlib1g-dev libjasper-dev libjasper-runtime libjasper1 \ pngtools libtiff4-dev libtiff4 libtiffxx0c2 libtiff-tools \ ffmpeg libavcodec-dev libavcodec52 libavformat52 libavformat-dev \ libgstreamer0.10-0 libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev \ libxine1-ffmpeg libxine-dev libxine1-bin libunicap2 libunicap2-dev \ libdc1394-22-dev libdc1394-22 libdc1394-utils swig libv4l-0 libv4l-dev \ python-numpy libpython2.7 python python-dev \ openexr libswscale0 libswscale-dev libeigen2-dev libopenexr-dev
2. OpenCVをダウンロードして解凍
http://sourceforge.net/projects/opencvlibrary/ からソースコードをダウンロードします。
今回はUnix版のOpenCV 2.3.1を使用しました。
解凍は普通に
$ tar xvf OpenCV-2.3.1.tar.bz2
でOKです。
2. CMAKE_INSTALL_PREFIXにインストールするパスを指定してcmake
OpenCVをインストールする場所をCMAKE_INSTALL_PREFIXで指定してcmakeを実行します。
今回は、
$HOME/local/opencvlibrary
にインストールするため、下記のように指定してcmakeを実行します。
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=$HOME/local/opencvlibrary \ -D BUILD_PYTHON_SUPPORT=ON -D WITH_TBB=ON -D WITH_GTK=ON \ ./OpenCV-2.3.1
他のディレクトリにインストールする場合は、$HOME/local/opencvlibraryの部分を適宜読み替えてください。
3. ビルドしてインストール
そのまんまです。
$ make $ make install
4. パスの設定
今回はホームディレクトリ以下にインストールするため、そのままではプログラムのビルド時にライブラリが見つからず、エラーとなってしまいます。そこで、パスの設定が必要となります。
OpenCVで必要なのは、
- ビルド時に使用する pkg-config のパス (PKG_CONFIG_PATH)
- 共有ライブラリのパス (LD_LIBRARY_PATH)
の2つです。
PKG_CONFIG_PATH には opencv.pc が配置されているディレクトリ([OpenCVをインストールしたディレクトリ]/lib/pkgconfig)、LD_LIBRARY_PATH は共有ライブラリが配置されているディレクトリ([OpenCVをインストールしたディレクトリ]/lib)を指定すればOKです。
今回はそれぞれ $HOME/local/opencvlibrary/lib/pkgconfig 、$HOME/local/opencvlibrary/lib となるので、.zshrcなど*1に下記のように設定を記述します。
# .zshrcに追記 PKG_CONFIG_PATH=$HOME/local/opencvlibrary/lib/pkgconfig:$PKG_CONFIG_PATH export PKG_CONFIG_PATH LD_LIBRARY_PATH=$HOME/local/opencvlibrary/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH
最後に、シェルを再起動するか
$ source ~/.zshrc
で設定ファイルを再読込みすれば完了です。
5. 動作確認
OpenCVのサンプルコードの find_obj.cpp で動作確認をしてみます。
$ cd OpenCV-2.3.1/samples/c/ $ g++ find_obj.cpp -o find_obj `pkg-config --libs --cflags opencv` $ ./find_obj
のようにコマンドを実行すれば、正常に動くはずです。
まとめ
そんなわけで、OpenCVをホームディレクトリ以下にインストールする手順でした。