Boost logo

Boost :

Subject: [boost] compile problem with thread without rvalue references
From: Bob Walters (bob.s.walters_at_[hidden])
Date: 2009-11-07 13:38:07


I've just attempted a build of the current (1_40_0) boost distribution
on a Solaris 10 machine, using the SunStudio12 compiler (cc). There
seems to be a problem with boost::thread which is related to this
compiler's lack of rvalue references.

My build process has been:
tar xzf boost_1_40_0.tgz
cd boost_1_40_0
export BOOST_ROOT=`pwd`
./bootstrap.sh
./bjam toolset=sun address-model=64

The error I'm receiving:

"./boost/thread/detail/thread.hpp", line 344: Error: boost::thread::thread(boost
::thread&) is not accessible from boost::move(boost::detail::thread_move_t<boost
::thread>).
1 Error(s) detected.

   "CC" -library=stlport4 -xO4 -mt -erroff=%none -m64 -KPIC -DBOOST_ALL_NO_LIB=
1 -DBOOST_THREAD_BUILD_DLL=1 -DBOOST_THREAD_POSIX -DNDEBUG -I"." -c -o "bin.v2/l
ibs/thread/build/sun/release/address-model-64/stdlib-sun-stlport/threading-multi
/pthread/thread.o" "libs/thread/src/pthread/thread.cpp"

move() seems to rely on a copy constructor for its returned thread
when rvalue references aren't supported. There is no such
constructor.

Aside from changing compilers, is there any work around for this?


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk