MantisBT - CMake
View Issue Details
0014235CMakeCMakepublic2013-06-20 05:512014-06-02 08:37
l_r_mcglashan 
Brad King 
normalfeaturealways
closedfixed 
LinuxFedora 64All
CMake-2-8 
CMake 2.8.12CMake 2.8.12 
0014235: FindBoost should clarify when "static" libraries are not found
cmake cannot find my boost libraries. They are in /usr/lib64 on Fedora 17/18/19. I executed this:

cmake .. -DBOOST_INCLUDEDIR=/usr/include/boost -DBOOST_LIBRARYDIR=/usr/lib64 -DBoost_DEBUG=TRUE

and get:

-- The CXX compiler identification is GNU 4.8.1
-- Check for working CXX compiler: /home/ren2/laurence/OpenFOAM/ThirdParty-dev/platforms/linux64/gcc-4.8.1/bin/c++
-- Check for working CXX compiler: /home/ren2/laurence/OpenFOAM/ThirdParty-dev/platforms/linux64/gcc-4.8.1/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- The C compiler identification is GNU 4.8.1
-- Check for working C compiler: /home/ren2/laurence/OpenFOAM/ThirdParty-dev/platforms/linux64/gcc-4.8.1/bin/gcc
-- Check for working C compiler: /home/ren2/laurence/OpenFOAM/ThirdParty-dev/platforms/linux64/gcc-4.8.1/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- C++ compiler: /home/ren2/laurence/OpenFOAM/ThirdParty-dev/platforms/linux64/gcc-4.8.1/bin/c++
-- C compiler: /home/ren2/laurence/OpenFOAM/ThirdParty-dev/platforms/linux64/gcc-4.8.1/bin/gcc
-- [ /usr/share/cmake/Modules/FindBoost.cmake:474 ] _boost_TEST_VERSIONS = 1.56.0;1.56;1.55.0;1.55;1.54.0;1.54;1.53.0;1.53;1.52.0;1.52;1.51.0;1.51;1.50.0;1.50;1.49.0;1.49;1.48.0;1.48;1.47.0;1.47;1.46.1;1.46.0;1.46;1.45.0;1.45
-- [ /usr/share/cmake/Modules/FindBoost.cmake:476 ] Boost_USE_MULTITHREADED = ON
-- [ /usr/share/cmake/Modules/FindBoost.cmake:478 ] Boost_USE_STATIC_LIBS = ON
-- [ /usr/share/cmake/Modules/FindBoost.cmake:480 ] Boost_USE_STATIC_RUNTIME =
-- [ /usr/share/cmake/Modules/FindBoost.cmake:482 ] Boost_ADDITIONAL_VERSIONS =
-- [ /usr/share/cmake/Modules/FindBoost.cmake:484 ] Boost_NO_SYSTEM_PATHS =
-- [ /usr/share/cmake/Modules/FindBoost.cmake:536 ] Declared as CMake or Environmental Variables:
-- [ /usr/share/cmake/Modules/FindBoost.cmake:538 ] BOOST_ROOT =
-- [ /usr/share/cmake/Modules/FindBoost.cmake:540 ] BOOST_INCLUDEDIR = /usr/include/boost
-- [ /usr/share/cmake/Modules/FindBoost.cmake:542 ] BOOST_LIBRARYDIR = /usr/lib64
-- [ /usr/share/cmake/Modules/FindBoost.cmake:544 ] _boost_TEST_VERSIONS = 1.56.0;1.56;1.55.0;1.55;1.54.0;1.54;1.53.0;1.53;1.52.0;1.52;1.51.0;1.51;1.50.0;1.50;1.49.0;1.49;1.48.0;1.48;1.47.0;1.47;1.46.1;1.46.0;1.46;1.45.0;1.45
-- [ /usr/share/cmake/Modules/FindBoost.cmake:613 ] Include debugging info:
-- [ /usr/share/cmake/Modules/FindBoost.cmake:615 ] _boost_INCLUDE_SEARCH_DIRS = /usr/include/boost;PATHS;C:/boost/include;C:/boost;/sw/local/include
-- [ /usr/share/cmake/Modules/FindBoost.cmake:617 ] _boost_PATH_SUFFIXES = boost-1_56_0;boost_1_56_0;boost/boost-1_56_0;boost/boost_1_56_0;boost-1_56;boost_1_56;boost/boost-1_56;boost/boost_1_56;boost-1_55_0;boost_1_55_0;boost/boost-1_55_0;boost/boost_1_55_0;boost-1_55;boost_1_55;boost/boost-1_55;boost/boost_1_55;boost-1_54_0;boost_1_54_0;boost/boost-1_54_0;boost/boost_1_54_0;boost-1_54;boost_1_54;boost/boost-1_54;boost/boost_1_54;boost-1_53_0;boost_1_53_0;boost/boost-1_53_0;boost/boost_1_53_0;boost-1_53;boost_1_53;boost/boost-1_53;boost/boost_1_53;boost-1_52_0;boost_1_52_0;boost/boost-1_52_0;boost/boost_1_52_0;boost-1_52;boost_1_52;boost/boost-1_52;boost/boost_1_52;boost-1_51_0;boost_1_51_0;boost/boost-1_51_0;boost/boost_1_51_0;boost-1_51;boost_1_51;boost/boost-1_51;boost/boost_1_51;boost-1_50_0;boost_1_50_0;boost/boost-1_50_0;boost/boost_1_50_0;boost-1_50;boost_1_50;boost/boost-1_50;boost/boost_1_50;boost-1_49_0;boost_1_49_0;boost/boost-1_49_0;boost/boost_1_49_0;boost-1_49;boost_1_49;boost/boost-1_49;boost/boost_1_49;boost-1_48_0;boost_1_48_0;boost/boost-1_48_0;boost/boost_1_48_0;boost-1_48;boost_1_48;boost/boost-1_48;boost/boost_1_48;boost-1_47_0;boost_1_47_0;boost/boost-1_47_0;boost/boost_1_47_0;boost-1_47;boost_1_47;boost/boost-1_47;boost/boost_1_47;boost-1_46_1;boost_1_46_1;boost/boost-1_46_1;boost/boost_1_46_1;boost-1_46_0;boost_1_46_0;boost/boost-1_46_0;boost/boost_1_46_0;boost-1_46;boost_1_46;boost/boost-1_46;boost/boost_1_46;boost-1_45_0;boost_1_45_0;boost/boost-1_45_0;boost/boost_1_45_0;boost-1_45;boost_1_45;boost/boost-1_45;boost/boost_1_45
-- [ /usr/share/cmake/Modules/FindBoost.cmake:637 ] location of version.hpp: /usr/include/boost/version.hpp
-- [ /usr/share/cmake/Modules/FindBoost.cmake:661 ] version.hpp reveals boost 1.48.0
-- [ /usr/share/cmake/Modules/FindBoost.cmake:737 ] guessed _boost_COMPILER = -gcc48
-- [ /usr/share/cmake/Modules/FindBoost.cmake:747 ] _boost_MULTITHREADED = -mt
-- [ /usr/share/cmake/Modules/FindBoost.cmake:790 ] _boost_RELEASE_ABI_TAG = -
-- [ /usr/share/cmake/Modules/FindBoost.cmake:792 ] _boost_DEBUG_ABI_TAG = -d
-- [ /usr/share/cmake/Modules/FindBoost.cmake:840 ] _boost_LIBRARY_SEARCH_DIRS = /usr/lib64;/usr/include/lib;/usr/include/../lib;/usr/include/stage/lib;PATHS;C:/boost/lib;C:/boost;/sw/local/lib
-- [ /usr/share/cmake/Modules/FindBoost.cmake:928 ] Searching for SYSTEM_LIBRARY_RELEASE: boost_system-gcc48-mt-1_48;boost_system-gcc48-mt;boost_system-mt-1_48;boost_system-mt;boost_system
-- [ /usr/share/cmake/Modules/FindBoost.cmake:960 ] Searching for SYSTEM_LIBRARY_DEBUG: boost_system-gcc48-mt-d-1_48;boost_system-gcc48-mt-d;boost_system-mt-d-1_48;boost_system-mt-d;boost_system-mt;boost_system
-- [ /usr/share/cmake/Modules/FindBoost.cmake:928 ] Searching for DATE_TIME_LIBRARY_RELEASE: boost_date_time-gcc48-mt-1_48;boost_date_time-gcc48-mt;boost_date_time-mt-1_48;boost_date_time-mt;boost_date_time
-- [ /usr/share/cmake/Modules/FindBoost.cmake:960 ] Searching for DATE_TIME_LIBRARY_DEBUG: boost_date_time-gcc48-mt-d-1_48;boost_date_time-gcc48-mt-d;boost_date_time-mt-d-1_48;boost_date_time-mt-d;boost_date_time-mt;boost_date_time
-- [ /usr/share/cmake/Modules/FindBoost.cmake:928 ] Searching for FILESYSTEM_LIBRARY_RELEASE: boost_filesystem-gcc48-mt-1_48;boost_filesystem-gcc48-mt;boost_filesystem-mt-1_48;boost_filesystem-mt;boost_filesystem
-- [ /usr/share/cmake/Modules/FindBoost.cmake:960 ] Searching for FILESYSTEM_LIBRARY_DEBUG: boost_filesystem-gcc48-mt-d-1_48;boost_filesystem-gcc48-mt-d;boost_filesystem-mt-d-1_48;boost_filesystem-mt-d;boost_filesystem-mt;boost_filesystem
-- [ /usr/share/cmake/Modules/FindBoost.cmake:928 ] Searching for PROGRAM_OPTIONS_LIBRARY_RELEASE: boost_program_options-gcc48-mt-1_48;boost_program_options-gcc48-mt;boost_program_options-mt-1_48;boost_program_options-mt;boost_program_options
-- [ /usr/share/cmake/Modules/FindBoost.cmake:960 ] Searching for PROGRAM_OPTIONS_LIBRARY_DEBUG: boost_program_options-gcc48-mt-d-1_48;boost_program_options-gcc48-mt-d;boost_program_options-mt-d-1_48;boost_program_options-mt-d;boost_program_options-mt;boost_program_options
-- [ /usr/share/cmake/Modules/FindBoost.cmake:928 ] Searching for REGEX_LIBRARY_RELEASE: boost_regex-gcc48-mt-1_48;boost_regex-gcc48-mt;boost_regex-mt-1_48;boost_regex-mt;boost_regex
-- [ /usr/share/cmake/Modules/FindBoost.cmake:960 ] Searching for REGEX_LIBRARY_DEBUG: boost_regex-gcc48-mt-d-1_48;boost_regex-gcc48-mt-d;boost_regex-mt-d-1_48;boost_regex-mt-d;boost_regex-mt;boost_regex
-- [ /usr/share/cmake/Modules/FindBoost.cmake:928 ] Searching for SIGNALS_LIBRARY_RELEASE: boost_signals-gcc48-mt-1_48;boost_signals-gcc48-mt;boost_signals-mt-1_48;boost_signals-mt;boost_signals
-- [ /usr/share/cmake/Modules/FindBoost.cmake:960 ] Searching for SIGNALS_LIBRARY_DEBUG: boost_signals-gcc48-mt-d-1_48;boost_signals-gcc48-mt-d;boost_signals-mt-d-1_48;boost_signals-mt-d;boost_signals-mt;boost_signals
-- [ /usr/share/cmake/Modules/FindBoost.cmake:928 ] Searching for SERIALIZATION_LIBRARY_RELEASE: boost_serialization-gcc48-mt-1_48;boost_serialization-gcc48-mt;boost_serialization-mt-1_48;boost_serialization-mt;boost_serialization
-- [ /usr/share/cmake/Modules/FindBoost.cmake:960 ] Searching for SERIALIZATION_LIBRARY_DEBUG: boost_serialization-gcc48-mt-d-1_48;boost_serialization-gcc48-mt-d;boost_serialization-mt-d-1_48;boost_serialization-mt-d;boost_serialization-mt;boost_serialization
-- [ /usr/share/cmake/Modules/FindBoost.cmake:928 ] Searching for THREAD_LIBRARY_RELEASE: boost_thread-gcc48-mt-1_48;boost_thread-gcc48-mt;boost_thread-mt-1_48;boost_thread-mt;boost_thread
-- [ /usr/share/cmake/Modules/FindBoost.cmake:960 ] Searching for THREAD_LIBRARY_DEBUG: boost_thread-gcc48-mt-d-1_48;boost_thread-gcc48-mt-d;boost_thread-mt-d-1_48;boost_thread-mt-d;boost_thread-mt;boost_thread
-- [ /usr/share/cmake/Modules/FindBoost.cmake:928 ] Searching for UNIT_TEST_FRAMEWORK_LIBRARY_RELEASE: boost_unit_test_framework-gcc48-mt-1_48;boost_unit_test_framework-gcc48-mt;boost_unit_test_framework-mt-1_48;boost_unit_test_framework-mt;boost_unit_test_framework
-- [ /usr/share/cmake/Modules/FindBoost.cmake:960 ] Searching for UNIT_TEST_FRAMEWORK_LIBRARY_DEBUG: boost_unit_test_framework-gcc48-mt-d-1_48;boost_unit_test_framework-gcc48-mt-d;boost_unit_test_framework-mt-d-1_48;boost_unit_test_framework-mt-d;boost_unit_test_framework-mt;boost_unit_test_framework
-- [ /usr/share/cmake/Modules/FindBoost.cmake:1007 ] Boost_FOUND = 1
CMake Error at /usr/share/cmake/Modules/FindBoost.cmake:1096 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.48.0

  Boost include path: /usr/include

  The following Boost libraries could not be found:

          boost_system
          boost_date_time
          boost_filesystem
          boost_program_options
          boost_regex
          boost_signals
          boost_serialization
          boost_thread
          boost_unit_test_framework

  No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.
