Boost logo

Boost :

Subject: [boost] [graph] gcc 3.4 & 4.0 currently broken
From: Ralf W. Grosse-Kunstleve (rwgk_at_[hidden])
Date: 2010-03-03 13:15:09


boost svn trunk rev 60079 broke our gcc 3.4 and 4.0 builds (various platforms).
The problem is line 52 in boost/graph/two_bit_color_map.hpp

BOOST_STATIC_ASSERT(elements_per_char > 0);

It fails with (gcc 3.4 in this case):

% g++ -o boost/libs/python/src/object/inheritance.o -c -DBOOST_PYTHON_MAX_BASES=2 -DBOOST_PYTHON_SOURCE -DBOOST_PYTHON_BOOL_INT_STRICT -fPIC -fno-strict-aliasing -w -DNDEBUG -O3 -ffast-math -ftrapping-math -DBOOST_ALL_NO_LIB -DBOOST_DISABLE_THREADS -I/net/chevy/raid1/rwgk/hot/boost -I/usr/include/python2.3 /net/chevy/raid1/rwgk/hot/boost/libs/python/src/object/inheritance.cpp
In file included from /net/chevy/raid1/rwgk/hot/boost/boost/graph/breadth_first_search.hpp:26,
                 from /net/chevy/raid1/rwgk/hot/boost/libs/python/src/object/inheritance.cpp:7:
/net/chevy/raid1/rwgk/hot/boost/boost/graph/two_bit_color_map.hpp:52: error: non-constant `(((int)boost::two_bit_color_map<IndexMap>::elements_per_char) > 0)' cannot be used as template argument
/net/chevy/raid1/rwgk/hot/boost/boost/graph/two_bit_color_map.hpp:52: error: `value' is not a member of `<declaration error>'

Commenting out line 52 resolves the error.
I printed the value of elements_per_char and it appears to be correct (4).

There is no problem with gcc 3.2 and gcc 4.1 through 4.4.

Maybe a BOOST_WORKAROUND to disable the static assert for 3.4 and 4.0?

Ralf


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk