[cmake-developers] [CMake 0015702]: FindBoost ignores Boost_NO_SYSTEM_PATH in debug builds
Mantis Bug Tracker
mantis at public.kitware.com
Mon Aug 17 10:17:07 EDT 2015
The following issue has been SUBMITTED.
======================================================================
http://www.cmake.org/Bug/view.php?id=15702
======================================================================
Reported By: John Harris
Assigned To:
======================================================================
Project: CMake
Issue ID: 15702
Category: Modules
Reproducibility: always
Severity: minor
Priority: normal
Status: new
======================================================================
Date Submitted: 2015-08-17 10:17 EDT
Last Modified: 2015-08-17 10:17 EDT
======================================================================
Summary: FindBoost ignores Boost_NO_SYSTEM_PATH in debug
builds
Description:
It seems the FindBoost module in Clion 1.1's new cmake ignores the
Boost_NO_SYSTEM_PATHS for a Debug build, selecting /usr/lib64 instead of the
correct library path, resulting in link errors.
I had to do this to make the Debug configuration work:
Work around FindBoost locating debug libs in the /usr/lib64 instead of the
custom installation
SET(Boost_LIBRARY_DIR_DEBUG $ENV{HOME}/usr/local/boost/lib CACHE PATH "Forced
boost lib dir for debug" FORCE)
SET(Boost_PROGRAM_OPTIONS_LIBRARY_DEBUG
$ENV{HOME}/usr/local/boost/lib/libboost_program_options-gcc49-mt-1_56.so CACHE
FILEPATH "Forced boost program_options lib dir for debug" FORCE)
Here is the cmake output showing the incorrect Boost_LIBRARY_DIR_DEBUG
[ /home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:549
] _boost_TEST_VERSIONS = 1.56.0;1.56
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:551 ]
Boost_USE_MULTITHREADED = ON
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:553 ]
Boost_USE_STATIC_LIBS =
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:555 ]
Boost_USE_STATIC_RUNTIME =
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:557 ]
Boost_ADDITIONAL_VERSIONS =
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:559 ]
Boost_NO_SYSTEM_PATHS = ON
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:611 ]
Declared as CMake or Environmental Variables:
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:613 ]
BOOST_ROOT = /home/jharris/usr/local/boost
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:615 ]
BOOST_INCLUDEDIR =
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:617 ]
BOOST_LIBRARYDIR =
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:619 ]
_boost_TEST_VERSIONS = 1.56.0;1.56
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:712 ]
location of version.hpp:
/home/jharris/usr/local/boost/include/boost-1_56/boost/version.hpp
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:736 ]
version.hpp reveals boost 1.56.0
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:822 ]
guessed _boost_COMPILER = -gcc49
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:832 ]
_boost_MULTITHREADED = -mt
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:875 ]
_boost_RELEASE_ABI_TAG = -
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:877 ]
_boost_DEBUG_ABI_TAG = -d
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:931 ]
_boost_LIBRARY_SEARCH_DIRS_RELEASE =
/home/jharris/usr/local/boost/lib;NO_DEFAULT_PATH;NO_CMAKE_FIND_ROOT_PATH_boost_LIBRARY_SEARCH_DIRS_DEBUG
= /usr/lib64;NO_DEFAULT_PATH;NO_CMAKE_FIND_ROOT_PATH
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:1043 ]
Searching for PROGRAM_OPTIONS_LIBRARY_RELEASE:
boost_program_options-gcc49-mt-1_56;boost_program_options-gcc49-mt;boost_program_options-mt-1_56;boost_program_options-mt;boost_program_options
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:343 ]
Boost_LIBRARY_DIR_RELEASE = /home/jharris/usr/local/boost/lib
_boost_LIBRARY_SEARCH_DIRS_RELEASE =
/home/jharris/usr/local/boost/lib;NO_DEFAULT_PATH;NO_CMAKE_FIND_ROOT_PATH
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:1085 ]
Searching for PROGRAM_OPTIONS_LIBRARY_DEBUG:
boost_program_options-gcc49-mt-d-1_56;boost_program_options-gcc49-mt-d;boost_program_options-mt-d-1_56;boost_program_options-mt-d;boost_program_options-mt;boost_program_options
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:343 ]
Boost_LIBRARY_DIR_DEBUG = /usr/lib64 _boost_LIBRARY_SEARCH_DIRS_DEBUG =
/usr/lib64;NO_DEFAULT_PATH;NO_CMAKE_FIND_ROOT_PATH
– [
/home/jharris/clion-1.1/bin/cmake/share/cmake-3.3/Modules/FindBoost.cmake:1151 ]
Boost_FOUND = 1
– Boost version: 1.56.0
– Found the following Boost libraries:
Steps to Reproduce:
Try to link a boost program using a custom installation of Boost in your home
directory with a different, incompatible one installed by default in the Linux
OS filesystem.
Additional Information:
This worked fine until I updated to this version with the latest CLion.
======================================================================
Issue History
Date Modified Username Field Change
======================================================================
2015-08-17 10:17 John Harris New Issue
======================================================================
More information about the cmake-developers
mailing list