kyles-work-imac:boost_libc++ kmtarplee$ ./build.sh In file included from source.cpp:2: In file included from /opt/local/include/boost/property_tree/json_parser.hpp:14: /opt/local/include/boost/property_tree/detail/json_parser_read.hpp:105:43: error: no viable conversion from 'pair, std::__1::basic_string >' to 'const value_type' (aka 'const pair, self_type>') c.stack.back()->push_back(std::make_pair(c.name, Str(b, e))); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /opt/local/include/boost/spirit/home/classic/core/scanner/scanner.hpp:148:13: note: in instantiation of member function 'boost::property_tree::json_parser::context, std::__1::basic_string, std::__1::less > > >::a_literal_val::operator()' requested here actor(first, last); ^ /opt/local/include/boost/spirit/home/classic/core/scanner/scanner.hpp:163:46: note: in instantiation of function template specialization 'boost::spirit::classic::attributed_action_policy::call, std::__1::basic_string, std::__1::less > > >::a_literal_val, std::__1::__wrap_iter >' requested here attributed_action_policy::call(actor, val, first, last); ^ /opt/local/include/boost/spirit/home/classic/core/composite/actions.hpp:116:22: note: in instantiation of function template specialization 'boost::spirit::classic::action_policy::do_action, std::__1::basic_string, std::__1::less > > >::a_literal_val, boost::spirit::classic::nil_t, std::__1::__wrap_iter >' requested here scan.do_action(actor, val, save, scan.first); ^ /opt/local/include/boost/spirit/home/classic/core/composite/alternative.hpp:71:34: note: in instantiation of function template specialization 'boost::spirit::classic::action, boost::spirit::classic::scanner_policies, boost::spirit::classic::kleene_star, boost::spirit::classic::alternative, boost::spirit::classic::unary_parser_category, boost::spirit::classic::non_nested, boost::spirit::classic::is_lexeme> >, boost::spirit::classic::confix_parser, boost::spirit::classic::kleene_star, boost::spirit::classic::strlit, boost::spirit::classic::unary_parser_category, boost::spirit::classic::non_nested, boost::spirit::classic::is_lexeme> >, boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::nil_t, boost::spirit::classic::nil_t>, boost::spirit::classic::strlit >, boost::spirit::classic::strlit >, boost::spirit::classic::strlit >, boost::property_tree::json_parser::context, std::__1::basic_string, std::__1::less > > >::a_literal_val>::parse, boost::spirit::classic::scanner_policies, boost::spirit::classic::kleene_star, boost::spirit::classic::alternative, boost::spirit::classic::unary_parser_category, boost::spirit::classic::non_nested, boost::spirit::classic::is_lexeme> >, boost::spirit::classic::confix_parser, boost::spirit::classic::kleene_star, boost::spirit::classic::strlit, boost::spirit::classic::unary_parser_category, boost::spirit::classic::non_nested, boost::spirit::classic::is_lexeme> >, boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> > >' requested here return this->right().parse(scan); ^ /opt/local/include/boost/spirit/home/classic/core/composite/alternative.hpp:67:49: note: in instantiation of function template specialization 'boost::spirit::classic::alternative, boost::spirit::classic::scanner_policies, boost::spirit::classic::kleene_star, boost::spirit::classic::alternative, boost::spirit::classic::unary_parser_category, boost::spirit::classic::non_nested, boost::spirit::classic::is_lexeme> >, boost::spirit::classic::confix_parser, boost::spirit::classic::kleene_star, boost::spirit::classic::strlit, boost::spirit::classic::unary_parser_category, boost::spirit::classic::non_nested, boost::spirit::classic::is_lexeme> >, boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::nil_t, boost::spirit::classic::nil_t>, boost::property_tree::json_parser::context, std::__1::basic_string, std::__1::less > > >::a_string_val>, boost::spirit::classic::action, boost::spirit::classic::scanner_policies, boost::spirit::classic::kleene_star, boost::spirit::classic::alternative, boost::spirit::classic::unary_parser_category, boost::spirit::classic::non_nested, boost::spirit::classic::is_lexeme> >, boost::spirit::classic::confix_parser, boost::spirit::classic::kleene_star, boost::spirit::classic::strlit, boost::spirit::classic::unary_parser_category, boost::spirit::classic::non_nested, boost::spirit::classic::is_lexeme> >, boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::nil_t, boost::spirit::classic::nil_t>, boost::spirit::classic::strlit >, boost::spirit::classic::strlit >, boost::spirit::classic::strlit >, boost::property_tree::json_parser::context, std::__1::basic_string, std::__1::less > > >::a_literal_val> >::parse, boost::spirit::classic::scanner_policies, boost::spirit::classic::kleene_star, boost::spirit::classic::alternative, boost::spirit::classic::unary_parser_category, boost::spirit::classic::non_nested, boost::spirit::classic::is_lexeme> >, boost::spirit::classic::confix_parser, boost::spirit::classic::kleene_star, boost::spirit::classic::strlit, boost::spirit::classic::unary_parser_category, boost::spirit::classic::non_nested, boost::spirit::classic::is_lexeme> >, boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> > >' requested here if (result_t hit = this->left().parse(scan)) ^ /opt/local/include/boost/spirit/home/classic/core/composite/alternative.hpp:67:49: note: (skipping 9 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) /opt/local/include/boost/spirit/home/classic/core/scanner/impl/skipper.ipp:109:38: note: in instantiation of function template specialization 'boost::spirit::classic::grammar, std::__1::basic_string, std::__1::less > > >, boost::spirit::classic::parser_context >::parse, boost::spirit::classic::scanner_policies, boost::spirit::classic::kleene_star, boost::spirit::classic::alternative, boost::spirit::classic::unary_parser_category, boost::spirit::classic::non_nested, boost::spirit::classic::is_lexeme> >, boost::spirit::classic::confix_parser, boost::spirit::classic::kleene_star, boost::spirit::classic::strlit, boost::spirit::classic::unary_parser_category, boost::spirit::classic::non_nested, boost::spirit::classic::is_lexeme> >, boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> > >' requested here match hit = p.parse(scan); ^ /opt/local/include/boost/spirit/home/classic/core/scanner/impl/skipper.ipp:154:16: note: in instantiation of function template specialization 'boost::spirit::classic::impl::phrase_parser, boost::spirit::classic::kleene_star, boost::spirit::classic::alternative, boost::spirit::classic::unary_parser_category, boost::spirit::classic::non_nested, boost::spirit::classic::is_lexeme> >, boost::spirit::classic::confix_parser, boost::spirit::classic::kleene_star, boost::spirit::classic::strlit, boost::spirit::classic::unary_parser_category, boost::spirit::classic::non_nested, boost::spirit::classic::is_lexeme> > >::parse, boost::property_tree::json_parser::json_grammar, std::__1::basic_string, std::__1::less > > > >' requested here return impl::phrase_parser:: ^ /opt/local/include/boost/property_tree/detail/json_parser_read.hpp:314:33: note: in instantiation of function template specialization 'boost::spirit::classic::parse, boost::property_tree::json_parser::json_grammar, std::__1::basic_string, std::__1::less > > >, boost::spirit::classic::alternative, boost::spirit::classic::kleene_star, boost::spirit::classic::alternative, boost::spirit::classic::unary_parser_category, boost::spirit::classic::non_nested, boost::spirit::classic::is_lexeme> >, boost::spirit::classic::confix_parser, boost::spirit::classic::kleene_star, boost::spirit::classic::strlit, boost::spirit::classic::unary_parser_category, boost::spirit::classic::non_nested, boost::spirit::classic::is_lexeme> > >' requested here parse_info pi = parse(v.begin(), v.end(), g, ^ /opt/local/include/boost/property_tree/json_parser.hpp:45:9: note: in instantiation of function template specialization 'boost::property_tree::json_parser::read_json_internal, std::__1::basic_string, std::__1::less > > >' requested here read_json_internal(stream, pt, std::string()); ^ source.cpp:7:5: note: in instantiation of function template specialization 'boost::property_tree::json_parser::read_json, std::__1::basic_string, std::__1::less > > >' requested here boost::property_tree::read_json(std::cin, pt); ^ /usr/include/c++/v1/utility:200:24: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'pair, std::__1::basic_string >' to 'const std::__1::pair, boost::property_tree::basic_ptree, std::__1::basic_string, std::__1::less > > > &' for 1st argument; struct _LIBCPP_VISIBLE pair ^ /usr/include/c++/v1/utility:215:9: note: candidate template ignored: substitution failure [with _U1 = std::__1::basic_string, _U2 = std::__1::basic_string] pair(const pair<_U1, _U2>& __p, ^ /opt/local/include/boost/property_tree/ptree.hpp:154:46: note: passing argument to parameter 'value' here iterator push_back(const value_type &value); ^ 1 error generated.