I asked on IRC and it turns out that there's a new build step required that hasn't made its way into the documentation yet - after executing 'bootstrap.sh' and before executing 'b2', you need to run 'b2 headers' to fix up the boost/ dir. 

On Sun, Nov 30, 2014 at 9:15 PM, Ted Middleton <middleton.ted@gmail.com> wrote:
I'm trying to build boost 1.56.0 for OSX 10.10 with Xcode 5.1.1 (clang-503.0.40). 

Xcode 5.1.1
Build version 5B1008
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin14.0.0
Thread model: posix

When I try to build boost thread, the compile fails building thread.cpp on the command:

    "g++"  -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pedantic -gdwarf-2 -fexceptions -Wno-long-long -Wextra -Wno-long-long -Wno-variadic-macros -Wunused-function -fpermissive -pedantic -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_STATIC_LINK=1 -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_THREAD_BUILD_LIB=1 -DBOOST_THREAD_DONT_USE_CHRONO -DBOOST_THREAD_POSIX -DNDEBUG  -I"." -c -o "bin.v2/libs/thread/build/darwin-4.2.1/release/link-static/threading-multi/pthread/thread.o" "libs/thread/src/pthread/thread.cpp"

The error is:

In file included from libs/thread/src/pthread/thread.cpp:19:
In file included from ./boost/thread/future.hpp:22:
In file included from ./boost/thread/detail/invoker.hpp:28:
In file included from ./boost/utility/result_of.hpp:202:
./boost/preprocessor/iteration/detail/iter/forward1.hpp:47:18: fatal error: 'boost/utility/detail/result_of_iterate.hpp' file not found
./boost/preprocessor/iteration/detail/iter/forward1.hpp:27:56: note: expanded from macro 'BOOST_PP_FILENAME_1'
#    define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
                                                       ^
./boost/utility/result_of.hpp:201:68: note: expanded from macro 'BOOST_PP_ITERATION_PARAMS_1'
#define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_RESULT_OF_NUM_ARGS,<boost/utility/detail/result_of_iterate.hpp>))
                                                                   ^
./boost/preprocessor/array/elem.hpp:23:114: note: expanded from macro 'BOOST_PP_ARRAY_ELEM'
#    define BOOST_PP_ARRAY_ELEM(i, array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array))
                                                                                                                 ^
note: (skipping 10 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
./boost/preprocessor/tuple/rem.hpp:23:31: note: expanded from macro 'BOOST_PP_REM'
#    define BOOST_PP_REM(...) __VA_ARGS__
                              ^
./boost/preprocessor/variadic/elem.hpp:26:89: note: expanded from macro 'BOOST_PP_VARIADIC_ELEM'
#        define BOOST_PP_VARIADIC_ELEM(n, ...) BOOST_PP_CAT(BOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,)
                                                                                        ^
./boost/preprocessor/variadic/elem.hpp:30:55: note: expanded from macro 'BOOST_PP_VARIADIC_ELEM_2'
#    define BOOST_PP_VARIADIC_ELEM_2(e0, e1, e2, ...) e2

Sure enough, boost/utility/detail/result_of_iterate.hpp doesn't exist from the base of the project. It does if you start at libs/utlility/include/boost/utility/detail, though. Most of what's in boost/ is a symlink to directories in libs (I guess this is how modulization works), and if boost/utility were a symlink libs/utility/include/boost/utility, I think this code in forward1.hpp would work. But boost/utility isn't a symlink - boost/utility is an actual directory with a few symlinks to files in it, but none of them leads to result_of_iterate.hpp. 

There's an email (http://lists.boost.org/Archives/boost/2014/07/215233.php) to the developers list from back in July discussing this build break in the 1.56.0 beta 1, but I'm seeing this at the tag boost-1.56.0 for the 1.56.0 release in git.I don't seem to be able to build 1.57.0 either. Boost 1.56.0 wouldn't have shipped with a broken boost thread compile on OSX 64-bit, so I'm certain that its something bad that I've done. Can anyone figure out what I'm doing wrong from that command line or the error printout?