Actions
Bug #11397
closedfail to compile with boost 1.55 and gcc 5.0
Status:
Won't Fix
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:
0%
Source:
other
Tags:
Backport:
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
just want to note this down in case others run into the same problem. this is a bug in boost 1.55, and will/should be fixed in boost 1.56. see https://svn.boost.org/trac/boost/ticket/10125 .
CXX json_spirit/json_spirit_reader.lo In file included from /usr/include/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp:15:0, from /usr/include/boost/spirit/home/classic/core/non_terminal/grammar.hpp:21, from /usr/include/boost/spirit/home/classic/core.hpp:42, from /usr/include/boost/spirit/include/classic_core.hpp:11, from json_spirit/json_spirit_reader_template.h:23, from json_spirit/json_spirit_reader.cpp:7: /usr/include/boost/spirit/home/classic/core/non_terminal/impl/object_with_id.ipp: In instantiation of ‘IdT boost::spirit::classic::impl::object_with_id_base<TagT, IdT>::a\ cquire_object_id() [with TagT = boost::spirit::classic::impl::grammar_tag; IdT = long unsigned int]’: /usr/include/boost/spirit/home/classic/core/non_terminal/impl/object_with_id.ipp:78:60: required from ‘boost::spirit::classic::impl::object_with_id<TagT, IdT>::object_w\ ith_id() [with TagT = boost::spirit::classic::impl::grammar_tag; IdT = long unsigned int]’ /usr/include/boost/spirit/home/classic/core/non_terminal/grammar.hpp:51:15: required from ‘boost::spirit::classic::grammar<DerivedT, ContextT>::grammar() [with DerivedT\ = json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::basic_string<char> > >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<c\ har> > >; ContextT = boost::spirit::classic::parser_context<>]’ json_spirit/json_spirit_reader_template.h:381:38: required from ‘json_spirit::Json_grammer<Value_type, Iter_type>::Json_grammer(json_spirit::Json_grammer<Value_type, It\ er_type>::Semantic_actions_t&) [with Value_type = json_spirit::Value_impl<json_spirit::Config_vector<std::basic_string<char> > >; Iter_type = __gnu_cxx::__normal_iterator\ <const char*, std::basic_string<char> >; json_spirit::Json_grammer<Value_type, Iter_type>::Semantic_actions_t = json_spirit::Semantic_actions<json_spirit::Value_impl<json\ _spirit::Config_vector<std::basic_string<char> > >, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> > >]’ json_spirit/json_spirit_reader_template.h:565:58: required from ‘Iter_type json_spirit::read_range_or_throw(Iter_type, Iter_type, Value_type&) [with Iter_type = __gnu_c\ xx::__normal_iterator<const char*, std::basic_string<char> >; Value_type = json_spirit::Value_impl<json_spirit::Config_vector<std::basic_string<char> > >]’ json_spirit/json_spirit_reader.cpp:39:56: required from here /usr/include/boost/spirit/home/classic/core/non_terminal/impl/object_with_id.ipp:140:33: error: no matching function for call to ‘call_once(boost::once_flag&, void (&)())\ ’ boost::call_once(been_here, mutex_init); ^ In file included from /usr/include/boost/thread/once.hpp:20:0, from /usr/include/boost/spirit/home/classic/core/non_terminal/impl/object_with_id.ipp:18, from /usr/include/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp:15, from /usr/include/boost/spirit/home/classic/core/non_terminal/grammar.hpp:21, from /usr/include/boost/spirit/home/classic/core.hpp:42, from /usr/include/boost/spirit/include/classic_core.hpp:11, from json_spirit/json_spirit_reader_template.h:23, from json_spirit/json_spirit_reader.cpp:7: /usr/include/boost/thread/pthread/once_atomic.hpp:121:15: note: candidate: template<class Function, class ... ArgTypes> void boost::call_once(boost::once_flag&, boost::de\ tail::thread_move_t<T>, boost::detail::thread_move_t<Args>...) inline void call_once(once_flag& flag, BOOST_THREAD_RV_REF(Function) f, BOOST_THREAD_RV_REF(ArgTypes)... args) ^ /usr/include/boost/thread/pthread/once_atomic.hpp:121:15: note: template argument deduction/substitution failed: In file included from /usr/include/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp:15:0, from /usr/include/boost/spirit/home/classic/core/non_terminal/grammar.hpp:21, from /usr/include/boost/spirit/home/classic/core.hpp:42, from /usr/include/boost/spirit/include/classic_core.hpp:11, from json_spirit/json_spirit_reader_template.h:23, from json_spirit/json_spirit_reader.cpp:7: /usr/include/boost/spirit/home/classic/core/non_terminal/impl/object_with_id.ipp:140:33: note: mismatched types ‘boost::detail::thread_move_t<T>’ and ‘void (*)()’ boost::call_once(been_here, mutex_init); ^
and the call_once() error repeats many times.
Actions