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 28.06.2014, 11:39, "Ingvord" <tla-ingv...@ya.ru>: > 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 -- 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