Skip to content

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
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information