Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#12724 closed Bugs (invalid)

forward1.hpp:47:37: fatal error: boost/utility/detail/result_of_iterate.hpp: No such file or directory

Reported by: nico.schloemer@… Owned by: No-Maintainer
Milestone: To Be Determined Component: utility
Version: Boost Development Trunk Severity: Problem
Keywords: Cc: nico.schloemer@…, Andrey.Semashev@…

Description

When building Boost from master, I'm getting errors of the kind ` /boost/preprocessor/iteration/detail/iter/forward1.hpp:47:37: fatal error: boost/utility/detail/result_of_iterate.hpp: No such file or directory

# include BOOST_PP_FILENAME_1

` (see [1]).

This appears to have come up before [2], but without conclusive fix.

[1] https://launchpadlibrarian.net/301233079/buildlog_ubuntu-yakkety-amd64.boost1.63_1.63.0~20170104224508-03db8ee4-1yakkety1_BUILDING.txt.gz [2] https://svn.boost.org/trac/boost/ticket/11377

Change History (2)

comment:1 by Andrey Semashev, 6 years ago

Cc: Andrey.Semashev@… added
Component: preprocessorutility
Resolution: invalid
Status: newclosed

The error says boost/utility/detail/result_of_iterate.hpp file is missing. I can see the file is present in the current master (in libs/utility/include/boost/utility/detail), as well as in the 1.63 archive. It is not clear how the source package (in particular, the boost1.63_1.63.0~20170104224508-03db8ee4.orig.tar.gz archive) was built, but if it was obtained as a recursive clone from git, you should run "b2 headers" in Boost root before building Boost. That command will reconstruct the boost include tree, which is already present in the official Boost archives.

Without that command b2 tries to reconstruct the include tree based on dependency scanning, which does not always work. In particular, it breaks when the header names are not immediately visible in the #include directives, like when Boost.PP iteration is used. In general, that mechanism should not be relied upon, and "b2 headers" should be used instead.

comment:2 by nico.schloemer@…, 6 years ago

Thanks, that did the trick.

Note: See TracTickets for help on using tickets.