以前 Visualization Toolkit を Windows 上でビルドしたときのメモをここに書きましたが、今回は Ubuntu 18.04 のサーバーに ssh 接続した CUI しか使えないという環境の中でビルドしました。
この記事と同じ問題にぶつかる方なら ssh 接続くらい触っていると思いますので、基本的なコマンドの説明は省きます。それ以外にも、今回は細かい説明をあまり加えていませんので、コマンドの使い方は Google に聞いてください。
使ったもの
- Ubuntu 18.04 (Google compute engine 上のものへ putty を使って ssh 接続)
- cmake 3.10.2
- ccmake 3.10.2
- gcc, g++ 7.3.0
- git 2.17.1
ccmake は sudo apt install cmake-curses-gui
でインストールできます。
他は名前そのままで apt が探してくれます。
ソースコードのダウンロード
VTK の wiki によると git でソースコードがダウンロードできるそうですので、git でダウンロードします。なお、git リポジトリはここから覗いてみてください。(欲しいバージョンのコミットのハッシュ値を見るのに使います。)
適当にフォルダを作って(私は ~/programs/VTK にしました)、そのフォルダに移動した後に次を実行します。
git clone https://gitlab.kitware.com/vtk/vtk.git src
これで src フォルダにソースコード(とその改変履歴)がダウンロードされました。
次に、欲しいバージョンへ git を使って移動します。ここでは、version 8.2.0 が欲しかったため、src フォルダの中に入って
git checkout e3de2c35
を実行しました。これで、欲しいバージョンのソースコードを手に入れることができました。
ビルド
ソースコードが手に入りましたので、ビルドに移ります。
まず、src フォルダの隣に build フォルダを作り、その中に移動します。
そこで cmake ../src
を実行してしばらく待ちます。(少し重めの処理がしばらく続きます。)
しばらく待ち、処理が終わったら、ccmake ../src
を実行します(c は 2 つです)。
下の図のように設定項目名(左)と設定内容(右)が出ます。(青く塗りつぶしている箇所にはユーザー名が入ります。)
この画面でカーソルを上下のキーで動かしては Enter を押して変更します。
私の場合は図のように BUILD_TESTING, CMAKE_BUILD_TYPE, CMAKE_INSTALL_PREFIX を変更しました。
あとは、画面下の使い方にある通り、c を押してもう一回 cmake の処理を回して、オプションが新たに出現したらそれを直して…の繰り返しのあと、q を押して終了します。
ここまで来ると、build フォルダにライブラリのビルドをするための Makefile ができています。make コマンドを走らせましょう。(環境に余裕のある方は並列ビルドのオプションを付けてもいいかもしれません。)
※ make には非常に時間がかかります。途中で一旦接続を切りたい方は screen コマンドとかを使って make を放置できるようにする準備をしてください。
make コマンドが終わったら、インストールのため make install
を実行します。(こちらは並列化しなくてもすぐ終わります。)
最後に、環境変数の設定をします。.bashrc に
export VTK_DIR=~/programs/VTK/install
export LD_LIBRARY_PATH=~/programs/VTK/install/lib:$LD_LIBRARY_PATH
のようにインストール先(CMake が VTK を探すときなどに使う)を VTK_DIR 変数に代入し、インストール先の lib フォルダを LD_LIBRARY_PATH (ライブラリを探すときに見るフォルダ)に追加します。
これでインストールまで終わりです。何かテスト用のプログラムを実行してみたりして動作するかどうか確認してみてください。