@@ -35,18 +35,18 @@ Reference Platform, but for those that do, their specified versions are
3535
3636@section depComponents OpenVDB Components
3737
38- Component | Requirements | Optional
39- ----------------------- | ------------------------------------------------- | --------
40- OpenVDB Core Library | CMake, C++17 compiler, TBB::tbb, Boost::headers | Blosc, ZLib, Log4cplus, IlmBase::Half, Boost::iostream
41- OpenVDB Print | Core Library dependencies | -
42- OpenVDB LOD | Core Library dependencies | -
43- OpenVDB Render | Core Library dependencies | OpenEXR, IlmBase, libpng
44- OpenVDB View | Core Library dependencies, OpenGL, GLFW3, GLEW* | -
45- OpenVDB Python | Core Library dependencies, Python, Boost::python | Boost::numpy, NumPy
46- OpenVDB AX | Core Library dependencies, LLVM | Bison, Flex
47- NanoVDB | - | Core Library, CUDA, TBB, Blosc, ZLib
48- OpenVDB UnitTests | Core Library dependencies, GoogleTest | CppUnit**
49- OpenVDB Documentation | Doxygen | -
38+ Component | Requirements | Optional
39+ ----------------------- | ----------------------------------------------- | --------
40+ OpenVDB Core Library | CMake, C++17 compiler, TBB::tbb, Boost::headers | Blosc, ZLib, Log4cplus, IlmBase::Half, Boost::iostream
41+ OpenVDB Print | Core Library dependencies | -
42+ OpenVDB LOD | Core Library dependencies | -
43+ OpenVDB Render | Core Library dependencies | OpenEXR, IlmBase, libpng
44+ OpenVDB View | Core Library dependencies, OpenGL, GLFW3, GLEW* | -
45+ OpenVDB Python | Core Library dependencies, Python, PyBind11 | NumPy
46+ OpenVDB AX | Core Library dependencies, LLVM | Bison, Flex
47+ NanoVDB | - | Core Library, CUDA, TBB, Blosc, ZLib
48+ OpenVDB UnitTests | Core Library dependencies, GoogleTest | CppUnit**
49+ OpenVDB Documentation | Doxygen | -
5050
5151 - @b * GLEW is only required for building the vdb_view binary on Windows.
5252 - @b ** CppUnit is only required for building the AX unit tests.
@@ -62,15 +62,16 @@ GCC | 9.3.1 | 9.3.1 | C++ 17 Compiler: The GNU Compiler Colle
6262Clang | 5.0 | Latest | C++ 17 Compiler: A C language family frontend for LLVM | Y | Y | https://clang.llvm.org
6363Intel ICC | 19 | Latest | C++ 17 Compiler: Intels C++ Compiler | Y | Y | https://software.intel.com/en-us/c-compilers
6464MSVC | 19.28 | Latest | C++ 17 Compiler: Microsoft Visual C++ Compiler | Y | Y | https://visualstudio.microsoft.com/vs
65- IlmBase | 2.4 | 3.1 | Used half precision floating points and EXR serialization support | Y | Y | http://www.openexr.com
65+ IlmBase | 2.4 | Removed | Used half precision floating points and EXR serialization support | Y | Y | http://www.openexr.com
6666OpenEXR | 2.4 | 3.1 | EXR serialization support | Y | Y | http://www.openexr.com
6767TBB | 2020.2 | 2020.3 | Threading Building Blocks - template library for task parallelism | Y | Y | https://www.threadingbuildingblocks.org
6868ZLIB | 1.2.7 | Latest | Compression library for disk serialization compression | Y | Y | https://www.zlib.net
69- Boost | 1.73 | 1.76 | Components: headers, iostreams, python, numpy | Y | Y | https://www.boost.org
69+ Boost | 1.73 | 1.76 | Components: headers, iostreams | Y | Y | https://www.boost.org
7070LLVM | 10.0.0 | 10.0.0* | Target-independent code generation | Y | Y | https://llvm.org/
7171Bison | 3.0.0 | 3.7.0 | General-purpose parser generator | Y | Y | https://www.gnu.org/software/gcc
7272Flex | 2.6.0 | 2.6.4 | Fast lexical analyzer generator | Y | Y | https://github.com/westes/flex
73- Python | 3.7 | 3.7 | The python interpreter and libraries for C++/python bindings | Y | Y | https://www.python.org
73+ Python | 3.7 | 3.7 | The python interpreter and libraries | Y | Y | https://www.python.org
74+ PyBind11 | 2.9.1 | Latest | C++/python bindings | Y | Y | https://pybind11.readthedocs.io
7475NumPy | 1.19.0 | 1.20.0 | Scientific computing with Python | Y | Y | http://www.numpy.org
7576GoogleTest | 1.10 | Latest | A unit testing framework module for C++ | Y | Y | https://github.com/google/googletest
7677CppUnit | 1.10 | Latest | A unit testing framework module for C++ | N | Y | https://freedesktop.org/wiki/Software/cppunit
@@ -95,14 +96,6 @@ Doxygen | 1.8.8 | 1.8.11 | Documentation generation from C++
9596 - @b GLFW: Crash with GLFW 3.2.1 when used with EGL on Linux. OpenVDB View may
9697 segfault on closure. Fixed in GLFW 3.3
9798
98- - @b Boost 1.66/1.67 + @b Python3 + @b NumPy: Known issue on UNIX systems
99- which can cause the below python runtime error. Our minimum supported boost
100- version now superseeds this issue:
101-
102- @code{.sh}
103- RuntimeError: FATAL: module compiled as little endian, but detected different endianness at runtime.
104- @endcode
105-
10699 - @b Blosc: OpenVDB has historically used an old version of blosc (1.5.0) to
107100 serialize .vdb files. OpenVDB has recently moved to a new blosc version minimum
108101 of 1.17.0. We have tested a range of blosc versions and found that the following
@@ -127,6 +120,23 @@ required OpenVDB dependencies.
127120
128121@subsection depUsingAptGet Using UNIX apt-get
129122
123+ You can use apt to automatically install required packages. Note that different
124+ Ubuntu distributions will have different versions available. You can use apt
125+ pinning to request newer versions of specific package from later distributions
126+ if the required version isn't available by default (see
127+ [man apt_preferences](https://linux.die.net/man/5/apt_preferences)). For
128+ example, the below settings will request TBB specifically from Ubuntu 22.04
129+ (Jammy).
130+
131+ @code{.sh}
132+ Package: libtbb-dev
133+ Pin: release n=jammy
134+ Pin-Priority: 990
135+ @endcode
136+
137+ Alternatively you can install any missing dependencies manually or through
138+ other package managers.
139+
130140@b Note:CppUnit is unavailable using apt-get. See the other package manager
131141methods or the [manual installation](@ref depManInstall) options.
132142
@@ -141,8 +151,7 @@ apt-get install libblosc-dev # Blosc
141151# AX
142152apt-get install llvm-10-dev # LLVM
143153# Python
144- apt-get install libboost-python-dev # Boost::python
145- apt-get install libboost-numpy-dev # Boost::numpy
154+ apt-get install pybind11-dev # Python
146155apt-get install python-dev # Python
147156apt-get install python-numpy # NumPy
148157# Optional
@@ -175,7 +184,7 @@ brew install c-blosc # blosc
175184# AX
176185brew install llvm # LLVM
177186# Python
178- brew install boost-python # Boost-python
187+ brew install pybind11 # PyBind11
179188brew install python # Python
180189brew install numpy # NumPy
181190# Unit Tests
0 commit comments