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