Bug 229698 - net-p2p/qtum: fails to build with boost 1.68
Summary: net-p2p/qtum: fails to build with boost 1.68
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Vasil Dimov
URL:
Keywords: needs-patch
Depends on:
Blocks: 229569
  Show dependency treegraph
 
Reported: 2018-07-11 13:28 UTC by Jan Beich
Modified: 2018-07-13 21:08 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Beich freebsd_committer 2018-07-11 13:28:06 UTC
After bug 229569 lands this port will end up BROKEN. Can you help? I've already reported upstream.

In file included from cpp-ethereum/libethereum/ChainParams.cpp:23:
In file included from ./cpp-ethereum/utils/json_spirit/JsonSpiritHeaders.h:28:
In file included from ./cpp-ethereum/utils/json_spirit/../json_spirit/json_spirit_reader_template.h:19:
In file included from /usr/local/include/boost/spirit/include/classic_core.hpp:11:
In file included from /usr/local/include/boost/spirit/home/classic/core.hpp:33:
In file included from /usr/local/include/boost/spirit/home/classic/core/primitives/numerics.hpp:18:
/usr/local/include/boost/spirit/home/classic/core/primitives/impl/numerics.ipp:407:31: error: no matching function for call to 'pow'
                            * pow(T(10), T(-hit.length())));
                              ^~~
/usr/local/include/boost/spirit/home/classic/core/composite/impl/directives.ipp:98:24: note: in instantiation of function template specialization 'boost::spirit::classic::impl::real_parser_impl<boost::spirit::classic::match<double>, double, boost::spirit::classic::strict_real_parser_policies<double> >::parse_main<boost::spirit::classic::scanner<std::__1::__wrap_iter<const char *>, boost::spirit::classic::scanner_policies<boost::spirit::classic::no_skipper_iteration_policy<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy> >, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> > >' requested here
            RT hit = p.parse_main(scan.change_policies(policies_t(scan)));
                       ^
/usr/local/include/boost/spirit/home/classic/core/primitives/impl/numerics.ipp:463:30: note: in instantiation of function template specialization 'boost::spirit::classic::impl::implicit_lexeme_parse<boost::spirit::classic::match<double>, boost::spirit::classic::impl::real_parser_impl<boost::spirit::classic::match<double>, double, boost::spirit::classic::strict_real_parser_policies<double> >, boost::spirit::classic::scanner<std::__1::__wrap_iter<const char *>, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> >, boost::spirit::classic::iteration_policy>' requested here
                return impl::implicit_lexeme_parse<RT>(this_, scan, scan);
                             ^
/usr/local/include/boost/spirit/home/classic/core/primitives/numerics.hpp:245:72: note: in instantiation of function template specialization 'boost::spirit::classic::impl::real_parser_impl<boost::spirit::classic::match<double>, double, boost::spirit::classic::strict_real_parser_policies<double> >::parse<boost::spirit::classic::scanner<std::__1::__wrap_iter<const char *>, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> > >' requested here
            return impl::real_parser_impl<result_t, T, RealPoliciesT>::parse(scan);
                                                                       ^
/usr/local/include/boost/spirit/home/classic/core/composite/actions.hpp:113:44: note: in instantiation of function template specialization 'boost::spirit::classic::real_parser<double, boost::spirit::classic::strict_real_parser_policies<double> >::parse<boost::spirit::classic::scanner<std::__1::__wrap_iter<const char *>, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy> > >' requested here
            result_t hit = this->subject().parse(scan);
                                           ^
/usr/local/include/boost/spirit/home/classic/core/composite/alternative.hpp:67:49: note: in instantiation of function template specialization 'boost::spirit::classic::action<boost::spirit::classic::real_parser<double, boost::spirit::classic::strict_real_parser_policies<double> >, boost::function<void (double)> >::parse<boost::spirit::classic::scanner<std::__1::__wrap_iter<const char *>, boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<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))
                                                ^
/usr/local/include/boost/spirit/home/classic/core/composite/alternative.hpp:67:49: note: (skipping 11 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
/usr/local/include/boost/spirit/home/classic/core/scanner/impl/skipper.ipp:155:13: note: in instantiation of function template specialization 'boost::spirit::classic::impl::phrase_parser<boost::spirit::classic::space_parser>::parse<std::__1::__wrap_iter<const char *>, json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::__1::basic_string<char> > >, std::__1::__wrap_iter<const char *> > >' requested here
            parse(first, last, p.derived(), skip.derived());
            ^
./cpp-ethereum/utils/json_spirit/../json_spirit/json_spirit_reader_template.h:523:47: note: in instantiation of function template specialization 'boost::spirit::classic::parse<std::__1::__wrap_iter<const char *>, json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::__1::basic_string<char> > >, std::__1::__wrap_iter<const char *> >, boost::spirit::classic::space_parser>' requested here
                            spirit_namespace::parse( begin, end, 
                                              ^
./cpp-ethereum/utils/json_spirit/../json_spirit/json_spirit_reader_template.h:552:21: note: in instantiation of function template specialization 'json_spirit::read_range_or_throw<std::__1::__wrap_iter<const char *>, json_spirit::Value_impl<json_spirit::Config_map<std::__1::basic_string<char> > > >' requested here
            begin = read_range_or_throw( begin, end, value );
                    ^
./cpp-ethereum/utils/json_spirit/../json_spirit/json_spirit_reader_template.h:573:16: note: in instantiation of function template specialization 'json_spirit::read_range<std::__1::__wrap_iter<const char *>, json_spirit::Value_impl<json_spirit::Config_map<std::__1::basic_string<char> > > >' requested here
        return read_range( begin, s.end(), value );
               ^
cpp-ethereum/libethereum/ChainParams.cpp:58:15: note: in instantiation of function template specialization 'json_spirit::read_string<std::__1::basic_string<char>, json_spirit::Value_impl<json_spirit::Config_map<std::__1::basic_string<char> > > >' requested here
        json_spirit::read_string(_json, val);
                     ^
/usr/local/include/boost/rational.hpp:873:26: note: candidate template ignored: could not match 'rational<type-parameter-0-0>' against 'double'
inline rational<IntType> pow(rational<IntType> base, IntType exponent)
                         ^
In file included from cpp-ethereum/libethereum/ChainParams.cpp:23:
In file included from ./cpp-ethereum/utils/json_spirit/JsonSpiritHeaders.h:28:
In file included from ./cpp-ethereum/utils/json_spirit/../json_spirit/json_spirit_reader_template.h:19:
In file included from /usr/local/include/boost/spirit/include/classic_core.hpp:11:
In file included from /usr/local/include/boost/spirit/home/classic/core.hpp:33:
In file included from /usr/local/include/boost/spirit/home/classic/core/primitives/numerics.hpp:18:
/usr/local/include/boost/spirit/home/classic/core/primitives/impl/numerics.ipp:446:30: error: no matching function for call to 'pow'
                        n *= pow(T(10), T(e_n_hit.value()));
                             ^~~
/usr/local/include/boost/rational.hpp:873:26: note: candidate template ignored: could not match 'rational<type-parameter-0-0>' against 'double'
inline rational<IntType> pow(rational<IntType> base, IntType exponent)
                         ^