Jean-Francois - 2014-03-18

Think I found out why I had this issue, some Boost.Thread functions use Boost.Chrono starting with Boost 1.50.0:
http://www.boost.org/doc/libs/1_55_0/doc/html/thread/time.html

I attached a patch of a fix that probably makes sense. Tested with linux with boost 1.55 and boost 1.41 and it compiles.

diff -ur -x CMakeList.txt ../original-0.7.3//CMakeLists.txt ./CMakeLists.txt
--- ../original-0.7.3//CMakeLists.txt   2013-06-23 14:38:59.000000000 -0400
+++ ./CMakeLists.txt    2014-03-18 00:17:42.000000000 -0400
@@ -46,7 +46,7 @@
 set(Boost_USE_STATIC_RUNTIME    OFF)


-FIND_PACKAGE( Boost 1.41 COMPONENTS thread)
+FIND_PACKAGE( Boost 1.41 COMPONENTS thread system)

  IF(Boost_FOUND)
     IF (NOT _boost_IN_CACHE)
diff -ur -x CMakeList.txt ../original-0.7.3//src/CMakeLists.txt ./src/CMakeLists.txt
--- ../original-0.7.3//src/CMakeLists.txt   2013-06-23 14:38:58.000000000 -0400
+++ ./src/CMakeLists.txt    2014-03-18 00:15:30.000000000 -0400
@@ -75,9 +75,15 @@
    ELSE( USE_64_BIT )
        SET(CMAKE_THREAD_LIBS_INIT pthread)
    ENDIF(  )
+# if boost > 1.50, some boost_thread code could require chrono, which needs librt
+ELSEIF(Boost_VERSION VERSION_GREATER "104900")

+   IF (CMAKE_SYSTEM MATCHES "Linux")
+       SET(CMAKE_THREAD_LIBS_INIT ${CMAKE_THREAD_LIBS_INIT} rt)
+   ENDIF()
+ENDIF()


-   
-ENDIF()    
 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/src/ )
 LINK_DIRECTORIES ( ${LIBRARY_OUTPUT_PATH} )
 

Last edit: Jean-Francois 2014-03-18