Call Stack (most recent call first):
  CMakeLists.txt:160 (FIND_PACKAGE)


-- HDF5 not found, skip
--
-- Configuring incomplete, errors occurred!
No tags attached.
related to 0013663closed Brad King FindBoost documentation example should clarify it only finds static libraries 
Issue History
2013-06-20 05:51l_r_mcglashanNew Issue
2013-06-20 08:44Brad KingNote Added: 0033343
2013-06-20 09:07l_r_mcglashanNote Added: 0033347
2013-06-20 09:08Brad KingNote Added: 0033348
2013-06-20 09:08Brad KingStatusnew => resolved
2013-06-20 09:08Brad KingResolutionopen => no change required
2013-06-20 09:20l_r_mcglashanNote Added: 0033350
2013-06-20 09:20l_r_mcglashanStatusresolved => feedback
2013-06-20 09:20l_r_mcglashanResolutionno change required => reopened
2013-06-20 17:17Brad KingNote Added: 0033363
2013-06-21 08:34Brad KingAssigned To => Brad King
2013-06-21 08:34Brad KingSeverityminor => feature
2013-06-21 08:34Brad KingStatusfeedback => resolved
2013-06-21 08:34Brad KingResolutionreopened => fixed
2013-06-21 08:34Brad KingSummaryCannot find Boost libraries => FindBoost should clarify when "static" libraries are not found
2013-06-21 08:34Brad KingFixed in Version => CMake 2.8.12
2013-06-21 08:34Brad KingTarget Version => CMake 2.8.12
2013-11-01 11:42Brad KingRelationship addedrelated to 0013663
2014-06-02 08:37Robert MaynardNote Added: 0035976
2014-06-02 08:37Robert MaynardStatusresolved => closed

