Re: [Boost-users] compilation problems with thread/chrono & boost 1.51 & HPUX
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
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? $BOOST_ROOT/boost/ratio/detail/overflow_helpers.hpp This evidently should not be included. Could you point from where it is included? $BOOST_ROOT/boost/thread/future.hpp Could you point where in this file the compiler fails? 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 }
Please could you create a ticket for that? Best, Vicente
participants (2)
-
Avi Bahra
-
Vicente J. Botet Escriba