On Friday 27 June 2014 19:53:18 Fletcher, John P wrote:
I have been using b2 to build the preprocessed files for boost phoenix.
When I try to do this it now fails with a failure to build thread.cpp
"g++-4.6" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pedantic -pthread -Wextra -Wno-long-long -Wno-variadic-macros -Wunused-function -pedantic -DBOOST_ALL_NO_LIB=1 -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_THREAD_BUILD_LIB=1 -DBOOST_THREAD_DONT_USE_CHRONO -DBOOST_THREAD_POSIX -DBOOST_WAVE_SUPPORT_THREADING=0 -DNDEBUG -I"../../.." -c -o "../../../bin.v2/libs/thread/build/gcc-4.6/release/link-static/threading-mu lti/wavetool-on/pthread/thread.o" "../../../libs/thread/src/pthread/thread.cpp"
../../../boost/ref.hpp:32:25: error: redefinition of ‘class boost::reference_wrapper<T>’ ../../../boost/core/ref.hpp:59:25: error: previous definition of ‘class boost::reference_wrapper<T>’ ../../../boost/ref.hpp:56:75: error: redefinition of ‘template<class T> const boost::reference_wrapper<T> boost::ref(T&)’ ../../../boost/core/ref.hpp:131:74: error: ‘template<class T> const boost::reference_wrapper<T> boost::ref(T&)’ previously declared here . It looks as though it is picking up two copies of the header file ref.hpp.
This is the case with both gcc 4.6 and also gcc 4.9.0
It is not clear to me where the source file is coming from. At the moment all the libraries in my modular boost are checked out as develop.
This is meaning that I cannot update my preprocessed files.
Please advise me what to do.
Check that you completely updated all submodules, core and utility in particular. If they are fully updated I suspect you may need to remove $BOOST_ROOT/boost and run 'b2 headers'.