MantisBT - CMake
View Issue Details
0015717CMakeModulespublic2015-08-28 12:002016-06-10 14:31
Orion Poplawski 
Kitware Robot 
normalminoralways
closedmoved 
LinuxFedora22
CMake 3.3.1 
 
0015717: If first FindBoost component is mpi, it cannot find other components
FindBoost assumes that the first component found is where all components will be found:

macro(_Boost_FIND_LIBRARY var build_type)

  find_library(${var} ${ARGN})

  if(${var})
    # If this is the first library found then save Boost_LIBRARY_DIR_[RELEASE,DEBUG].
    if(NOT Boost_LIBRARY_DIR_${build_type})
      get_filename_component(_dir "${${var}}" PATH)
      set(Boost_LIBRARY_DIR_${build_type} "${_dir}" CACHE PATH "Boost library directory ${build_type}" FORCE)
    endif()

This breaks on Fedora if the first component is mpi, mpi_python, or graph_parallel because these are located in the mpi specific location (e.g. /usr/lib64/mpich/lib) while the others are in the regular location.

See also https://bugzilla.redhat.com/show_bug.cgi?id=1257899 [^]
On Fedora, install boost-mpich-devel and mpich-devel

module load mpi/mpich-x86_64

CMakeLists.txt:
cmake_minimum_required(VERSION 3.0)
set(BOOST_MIN_VERSION 1.41)
FIND_PACKAGE(MPI)
FIND_PACKAGE(Boost ${BOOST_MIN_VERSION} REQUIRED COMPONENTS mpi serialization)
No tags attached.
Issue History
2015-08-28 12:00Orion PoplawskiNew Issue
2016-06-10 14:29Kitware RobotNote Added: 0042830
2016-06-10 14:29Kitware RobotStatusnew => resolved
2016-06-10 14:29Kitware RobotResolutionopen => moved
2016-06-10 14:29Kitware RobotAssigned To => Kitware Robot
2016-06-10 14:31Kitware RobotStatusresolved => closed

Notes
(0042830)
Kitware Robot   
2016-06-10 14:29   
Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page.