Hi list,
I'm trying to build Boost for the first time in a while, and getting unexpected errors.
I have a git checkout of the 'master' branch, but I've also tried with the 'boost-1.57.0' tag and had the same problem.
The build command I'm running is './b2 --with-filesystem', and the errors I'm getting are of the following form:
gcc.compile.c++ bin.v2/libs/system/build/gcc-4.9.0/release/threading-multi/error_code.o
In file included from libs/system/src/error_code.cpp:16:0:
./boost/system/error_code.hpp:18:39: fatal error: boost/utility/enable_if.hpp: No such file or directory
#include
On Sunday, January 04, 2015 12:54 PM, Nathan Ridge wrote:
Hi list,
I'm trying to build Boost for the first time in a while, and getting unexpected errors.
I have a git checkout of the 'master' branch, but I've also tried with the 'boost-1.57.0' tag and had the same problem.
The build command I'm running is './b2 --with-filesystem', and the errors I'm getting are of the following form:
gcc.compile.c++ bin.v2/libs/system/build/gcc-4.9.0/release/threading-multi/error_code.o In file included from libs/system/src/error_code.cpp:16:0: ./boost/system/error_code.hpp:18:39: fatal error: boost/utility/enable_if.hpp: No such file or directory #include
Have you run: ./b2 headers https://svn.boost.org/trac/boost/wiki/TryModBoost Ben
The build command I'm running is './b2 --with-filesystem', and the errors I'm getting are of the following form:
gcc.compile.c++ bin.v2/libs/system/build/gcc-4.9.0/release/threading-multi/error_code.o In file included from libs/system/src/error_code.cpp:16:0: ./boost/system/error_code.hpp:18:39: fatal error: boost/utility/enable_if.hpp: No such file or directory #include
Have you run: ./b2 headers
Yes, I have.
It seems what I needed to do was run 'git submodule init' to get the new 'core' submodule. After that, and 'git submodule update', and then './b2 headers' again, this error went away. However, I have another:
gcc.compile.c++ bin.v2/libs/filesystem/build/gcc-4.9.0/release/threading-multi/operations.o
In file included from ./boost/smart_ptr/shared_ptr.hpp:27:0,
from ./boost/shared_ptr.hpp:17,
from ./boost/filesystem/path.hpp:29,
from ./boost/filesystem/operations.hpp:25,
from libs/filesystem/src/operations.cpp:44:
./boost/throw_exception.hpp:29:57: fatal error: boost/exception/detail/attribute_noreturn.hpp: No such file or directory
#include
However, I have another:
gcc.compile.c++ bin.v2/libs/filesystem/build/gcc-4.9.0/release/threading-multi/operations.o In file included from ./boost/smart_ptr/shared_ptr.hpp:27:0, from ./boost/shared_ptr.hpp:17, from ./boost/filesystem/path.hpp:29, from ./boost/filesystem/operations.hpp:25, from libs/filesystem/src/operations.cpp:44: ./boost/throw_exception.hpp:29:57: fatal error: boost/exception/detail/attribute_noreturn.hpp: No such file or directory #include
^ compilation terminated.
Looks like boost/throw_exception.hpp was stuck being an old version of the header, instead of being a symlink to libs/throw_exception/include/boost/throw_exception.hpp. Manually removing boost/throw_exception.hpp and re-running './b2 headers' fixed this problem, but then I had a similar problem with boost/ref.hpp, which also wasn't a symlink. In the end, I deleted my entire 'boost' directory and re-ran './b2 headers', and then got a clean build. Is it expected that I have to delete my 'boost' directory after updating? Thanks, Nate
On Sunday, January 04, 2015 01:19 PM, Nathan Ridge wrote:
However, I have another:
gcc.compile.c++ bin.v2/libs/filesystem/build/gcc-4.9.0/release/threading-multi/operations.o In file included from ./boost/smart_ptr/shared_ptr.hpp:27:0, from ./boost/shared_ptr.hpp:17, from ./boost/filesystem/path.hpp:29, from ./boost/filesystem/operations.hpp:25, from libs/filesystem/src/operations.cpp:44: ./boost/throw_exception.hpp:29:57: fatal error: boost/exception/detail/attribute_noreturn.hpp: No such file or directory #include
^ compilation terminated. Looks like boost/throw_exception.hpp was stuck being an old version of the header, instead of being a symlink to libs/throw_exception/include/boost/throw_exception.hpp.
Yeah, I was just writing a reply to that effect.
Manually removing boost/throw_exception.hpp and re-running './b2 headers' fixed this problem, but then I had a similar problem with boost/ref.hpp, which also wasn't a symlink.
In the end, I deleted my entire 'boost' directory and re-ran './b2 headers', and then got a clean build.
Is it expected that I have to delete my 'boost' directory after updating?
Who knows? The test-release script seems to do every step at least twice, often more, so that's not a great model. I'm not convinced anybody definitively knows the canonical form of update and build any more. Ben
AMDG On 01/03/2015 10:19 PM, Nathan Ridge wrote:
In the end, I deleted my entire 'boost' directory and re-ran './b2 headers', and then got a clean build.
Is it expected that I have to delete my 'boost' directory after updating?
It should not be required. However, there were several bugs in the code for creating the links. In Christ, Steven Watanabe
participants (3)
-
Ben Pope
-
Nathan Ridge
-
Steven Watanabe