ParaViewはソースコードからビルドすることも可能である。特に、MPICH2による並列処理、可視化結果のベクターグラフィック形式での出力(EPS、SVGなど※バージョン3.98.0以降では標準機能で出力可能)、MesaやMantaなど外部のレンダリングライブラリとの連携が必要な場合は、ソースコードからのビルドが必須である。ここではLinux環境向けに、代表的なビルドオプションであるPython・MPICH2・GL2PSを有効にしつつ、ParaViewをビルドする手順を紹介する。なお、OSはCentOS 5.3(gccバージョン4.1.2)および6.2(gccバージョン4.4.6)、ParaViewは3.14.1を対象とする。CentOSのインストール設定はSoftware Development Workstationを推奨する。
PythonおよびNumPyのビルド
ParaView 3.14.1はPython(バージョン2系)によるスクリプト処理が可能である。ParaViewで実行されるPythonには、数学関数ライブラリNumPyが組み込まれている必要がある。ParaView自体はPythonなしでもビルド可能であるが、Pythonつきでビルドしておいた方が後々便利である。なお、各Linuxディストリビューション向けに配布されているビルド済みのPythonを利用することも可能であるため、特別な事情がなければこれらをインストールする方が簡便である。
まずCentOS 5系の場合に限り、zlibおよびzlib-develを用意しておく必要がある。これらはパッケージ管理ツールyumでインストールすればよい。
su yum install zlib zlib-devel exit
ソースコードをビルドするためのコンパイラを指定する。Intel Compilerはビルドに失敗する場合が多く、gccを利用した方が安全である。
export CC=gcc export CXX=g++
Pythonのソースコードを入手し、展開する。ここではバージョン2.7.3の場合を例示する。
wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz tar xzvf Python-2.7.3.tgz
Pythonのビルドを開始する前に、設定を行う。ここで、Modules/Setupの463行目のコメントアウトを外しておく必要がある。
cd Python-2.7.3 ./configure --prefix=/usr/local/python-2.7.3 --enable-shared vi Modules/Setup +463 #remove comment-out
Pythonの初期設定が完了したらmakeを行う。make installを実行する場合は管理者権限が必要である。また、Python実行用のシンボリックリンクを作成しておくと便利である。
make #make test su make install ln -s /usr/local/python-2.7.3/bin/python /usr/local/bin/python exit
この時点では、おそらくビルドしたばかりのPythonを実行することができない。共有ライブラリを認識させるため、ldconfigを実行する必要がある。すべての作業は管理者権限で実行する必要がある。
su vi /etc/ld.so.conf #add /usr/local/python-2.7.3/lib /sbin/ldconfig exit
最後に、インストールされたPythonのバージョンを確認しておく。ここでバージョン2.7.3以外が表示された場合は、ldconfigが正しく実行されていない恐れがある。
python -V
続いて、NumPyのソースコードを入手する。NumPyはPythonと別個にアップデートされるため、あらかじめ最新バージョンを確認しておいた方がよい。ここでは、バージョン1.6.1をインストールする場合について紹介する。
wget http://sourceforge.net/projects/numpy/files/NumPy/1.6.1/numpy-1.6.1.tar.gz tar xzvf numpy-1.6.1.tar.gz
ここで/usr/localの直下以外にPythonをインストールしていた場合、環境変数CFLAGSを修正しておく必要がある。
export CFLAGS="-L/usr/local/python-2.7.3/lib"
NumPyの設定およびインストールは、setup.pyで行う。setup.pyを実行する際は、NumPyのインストール対象となるPythonを選択する。
cd numpy-1.6.1 python setup.py build su python setup.py install exit
以上でPythonおよびNumPyのインストールは完了である。Pythonエディタ上で以下のコードを実行し、エラーが表示されなければOKである。
import numpy numpy.show_config()
Qtのビルド
ParaViewのユーザインタフェースはアプリケーションフレームワークQtで構築されている。ParaView 3.14.1はQt4.7以降との相性が悪いため、ここではバージョン4.6.4をビルドする。
CentOS 5系の場合に限り、libXext-develをインストールしておく必要がある。
su yum install libXext-devel exit
Qtのソースコードを入手する。
wget ftp://ftp.trolltech.no/qt/source/qt-everywhere-opensource-src-4.6.4.tar.gz tar xzvf qt-everywhere-opensource-src-4.6.4.tar.gz
Qtのインストール先を指定する。
cd qt-everywhere-opensource-src-4.6.4 ./configure -prefix /usr/local/qt-4.6.4
Qtをmakeする。ここではgmakeを利用する。
gmake su gmake install exit
CMakeのビルド
ParaViewをビルドするために必要な、クロスプラットフォーム向けMakeツールCMakeをビルドする。なお、CMakeはKitwareによって提供されている。
CentOS 5系の場合に限り、ncurses-develをインストールしておく必要がある。これを怠ると、ccmakeがインストールされない。
su yum install ncurses-devel exit
CMakeのソースコードを入手する。CMakeのバージョンは、ダウンロード時点での最新版で支障ないと思われる。ここではバージョン2.8.8の場合を例示する。
wget http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz tar xzvf cmake-2.8.8.tar.gz
CMakeをmakeする。ここではgmakeを利用する。後の作業性向上のため、シンボリックリンクも作成しておく。
cd cmake-2.8.8 ./configure --prefix=/usr/local/cmake-2.8.8 gmake su gmake install ln -s /usr/local/cmake-2.8.8/bin/cmake /usr/local/bin/cmake ln -s /usr/local/cmake-2.8.8/bin/ccmake /usr/local/bin/ccmake exit
MPICH2のビルド
並列計算ライブラリMPICH2をビルドする。まず、ソースコードを入手する。
wget http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/1.4.1p1/mpich2-1.4.1p1.tar.gz tar xzvf mpich2-1.4.1p1.tar.gz
MPICH2をmakeする。
./configure --enable-shared --prefix=/usr/local/mpich2-141p1 make su make install exit
ParaViewのビルド
ParaView本体をビルドする。
CentOS 5系の場合に限り、事前に必要なライブラリをインストールしておく。
su yum install dbus-devel glib2-devel gstreamer-devel gstreamer-plugins-base-devel gtk2-devel libXt-devel exit
ParaViewのソースコードを入手する。
wget http://www.paraview.org/files/v3.14/ParaView-3.14.1-Source.tar.gz tar xzvf ParaView-3.14.1-Source.tar.gz
CMakeは実行ディレクトリにインストールファイルを展開するので、作業ディレクトリを用意しておく。
mkdir ParaView-bin cd ParaView-bin
ccmakeを実行する。ccmakeは、Makefileの生成ツールCMakeの設定を行うためのCUIツールである。
ccmake ../ParaView-3.14.1-Source
キーボードのcキーを押してConfigureを実行する。
キーボードの上下キーで変更したい項目を選択し、Enterキーを押すと設定が変更できる。
また、以下の設定は通常モードで表示されない項目が多いため、tキーを押してアドバンストモードに変更しておく。
まず表1に示す通り、ParaViewのインストールディレクトリを決定し、PythonおよびMPICH2を有効にする。
オプション | 値 |
---|---|
CMAKE_INSTALL_PREFIX | /usr/local/paraview-3.14.1 |
PARAVIEW_ENABLE_PYTHON | ON |
PARAVIEW_USE_MPI | ON |
ここで一旦キーボードのcキーを押し、configureを実行する。BUILD_SHARED_LIBSオプションが自動的にONになったことを確認しておくこと。
続いて表2に示す通り、MPICH2など残りの設定を行う。
オプション | 値 |
---|---|
MPIEXEC | /usr/local/mpich2-141/bin/mpiexec |
MPI_CXX_COMPILER | /usr/local/mpich2-141/bin/mpicxx |
MPI_CXX_LIBRARIES | /usr/local/mpich2-141/lib/libmpichcxx.so;/usr/local/mpich2-141/lib/libmpich.so;/usr/local/mpich2-141/lib/libopa.so;/usr/local/mpich2-141/lib/libmpl.so;/usr/lib64/librt.so;/usr/lib64/libpthread.so |
MPI_CXX_LINK_FLAGS | -Wl,-rpath -Wl,/usr/local/mpich2-141/lib |
MPI_C_COMPILER | /usr/local/mpich2-141/bin/mpicc |
MPI_C_LIBRARIES | /usr/local/mpich2-141/lib/libmpich.so;/usr/local/mpich2-141/lib/libopa.so;/usr/local/mpich2-141/lib/libmpl.so;/usr/lib64/librt.so;/usr/lib64/libpthread.so |
MPI_C_LINK_FLAGS | -Wl,-rpath -Wl,/usr/local/mpich2-141/lib |
MPI_EXTRA_LIBRARIES | /usr/local/mpich2-141/lib/libmpich.so;/usr/local/mpich2-141/lib/libopa.so;/usr/local/mpich2-141/lib/libmpl.so;/usr/lib64/librt.so;/usr/lib64/libpthread.so |
MPI_LIBRARY | /usr/local/mpich2-141/lib/libmpichcxx.so |
VTK_USE_GL2PS | ON |
PYTHON_INCLUDE_DIR | /usr/local/python-2.7.3/include/python2.7 |
PYTHON_LIBRARY | /usr/local/python-2.7.3/lib/libpython2.7.so |
QT_QMAKE_EXECUTABLE | /usr/local/bin/qmake |
QT_QTWEBKIT_INCLUDE_DIR | /usr/local/include/QtWebKit |
QT_QTWEBKIT_LIBRARY_RELEASE | /usr/local/lib/libQtWebKit.so |
VTK_MPIRUN_EXE | /usr/local/mpich2-1.4.1p1/bin/mpirun |
再びキーボードのcキーを押し、configureを実行する。MPIの設定が正しく行われていれば、MPI_CXX_INCLUDE_PATHおよびMPI_C_INCLUDE_PATHが自動的に設定される。
すべての設定が正しく完了したことを確認の上、キーボードのgキーを押す。Makefileが生成され、ccmakeが終了する。
ParaViewをmakeする。3GHz程度のCPUで数時間要するので、気長に待つ。
make su make install
このままではParaViewが共有ライブラリを参照できないので、ldconfigを実行する。
vi /etc/ld.so.conf #add /usr/local/qt-4.6.4/lib /usr/local/mpich2-1.4.1p1/lib /sbin/ldconfig exit
以上でParaViewのビルドは完了である。
コメントを残す