環境
Ubuntu 18.04
OpenVDBの対象バージョン 6.1, 6.0, 5.2
OpenVDBは以下からクローンできます
https://github.com/AcademySoftwareFoundation/openvdb
この中にはopenvdb, openvdb_houdini, openvdb_mayaがありますが,この記事ではHoudiniをインストールせずにビルドを行うので,openvdbディレクトリ内のファイルのみを使います
また,Pythonモジュールのビルドは検証していないのでその点は各自でお願いします
ライブラリのインストール
INSTALLファイルに書いてある通り,必要なライブラリをインストールします
sudo apt install libboost-all-dev
sudo apt install libtbb-dev
sudo apt install libilmbase-dev
sudo apt install libopenexr-dev
sudo apt install zlib1g-dev
sudo apt install libblosc-dev
sudo apt install libjemalloc-dev
Boostはlibboost-iostreams-dev
, libboost-system-dev
のみインストールすれば良いらしいですが,これについては自分はBoost関連を全ていれた状態(libboost-all-dev
)でしか試したことがないので何とも言えません
あと,これは任意ですが,vdb_viewのビルドをするのであればGLFWのインストールが必要になります
Makefileの書き換え
Makefileでインストール先や先ほどインストールした各ライブラリのパスを指定します
一応例として載せておきますが,この辺はMakefileの指示に従って各自でお願いします
まずINSTALL_DIR
のデフォルトが/tmp/OpenVDB
になっているので,/usr/local
などにします
また,*_INCL_DIR
, *_LIB_DIR
も適宜変えます
今回使わないLOG4CPLUS_INCL_DIR
, GLFW_INCL_DIR
, PYTHON_VERSION
, NUMPY_INCL_DIR
, EPYDOC
, DOXYGEN
はブランクにします
もしGLFWなどを入れている場合は対応するパスを指定してください
ここからが重要
このままビルドしようとすると
stdlib.h: No such file or directory
でエラーがでます
対処法はMakefileの-isystem
を全て-I
に置換します
これでビルドが通ります
あと,ビルド時の出力がうるさいので
make -s -j4
とオプションを付けると良いです
ついでに,OpenVDBを用いたプログラムをビルドするときは
-lHalf -ltbb -lopenvdb
とリンクさせます
参考