Re: [Boost-bugs] [Boost C++ Libraries] #6131: #define foreach BOOST_FOREACH causes weird compile error in certain circumstances with boost 1.48

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #6131: #define foreach BOOST_FOREACH causes weird compile error in certain circumstances with boost 1.48
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-07-07 01:44:45


#6131: #define foreach BOOST_FOREACH causes weird compile error in certain
circumstances with boost 1.48
-------------------------------+--------------------------------------------
  Reporter: loonycyborg | Owner: eric_niebler
      Type: Bugs | Status: closed
 Milestone: To Be Determined | Component: foreach
   Version: Boost 1.50.0 | Severity: Problem
Resolution: fixed | Keywords:
-------------------------------+--------------------------------------------
Changes (by monster.romster@…):

 * cc: monster.romster@… (added)
  * version: Boost 1.49.0 => Boost 1.50.0

Comment:

 I tried that patch https://svn.boost.org/trac/boost/changeset/75540 but
 then boost fails to compile:

 {{{
     "ccache" "g++" -ftemplate-depth-128 -O2 -march=i686 -pipe -O3 -Wno-
 deprecated -fno-strict-aliasing -finline-functions -Wno-inline -Wall -fPIC
 -DBOOST_ALL_NO_LIB=1 -DBOOST_GRAPH_DYN_LINK=1 -DBOOST_HAS_ICU=1 -DNDEBUG
 -I"." -I"/usr/include" -I"libs/graph/src" -c -o
 "bin.v2/libs/graph/build/gcc-4.5.3/release/graphml.o"
 "libs/graph/src/graphml.cpp"

 In file included from libs/graph/src/graphml.cpp:14:0:
 ./boost/foreach.hpp:126:16: error: 'boost::boost::mpl' has not been
 declared
 ./boost/foreach.hpp:126:21: error: expected '{' before 'false_'
 ./boost/foreach.hpp:127:5: error: invalid type in declaration before '{'
 token
 ./boost/foreach.hpp:127:5: error: template declaration of 'int
 boost::boost::foreach::false_'
 ./boost/foreach.hpp:127:5: warning: extended initializer lists only
 available with -std=c++0x or -std=gnu++0x
 ./boost/foreach.hpp:137:16: error: 'boost::boost::mpl' has not been
 declared
 ./boost/foreach.hpp:137:21: error: expected '{' before 'or_'
 ./boost/foreach.hpp:137:24: error: expected initializer before '<' token
 In file included from libs/graph/src/graphml.cpp:14:0:
 ./boost/foreach.hpp:168:8: error: 'BOOST_FOREACH' in namespace
 'boost::boost' does not name a type
 }}}

 So I am forced to keep boost at 1.49.0 due to wesnoth failing on 1.50.0

 {{{
 [ 15%] Building CXX object src/CMakeFiles/wesnoth-game.dir/font.cpp.o
 In file included from
 /usr/ports/work/wesnoth/src/wesnoth-1.10.3/src/shared_object.hpp:21:0,
                  from
 /usr/ports/work/wesnoth/src/wesnoth-1.10.3/src/tstring.hpp:19,
                  from
 /usr/ports/work/wesnoth/src/wesnoth-1.10.3/src/config.hpp:40,
                  from
 /usr/ports/work/wesnoth/src/wesnoth-1.10.3/src/terrain.hpp:18,
                  from
 /usr/ports/work/wesnoth/src/wesnoth-1.10.3/src/map.hpp:23,
                  from
 /usr/ports/work/wesnoth/src/wesnoth-1.10.3/src/builder.cpp:26:
 /usr/ports/work/wesnoth/src/wesnoth-1.10.3/src/foreach.hpp:9:22: error:
 'boost::BOOST_FOREACH' has not been declared
 make[2]: *** [src/CMakeFiles/wesnoth-game.dir/builder.cpp.o] Error 1
 make[2]: *** Waiting for unfinished jobs....
 make[1]: *** [src/CMakeFiles/wesnoth-game.dir/all] Error 2
 make: *** [all] Error 2
 =======> ERROR: Building '/var/ports/packages/wesnoth#1.10.3-1.pkg.tar.gz'
 failed.
 }}}

 Lets hope boost 1.51.0 fixes this, or is wesnoth 1.10.3 doing something
 wrong?

 Regards,
 Danny Rawlins
 Romster @ freenode
 distro http://crux.nu

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/6131#comment:13>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:10 UTC