Notes
(0033343)
Brad King   
2013-06-20 08:44   
I see "Boost_USE_STATIC_LIBS = ON" in the output. Does /usr/lib64 have the static libraries or only the shared ones?
(0033347)
l_r_mcglashan   
2013-06-20 09:07   
Thanks for spotting that. I feel pretty stupid now.
(0033348)
Brad King   
2013-06-20 09:08   
Okay, thanks for reporting back.
(0033350)
l_r_mcglashan   
2013-06-20 09:20   
It would be helpful for the error message to specify whether it was looking for dynamic/static libraries. It's not obvious when building someone else's software. Something like:

    set(Boost_ERROR_REASON
      "${Boost_ERROR_REASON}\nThe following")
    if (Boost_USE_STATIC_LIBS)
        set(Boost_ERROR_REASON
        "${Boost_ERROR_REASON} static ")
    else ()
        set(Boost_ERROR_REASON
        "${Boost_ERROR_REASON} dynamic ")
    endif ()
    set(Boost_ERROR_REASON
      "${Boost_ERROR_REASON}Boost libraries could not be found:\n")
(0033363)
Brad King   
2013-06-20 17:17   
Good idea. I've extended the error message:

 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=86cbd731 [^]

Note that Boost_USE_STATIC_LIBS=ON forces static libs but Boost_USE_STATIC_LIBS=OFF still allows them though dynamic libs are preferred.
(0035976)
Robert Maynard   
2014-06-02 08:37   
Closing resolved issues that have not been updated in more than 4 months.