VTKのビルドとインストール

やりたいこと

CentOS 6.2の64ビット版において、PythonのVTKバインディングを使いたい。つまり、コマンドラインでの操作

$ python
Python 2.6.6 (r266:84292, Jul 10 2013, 22:48:45) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import vtk
>>>

が、エラーなく完了できるようにする。現状では、”そんなライブラリはない”エラーとなるので、VTKのインストールから始めた。

cmakeのインストール

VTKをインストールするためには、cmakeのバージョン2.8以上が必要であるのでcmakeのインストールから始めなければいけない。ここではcmakeとccmakeを作成することが目標。ccmakeは、cmakeのGUI版でVTKをビルドするときに使う。

ソースをダウンロードして展開する。ビルドとインストール作業は最初からrootで行った。最初にbootstrapする。

# cd cmake-2.8.11.2
# ./bootstrap
...(中略)
CMake has bootstrapped. Now run gmake.

メッセージに従って次はgmakeコマンドを実行する。gmakeコマンドは、cmake用のmakefileを作成する。
問題なければそのまま続けてmakeコマンドを実行。インストールまで行う。

# gmake ; make ; make install

正しくインストールされていることを確認する。

# which cmake
/usr/local/bin/cmake
# which ccmake
/usr/local/bin/ccmake
# cmake --version
cmake version 2.8.11.2

VTKのビルド

cmakeを使う準備ができたので、VTKをインストールする。
ccmakeを使わなくてcmakeだけでもVTK自体のビルドはできるが、Pythonラッパーをビルドしてくれない。オプション指定でできるのかもしれないが、その方法が分からなかったのでここでは素直にccmakeを使ってその指定を行う。

ソースをダウンロードして展開する。ビルドとインストール作業は最初からrootで行った。まずはccmakeコマンドを実行する。

# cd VTK6.0.0
# ccmake .

すると、ccmakeコマンドを実行したターミナルが下のようなGUI画面になる。

この画面で何をしたいか、の指定を行う。ここではVTKをビルドするだけでなく、Pythonで使いたい。[VTK_WRAP_PYTHON]が[OFF]になっているのを[ON]にすることにより、Python向けVTKバインディングまで作成してくれる。
カーソルで[OFF]のところへ移動して、Enterキーを押すと[ON]に変わる。この状態になると設定完了。

[c]キーを押してconfigureを実行する。1、2分で処理が完了するので、次に[g]キーを押してmakefileの生成を行う。

処理が終わるとGUI画面が閉じられる。これでmakeができる状態になった。

# make

コンパイルを実行する。これには完了までに10数分の時間を要する。

環境変数の設定

最後に環境変数PYTHONPATHの設定を行う。
設定ファイル.bash_profileの中に、

export PYTHONPATH=$PYTHONPATH:$HOME/VTK6.0.0/Wrapping/Python
export PYTHONPATH=$PYTHONPATH:$HOME/VTK6.0.0/lib

の記述を加える(VTK6.0.0ディレクトリがユーザーホームにある場合の記述例)。これでPythonからVTKモジュールが使えるようになる。

$ python
Python 2.6.6 (r266:84292, Jul 10 2013, 22:48:45) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import vtk
>>>

問題なし。