cmake cannot find boost libraries
Ingvord
tla-ingvord@ya.ru
Sat Jun 28 07:39:00 GMT 2014
Dear All,
First of all I would like to thank all cygwin developers for the fact that such a great thing as cygwin exists.
Currently I am running cygwin 2.850 x64 on windows 7 x64.
Compilers, boost libraries and cmake everything has been installed via setup.
When trying to cmake project which uses boost libraries on cygwin cmake reports "Could not find Boost". Headers are being found with out problems.
Here is an output from cmake:
$> BOOST_LIBRARYDIR=/lib cmake .. -DBoost_DEBUG=On
...
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:476 ] _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;1.44.
0;1.44;1.43.0;1.43;1.42.0;1.42;1.41.0;1.41;1.40.0;1.40;1.39.0;1.39;1.38.0;1.38;1
.37.0;1.37;1.36.1;1.36.0;1.36;1.35.1;1.35.0;1.35;1.34.1;1.34.0;1.34;1.33.1;1.33.
0;1.33
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:478 ] Boost_USE_MULTITHREADED = TRUE
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:480 ] Boost_USE_STATIC_LIBS =
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:482 ] Boost_USE_STATIC_RUNTIME =
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:484 ] Boost_ADDITIONAL_VERSIONS =
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:486 ] Boost_NO_SYSTEM_PATHS =
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:538 ] Declared as CMake or Environmental Variables:
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:540 ] BOOST_ROOT =
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:542 ] BOOST_INCLUDEDIR=
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:544 ] BOOST_LIBRARYDIR=
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:546 ] _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;1.44.
0;1.44;1.43.0;1.43;1.42.0;1.42;1.41.0;1.41;1.40.0;1.40;1.39.0;1.39;1.38.0;1.38;1
.37.0;1.37;1.36.1;1.36.0;1.36;1.35.1;1.35.0;1.35;1.34.1;1.34.0;1.34;1.33.1;1.33.
0;1.33
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:639 ] location of version.hpp: /usr/include/boost/version.hpp
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:663 ] version.hpp reveals boost 1.53.0
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:739 ] guessed _boost_COMPILER = -gcc48
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:749 ] _boost_MULTITHREADED = -mt
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:792 ] _boost_RELEASE_ABI_TAG = -
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:794 ] _boost_DEBUG_ABI_TAG = -d
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:842 ] _boost_LIBRARY_SEARCH_DIRS = /lib;/usr/include/lib;/usr/include/../lib;/usr/include/stage/lib;PATHS;C:/boost/lib;C:/boost;/sw/local/lib
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:1017 ] Boost_FOUND = 1
-- Boost version: 1.53.0
found GNU compiler ...
setup for release build ...
2.8.11.2
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:476 ] _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;1.44.
0;1.44;1.43.0;1.43;1.42.0;1.42;1.41.0;1.41
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:478 ] Boost_USE_MULTITHREADED = OFF
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:480 ] Boost_USE_STATIC_LIBS = OFF
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:482 ] Boost_USE_STATIC_RUNTIME = OFF
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:484 ] Boost_ADDITIONAL_VERSIONS =
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:486 ] Boost_NO_SYSTEM_PATHS =
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:538 ] Declared as CMake or Environmental Variables:
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:540 ] BOOST_ROOT =
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:542 ] BOOST_INCLUDEDIR=
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:544 ] BOOST_LIBRARYDIR=
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:546 ] _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;1.44.
0;1.44;1.43.0;1.43;1.42.0;1.42;1.41.0;1.41
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:639 ] location of version.hpp: /usr/include/boost/version.hpp
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:663 ] version.hpp reveals boost 1.53.0
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:739 ] guessed _boost_COMPILER = -gcc48
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:749 ] _boost_MULTITHREADED =
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:792 ] _boost_RELEASE_ABI_TAG = -
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:794 ] _boost_DEBUG_ABI_TAG = -d
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:842 ] _boost_LIBRARY_SEARCH_DIRS = /lib;/usr/include/lib;/usr/include/../lib;/usr/include/stage/lib;PATHS;C:/b
oost/lib;C:/boost;/sw/local/lib
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:930 ] Searching for PROGRAM_OPTIONS_LIBRARY_RELEASE: boost_program_options-gcc48-1_53;boost_program_optio
ns-gcc48;boost_program_options-1_53;boost_program_options;boost_program_options
cygwin warning:
MS-DOS style path detected: C:/boost/lib64
Preferred POSIX equivalent is: /cygdrive/c/boost/lib64
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:966 ] Searching for PROGRAM_OPTIONS_LIBRARY_DEBUG: boost_program_options-gcc48-d-1_53;boost_program_optio
ns-gcc48-d;boost_program_options-d-1_53;boost_program_options-d;boost_program_op
tions;boost_program_options
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:930 ] Searching for SYSTEM_LIBRARY_RELEASE: boost_system-gcc48-1_53;boost_system-gcc48;boost_system-1_53;
boost_system;boost_system
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:966 ] Searching for SYSTEM_LIBRARY_DEBUG: boost_system-gcc48-d-1_53;boost_system-gcc48-d;boost_system-d-1
_53;boost_system-d;boost_system;boost_system
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:930 ] Searching for REGEX_LIBRARY_RELEASE: boost_regex-gcc48-1_53;boost_regex-gcc48;boost_regex-1_53;boos
t_regex;boost_regex
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:966 ] Searching for REGEX_LIBRARY_DEBUG: boost_regex-gcc48-d-1_53;boost_regex-gcc48-d;boost_regex-d-1_53;
boost_regex-d;boost_regex;boost_regex
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:1017 ] Boost_FOUND = 1
-- Could NOT find Boost
Boost version: 1.53.0
Boost include path: /usr/include
The following Boost libraries could not be found:
boost_program_options
boost_system
boost_regex
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.
Here is the list of boost libraries in %CYGWIN_ROOT%\lib:
C:\cygwin64\lib>ls -l | grep boost
-rwxr-xr-x 1 Ingvord None 1732 May 29 2013 libboost_atomic-mt.dll.a
-rwxr-xr-x 1 Ingvord None 61458 May 29 2013 libboost_chrono-mt.dll.a
-rwxr-xr-x 1 Ingvord None 152554 May 29 2013 libboost_date_time-mt.dll.a
-rwxr-xr-x 1 Ingvord None 131606 May 29 2013 libboost_filesystem-mt.dll.a
-rwxr-xr-x 1 Ingvord None 593878 May 29 2013 libboost_graph-mt.dll.a
-rwxr-xr-x 1 Ingvord None 321382 May 29 2013 libboost_iostreams-mt.dll.a
-rwxr-xr-x 1 Ingvord None 1404706 May 29 2013 libboost_locale-mt.dll.a
-rwxr-xr-x 1 Ingvord None 129006 May 29 2013 libboost_math_c99-mt.dll.a
-rwxr-xr-x 1 Ingvord None 138172 May 29 2013 libboost_math_c99f-mt.dll.a
-rwxr-xr-x 1 Ingvord None 805006 May 29 2013 libboost_math_tr1-mt.dll.a
-rwxr-xr-x 1 Ingvord None 809648 May 29 2013 libboost_math_tr1f-mt.dll.a
-rwxr-xr-x 1 Ingvord None 90426 May 29 2013 libboost_prg_exec_monitor-mt.dll.a
-rwxr-xr-x 1 Ingvord None 885422 May 29 2013 libboost_program_options-mt.a
-rwxr-xr-x 1 Ingvord None 13172 May 29 2013 libboost_random-mt.dll.a
-rwxr-xr-x 1 Ingvord None 1539722 May 29 2013 libboost_regex-mt.dll.a
-rwxr-xr-x 1 Ingvord None 1362342 May 29 2013 libboost_serialization-mt.dll.a
-rwxr-xr-x 1 Ingvord None 232596 May 29 2013 libboost_signals-mt.dll.a
-rwxr-xr-x 1 Ingvord None 10870 May 29 2013 libboost_system-mt.dll.a
-rwxr-xr-x 1 Ingvord None 246156 May 29 2013 libboost_thread-mt.dll.a
-rwxr-xr-x 1 Ingvord None 22186 May 29 2013 libboost_timer-mt.dll.a
-rwxr-xr-x 1 Ingvord None 1485554 May 29 2013 libboost_unit_test_framework-mt.dll.a
-rwxr-xr-x 1 Ingvord None 3386782 May 29 2013 libboost_wave-mt.dll.a
-rwxr-xr-x 1 Ingvord None 942846 May 29 2013 libboost_wserialization-mt.dll.a
Notice that when cmake finds headers it properly defines multithreading:
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:478 ] Boost_USE_MULTITHREADED = TRUE
later on it does not:
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:749 ] _boost_MULTITHREADED =
If I manually change boost library file names to libboost_<whatever>.a, i.e. remove -mt.dll then this problem is gone. So temporary created a number of symlinks, which is not quite nice, I guess.
--
Ingvord
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list