Boost logo

Boost Users :

Subject: Re: [Boost-users] compilation problems with thread/chrono & boost 1.51 & HPUX
From: Avi Bahra (avibahra_at_[hidden])
Date: 2012-09-04 05:44:16


>>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
  $BOOST_ROOT/boost/ratio/detail/overflow_helpers.hpp
  $BOOST_ROOT/boost/thread/future.hpp
do not compile,

Also Is it possible to make a request to change:

   $BOOST_ROOT/boost/thread/future.hpp

line:603
     for(count_type i=0;i<count;++i)
      {
#if defined __DECCXX || defined __SUNPRO_CC
         locks[i]=boost::unique_lock<boost::mutex>(futures[i].future_->mutex).move();
#else
         locks[i]=boost::unique_lock<boost::mutex>(futures[i].future_->mutex);
#endif
        }

T0:

     for(count_type i=0;i<count;++i)
      {
#if defined __DECCXX || defined __SUNPRO_CC || defined __hpux
         locks[i]=boost::unique_lock<boost::mutex>(futures[i].future_->mutex).move();
#else
         locks[i]=boost::unique_lock<boost::mutex>(futures[i].future_->mutex);
#endif
        }

Best regards,
Ta,
    Avi


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net