|
Boost Users : |
Subject: Re: [Boost-users] fatal error: 'boost/utility/detail/result_of_iterate.hpp' file not found
From: Ted Middleton (middleton.ted_at_[hidden])
Date: 2014-12-01 12:43:13
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_at_[hidden]>
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?
>
>
>
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net