b2 --without-test toolset=msvc-8.0 starts building, so the context/coroutine problem seems fixed.
It builds mostly everything except Boost.Log gives a few thousand warnings of the form compile-c-c++ bin.v2\libs\log\build\msvc-8.0\debug\address-model-32\architecture -x86\build-no\link-static\log-api-winnt\threading-multi\matches_relation_factory .obj matches_relation_factory.cpp .\boost/phoenix/support/preprocessed/vector_10.hpp(47) : warning C4003: not enou gh actual parameters for macro 'BOOST_PP_IS_EMPTY' .\boost/phoenix/support/preprocessed/vector_10.hpp(47) : warning C4003: not enou gh actual parameters for macro 'BOOST_PP_IS_BEGIN_PARENS' .\boost/phoenix/support/preprocessed/vector_10.hpp(47) : warning C4003: not enou gh actual parameters for macro 'BOOST_PP_DETAIL_IS_EMPTY_PROCESS' .\boost/phoenix/support/preprocessed/vector_10.hpp(78) : warning C4003: not enou gh actual parameters for macro 'BOOST_PP_IS_EMPTY' .\boost/phoenix/support/preprocessed/vector_10.hpp(78) : warning C4003: not enou gh actual parameters for macro 'BOOST_PP_IS_BEGIN_PARENS' .\boost/phoenix/support/preprocessed/vector_10.hpp(78) : warning C4003: not enou gh actual parameters for macro 'BOOST_PP_DETAIL_IS_EMPTY_PROCESS' and type_erasure fails with compile-c-c++ bin.v2\libs\type_erasure\build\msvc-8.0\release\address-model-32\a rchitecture-x86\link-static\threading-multi\dynamic_binding.obj dynamic_binding.cpp C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\utility(32) : error C2248: 'boost::shared_mutex::shared_mutex' : cannot access private member declar ed in class 'boost::shared_mutex' .\boost/thread/win32/shared_mutex.hpp(87) : see declaration of 'boost::s hared_mutex::shared_mutex' .\boost/thread/win32/shared_mutex.hpp(28) : see declaration of 'boost::s hared_mutex' C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\utility(30) : while compiling class template member function 'std::pair<_Ty1,_Ty2>::pair(voi d)' with [ _Ty1=`anonymous-namespace'::map_type, _Ty2=`anonymous-namespace'::mutex_type ] libs\type_erasure\src\dynamic_binding.cpp(30) : see reference to class t emplate instantiation 'std::pair<_Ty1,_Ty2>' being compiled with [ _Ty1=`anonymous-namespace'::map_type, _Ty2=`anonymous-namespace'::mutex_type ] but this is not a Boost.Build's problem. :-)