compilation problems with thread/chrono & boost 1.51 & HPUX

I am transitioning from boost 1.47 to boost 1.51. Using compiler : aCC: HP C/aC++ B3910B A.06.20 [May 13 2008] Using: ./bjam --build-dir=./tmpBuildDir toolset=acc stage link=static --layout=tagged --with-thread variant=debug It appears that building thread requires chrono, which now fails to compile. ========================== acc.compile.c++ tmpBuildDir/boost/bin.v2/libs/chrono/build/acc/debug/link-static/threading-multi/chrono.o "./boost/ratio/detail/overflow_helpers.hpp", line 164: error #2063: shift count is too large (BOOST_RATIO_INTMAX_C(1) << (sizeof(boost::intmax_t) * CHAR_BIT - 1)); "./boost/chrono/system_clocks.hpp", line 71: error #2035: #error directive: <time.h> does not supply CLOCK_REALTIME # error <time.h> does not supply CLOCK_REALTIME "./boost/ratio/detail/overflow_helpers.hpp", "./boost/thread/v2/thread.hpp", line 45: error #2135: namespace "boost::chrono" has no member "steady_clock" void sleep_until(const chrono::time_point<chrono::steady_clock, Duration>& t) acc.compile.c++ tmpBuildDir/boost/bin.v2/libs/thread/build/acc/debug/link-static/threading-multi/future.o "./boost/thread/future.hpp", line 608: error #2330-D: "boost::unique_lock<Mutex> &boost::unique_lock<Mutex>::operator=(boost::unique_lock<Mutex> &) [with Mutex=boost::mutex]" (declared at line 287 of "./boost/thread/locks.hpp") is inaccessible locks[i]=boost::unique_lock<boost::mutex>(futures[i].future_->mutex); ============================= Can any one suggest *any* hacks/workarounds that gets me pass these errors. Is it possible to use gcc on HPUX with boost 1.51 ? Best regards, Ta, Avi

On 3.9.2012. 10:26, Avi Bahra wrote:
Can any one suggest *any* hacks/workarounds that gets me pass these errors. Is it possible to use gcc on HPUX with boost 1.51 ?
The docs for boost thread 1.51 say this: Boost.Thread uses by default Boost.Chrono for the time related functions. For backward compatibility and also for compilers that don't work well with Boost.Chrono the user can define BOOST_THREAD_DONT_USE_CHRONO. If BOOST_THREAD_DONT_USE_SYSTEM is defined then BOOST_THREAD_DONT_USE_CHRONO is defined implicitly. BOOST_THREAD_USES_CHRONO is defined when Boost.Thread uses Boost.Chrono.
participants (2)
-
Avi Bahra
-
Juraj Ivančić