Red Hat Bugzilla – Bug 724818
FTBFS due to boost rebase
Last modified: 2015-05-04 21:36:19 EDT
Created attachment 514578 [details]
Work around BOOST_FOREACH regression
Wesnoth fails to build as a result of boost rebase. The root of the problem is described here: https://svn.boost.org/trac/boost/ticket/5279 . In essence, GCC changed behavior and BOOST_FOREACH had to change the rvalue detection strategy to BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION. But this is written in sources for that detection strategy:
// Detect at run-time whether an expression yields an rvalue
// or an lvalue. This is 100% standard C++, but not all compilers
// accept it. Also, it causes FOREACH to break when used with non-
// copyable collection types.
Unfortunately, wesnoth indeed iterates over noncopyable collection objects, so we have to fall back to hand-rolled iteration. The attached patch implements exactly this workaround.
Version-Release number of selected component (if applicable):
Built in rawhide. Thanks!