View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0014997 | CMake | Modules | public | 2014-06-28 03:18 | 2015-01-05 08:38 | ||||
Reporter | Ingvord | ||||||||
Assigned To | |||||||||
Priority | high | Severity | major | Reproducibility | always | ||||
Status | closed | Resolution | no change required | ||||||
Platform | cygwin 2.850 x64 | OS | Windows 7 x64 | OS Version | |||||
Product Version | CMake 2.8.11.2 | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0014997: FindBoost can not find boost libraries installed via cygwin setup | ||||||||
Description | 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: $> cmake .. -DBoost_DEBUG=On -- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:476 ] _boost_TEST_VERSION S = 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_MULTITHRE ADED = TRUE -- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:480 ] Boost_USE_STATIC_LI BS = -- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:482 ] Boost_USE_STATIC_RU NTIME = -- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:484 ] Boost_ADDITIONAL_VE RSIONS = -- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:486 ] Boost_NO_SYSTEM_PAT HS = -- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:538 ] Declared as CMake o r 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_VERSION S = 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_COMP ILER = -gcc48 -- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:749 ] _boost_MULTITHREADE D = -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_TA G = -d -- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:842 ] _boost_LIBRARY_SEAR CH_DIRS = /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: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_VERSION S = 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_MULTITHRE ADED = OFF -- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:480 ] Boost_USE_STATIC_LI BS = OFF -- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:482 ] Boost_USE_STATIC_RU NTIME = OFF -- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:484 ] Boost_ADDITIONAL_VE RSIONS = -- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:486 ] Boost_NO_SYSTEM_PAT HS = -- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:538 ] Declared as CMake o r 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_VERSION S = 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_COMP ILER = -gcc48 -- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:749 ] _boost_MULTITHREADE D = -- [ /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_TA G = -d -- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:842 ] _boost_LIBRARY_SEAR CH_DIRS = /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 PROGR AM_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 PROGR AM_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 SYSTE M_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 SYSTE M_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 direc tory 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. | ||||||||
Steps To Reproduce | install cygwin's compilers, boost libraries and cmake try to cmake any project depends on boost | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Relationships | |
Relationships |
Notes | |
(0036285) Ingvord (reporter) 2014-06-28 03:36 |
Just to clarify: boost library files are in /lib directory of cygwin, i.e. c:\cygwin64\lib running cmake with BOOST_LIBRARYDIR: BOOST_LIBRARYDIR=/lib cmake .. -DBoost_DEBUG=on adds /lib to the _boost_LIBRARY_SEARCH_DIRS but does not solve the problem |
(0036286) Ingvord (reporter) 2014-06-28 04:22 |
I am wrong that renaming boost library files solves the issue. it solves it partially - cmake finds the libraries, but then make fails: $> make ... make[2]: *** No rule to make target '/usr/lib/libboost_program_options.a', needed by 'src/cygpnicore-2.dll'. Stop. CMakeFiles/Makefile2:1162: recipe for target 'src/CMakeFiles/pnicore.dir/all' failed make[1]: *** [src/CMakeFiles/pnicore.dir/all] Error 2 Makefile:126: recipe for target 'all' failed make: *** [all] Error 2 '/usr/lib/libboost_program_options.a' file exists: $ ls -al /usr/lib/libboost_program_options.a lrwxrwxrwx 1 Ingvord None 38 Jun 28 08:04 /usr/lib/libboost_program_options.a -> /lib/libboost_program_options-mt.dll.a |
(0036287) Ingvord (reporter) 2014-06-28 08:46 |
Finally got it! The problem indeed was with this Boost_USE_MULTITHREADED param. In one of the CMakeLists files it was set to OFF, i.e. set(Boost_USE_MULTITHREADED OFF) Passing ON value through command line gave no result. But after changing the mentioned CMakeLists file cmake has found the libraries. |
(0036291) Brad King (manager) 2014-06-30 15:17 |
Re 0014997:0036287: Okay. AFAICT there is no bug in CMake here. |
(0037575) Robert Maynard (manager) 2015-01-05 08:38 |
Closing resolved issues that have not been updated in more than 4 months. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2014-06-28 03:18 | Ingvord | New Issue | |
2014-06-28 03:36 | Ingvord | Note Added: 0036285 | |
2014-06-28 04:22 | Ingvord | Note Added: 0036286 | |
2014-06-28 08:46 | Ingvord | Note Added: 0036287 | |
2014-06-30 15:17 | Brad King | Note Added: 0036291 | |
2014-06-30 15:17 | Brad King | Status | new => resolved |
2014-06-30 15:17 | Brad King | Resolution | open => no change required |
2015-01-05 08:38 | Robert Maynard | Note Added: 0037575 | |
2015-01-05 08:38 | Robert Maynard | Status | resolved => closed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |