Hi,
Currently the boost version is: 1.80.0.2.
And in the file: /usr/lib/cmake/vtk/VTK-vtk-module-find-packages.cmake
we find this line:
find_package(Boost
1.79.0
EXACT
...
For some reason this seem to result in build errors for some libraries, for example pcl
(GitHub - PointCloudLibrary/pcl: Point Cloud Library (PCL)). It links against boost-1.80
and fails since 1.79
is expected. I think the issue is that since pcl
depends on both boost
and vtk
we get a conflict with the system version and the vtk
find_package
. It might very well be a pcl
issue, but looking at the Arch package (Arch Linux - vtk 9.1.0-21 (x86_64)), the version for boost
is indeed 1.80
under find_package
.
Edit (build log):
...
...
-- Could NOT find Boost: Found unsuitable version "1.80.0", but required is exact version "1.79.0" (found /usr/include, )
-- Could not find the VTK package due to a missing dependency: Boost
...
...
CMake Error at /usr/lib64/cmake/Boost-1.80.0/BoostConfig.cmake:141 (find_package):
Found package configuration file:
/usr/lib64/cmake/boost_iostreams-1.80.0/boost_iostreams-config.cmake
but it set boost_iostreams_FOUND to FALSE so package "boost_iostreams" is
considered to be NOT FOUND. Reason given by package:
No suitable build variant has been found.
The following variants have been tried and rejected:
* libboost_iostreams.so.1.80.0 (release runtime,
Boost_USE_DEBUG_RUNTIME=TRUE)
* libboost_iostreams.a (static, Boost_USE_STATIC_LIBS=OFF)
Call Stack (most recent call first):
/usr/lib64/cmake/Boost-1.80.0/BoostConfig.cmake:262 (boost_find_component)
/usr/share/cmake/Modules/FindBoost.cmake:594 (find_package)
/usr/share/cmake/Modules/FindOpenVDB.cmake:499 (find_package)
/usr/lib64/cmake/vtk/VTK-vtk-module-find-packages.cmake:650 (find_package)
/usr/lib64/cmake/vtk/vtk-config.cmake:150 (include)
cmake/pcl_find_vtk.cmake:31 (find_package)
CMakeLists.txt:401 (include)
Best,
Dan