Bug 724818 - FTBFS due to boost rebase
FTBFS due to boost rebase
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: wesnoth (Show other bugs)
rawhide
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Jon Ciesla
Fedora Extras Quality Assurance
:
Depends On:
Blocks: 711845
  Show dependency treegraph
 
Reported: 2011-07-21 17:45 EDT by Petr Machata
Modified: 2015-05-04 21:36 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-07-22 11:30:26 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Work around BOOST_FOREACH regression (2.44 KB, patch)
2011-07-21 17:45 EDT, Petr Machata
no flags Details | Diff

  None (edit)
Description Petr Machata 2011-07-21 17:45:46 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):
1.8.6-3
Comment 1 Jon Ciesla 2011-07-22 09:39:31 EDT
Sent upstream:

https://gna.org/bugs/index.php?18399
Comment 2 Jon Ciesla 2011-07-22 11:30:26 EDT
Built in rawhide.  Thanks!

Note You need to log in before you can comment on or make changes to this bug.