Le 05/09/12 11:52, Avi Bahra a écrit :
Le 04/09/12 11:44, Avi Bahra a ?crit :
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. I have already tried BOOST_THREAD_DONT_USE_CHRONO and it has no effect. It appears that some of headers files are not guarded with this.
In my case $BOOST_ROOT/boost/chrono/system_clocks.hpp This evidently should not be included. Could you point from where it is included? libs/chrono/src/chrono.cpp fails to compile with errors in system_clocks.hpp and overflow_helpers.hpp If you define BOOST_THREAD_DONT_USE_CHRONO, I don't see why you need
boost/chrono/system_clocks.hpp
$BOOST_ROOT/boost/ratio/detail/overflow_helpers.hpp
This evidently should not be included. Could you point from where it is included? libs/chrono/src/chrono.cpp fails to compile with errors in system_clocks.hpp and overflow_helpers.hpp
libs/chrono/src/process_cpu_clocks.cpp fails to compile with error in overflow_helpers.hpp
$BOOST_ROOT/boost/thread/future.hpp
Could you point where in this file the compiler fails?
do not compile,
"libs/thread/src/future.cpp"
Well I think I see what is not working. Where are you defining BOOST_THREAD_DONT_USE_CHRONO? You need to do it the command line and requested to don't build Boost.Chrono and a build without Boost.Chrono. bjam define=BOOST_THREAD_DONT_USE_CHRONO --without-chrono
Also Is it possible to make a request to change:
$BOOST_ROOT/boost/thread/future.hpp
line:603 for(count_type i=0;i
boost::mutex(futures[i].future_->mutex).move(); #else locks[i]=boost::unique_lockboost::mutex(futures[i].future_->mutex); #endif } T0:
for(count_type i=0;i
boost::mutex(futures[i].future_->mutex).move(); #else locks[i]=boost::unique_lockboost::mutex(futures[i].future_->mutex); #endif } Please could you create a ticket for that? created ticket 7329. Thanks, Vicente