cmake complains about incorrect boost version
Description:
Using "find_package(ParaView REQUIRED)" in cmake fails:
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:227 (message):
Could NOT find Boost: Found unsuitable version "1.88.0", but required is
exact version "1.87.0" (found /usr/include, )
Call Stack (most recent call first):
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:589 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake/Modules/FindBoost.cmake:2422 (find_package_handle_standard_args)
/opt/paraview/lib/cmake/paraview/vtk/VTK-vtk-module-find-packages.cmake:403 (find_package)
/opt/paraview/lib/cmake/paraview/vtk/vtk-config.cmake:172 (include)
/opt/paraview/lib/cmake/paraview/paraview-config.cmake:201 (find_package)
CMakeLists.txt:5 (find_package)
Additional info:
Current Boost upstream is 1.88 - I think this may just need a rebuild
- package version(s):
paraview-5.13.3-4 is up to date
boost-1.88.0-2 is up to date
- config and/or log files:
/opt/paraview/lib/cmake/paraview/vtk/VTK-vtk-module-find-packages.cmake:404
find_package(Boost
1.87.0
EXACT
${_vtk_module_find_package_quiet}
${_vtk_module_find_package_required}
COMPONENTS
OPTIONAL_COMPONENTS )
- link to upstream bug report, if any:
Steps to reproduce:
main.cpp
#include <iostream>
#ifdef PARAVIEW_USE_VTKM
#include <vtkm/cont/Initialize.h>
#endif
#include <vtkNew.h>
#include <vtkVersion.h>
int main(int argc, char *argv[])
{
std::cout << "ParaView test application started." << std::endl;
// Display VTK version information
std::cout << "Using VTK version: "
<< vtkVersion::GetVTKMajorVersion() << "."
<< vtkVersion::GetVTKMinorVersion() << "."
<< vtkVersion::GetVTKBuildVersion() << std::endl;
#ifdef PARAVIEW_USE_VTKM
// Initialize VTK-m if ParaView was built with VTK-m support
vtkm::cont::Initialize(argc, argv);
std::cout << "ParaView has VTK-m support enabled" << std::endl;
#else
std::cout << "ParaView does not have VTK-m support enabled" << std::endl;
#endif
std::cout << "ParaView test completed successfully!" << std::endl;
return 0;
}
CMakeLists.txt:
cmake_minimum_required(VERSION 3.51)
project(ParaViewTest)
# Find ParaView package
find_package(ParaView REQUIRED)
# Print ParaView information
message(STATUS "ParaView found: ${ParaView_FOUND}")
message(STATUS "ParaView version: ${ParaView_VERSION}")
message(STATUS "ParaView include dirs: ${ParaView_INCLUDE_DIRS}")
message(STATUS "ParaView libraries: ${ParaView_LIBRARIES}")
# Create a simple executable
add_executable(paraview_test main.cpp)
target_link_libraries(paraview_test PRIVATE ${ParaView_LIBRARIES})
target_include_directories(paraview_test PRIVATE ${ParaView_INCLUDE_DIRS})
build.sh:
#!/bin/bash
# Create build directory
mkdir -p build
cd build
# Run CMake
cmake ..
# If CMake succeeded, try to build
if [ $? -eq 0 ]; then
echo "CMake configuration successful, attempting to build..."
cmake --build .
if [ $? -eq 0 ]; then
echo "Build successful!"
else
echo "Build failed."
fi
else
echo "CMake configuration failed. Check if ParaView is properly installed."
fi