MUECore-DISCONTINUED icon indicating copy to clipboard operation
MUECore-DISCONTINUED copied to clipboard

Compilation of MUE wallet fails on Arch Linux (boost 1.66)

Open tterpelle opened this issue 7 years ago • 0 comments

Compilation of the MUE wallet fails on Arch Linux when the boost packages are at version 1.66.

...
  CXX      libbitcoin_server_a-txmempool.o
  CXX      libbitcoin_server_a-validationinterface.o
In file included from /usr/include/boost/multi_index/ordered_index.hpp:17:0,
                 from txmempool.h:21,
                 from txmempool.cpp:6:
/usr/include/boost/multi_index/detail/ord_index_impl.hpp: In instantiation of ‘bool boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::in_place(boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::value_param_type, boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type*, boost::multi_index::detail::ordered_non_unique_tag) const [with KeyFromValue = boost::multi_index::identity<CTxMemPoolEntry>; Compare = CompareTxMemPoolEntryByDescendantScore; SuperMeta = boost::multi_index::detail::nth_layer<2, CTxMemPoolEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<mempoolentry_txid>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByDescendantScore>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByEntryTime>, boost::multi_index::ordered_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByScore> >, std::allocator<CTxMemPoolEntry> >; TagList = boost::mpl::vector0<mpl_::na>; Category = boost::multi_index::detail::ordered_non_unique_tag; AugmentPolicy = boost::multi_index::detail::null_augment_policy; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::value_param_type = const CTxMemPoolEntry&; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > >; typename SuperMeta::type::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > >]’:
/usr/include/boost/multi_index/detail/ord_index_impl.hpp:825:17:   required from ‘bool boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::modify_(boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type*) [with KeyFromValue = boost::multi_index::identity<CTxMemPoolEntry>; Compare = CompareTxMemPoolEntryByDescendantScore; SuperMeta = boost::multi_index::detail::nth_layer<2, CTxMemPoolEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<mempoolentry_txid>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByDescendantScore>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByEntryTime>, boost::multi_index::ordered_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByScore> >, std::allocator<CTxMemPoolEntry> >; TagList = boost::mpl::vector0<mpl_::na>; Category = boost::multi_index::detail::ordered_non_unique_tag; AugmentPolicy = boost::multi_index::detail::null_augment_policy; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > >; typename SuperMeta::type::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > >]’
/usr/include/boost/multi_index/detail/ord_index_impl.hpp:860:25:   required from ‘bool boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::modify_(boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type*) [with KeyFromValue = mempoolentry_txid; Compare = std::less<uint256>; SuperMeta = boost::multi_index::detail::nth_layer<1, CTxMemPoolEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<mempoolentry_txid>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByDescendantScore>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByEntryTime>, boost::multi_index::ordered_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByScore> >, std::allocator<CTxMemPoolEntry> >; TagList = boost::mpl::vector0<mpl_::na>; Category = boost::multi_index::detail::ordered_unique_tag; AugmentPolicy = boost::multi_index::detail::null_augment_policy; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >; typename SuperMeta::type::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > >]’
/usr/include/boost/multi_index_container.hpp:823:25:   required from ‘bool boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>::modify_(Modifier&, boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>::node_type*) [with Modifier = update_descendant_state; Value = CTxMemPoolEntry; IndexSpecifierList = boost::multi_index::indexed_by<boost::multi_index::ordered_unique<mempoolentry_txid>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByDescendantScore>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByEntryTime>, boost::multi_index::ordered_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByScore> >; Allocator = std::allocator<CTxMemPoolEntry>; boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >]’
/usr/include/boost/multi_index/detail/index_base.hpp:278:34:   required from ‘bool boost::multi_index::detail::index_base<Value, IndexSpecifierList, Allocator>::final_modify_(Modifier&, boost::multi_index::detail::index_base<Value, IndexSpecifierList, Allocator>::final_node_type*) [with Modifier = update_descendant_state; Value = CTxMemPoolEntry; IndexSpecifierList = boost::multi_index::indexed_by<boost::multi_index::ordered_unique<mempoolentry_txid>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByDescendantScore>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByEntryTime>, boost::multi_index::ordered_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByScore> >; Allocator = std::allocator<CTxMemPoolEntry>; boost::multi_index::detail::index_base<Value, IndexSpecifierList, Allocator>::final_node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >]’
/usr/include/boost/multi_index/detail/ord_index_impl.hpp:419:61:   required from ‘bool boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::modify(boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::iterator, Modifier) [with Modifier = update_descendant_state; KeyFromValue = mempoolentry_txid; Compare = std::less<uint256>; SuperMeta = boost::multi_index::detail::nth_layer<1, CTxMemPoolEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<mempoolentry_txid>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByDescendantScore>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByEntryTime>, boost::multi_index::ordered_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByScore> >, std::allocator<CTxMemPoolEntry> >; TagList = boost::mpl::vector0<mpl_::na>; Category = boost::multi_index::detail::ordered_unique_tag; AugmentPolicy = boost::multi_index::detail::null_augment_policy; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::iterator = boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > > >; typename SuperMeta::type::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > >]’
txmempool.cpp:128:87:   required from here
/usr/include/boost/multi_index/detail/ord_index_impl.hpp:1181:7: error: no match for call to ‘(const key_compare {aka const CompareTxMemPoolEntryByDescendantScore}) (const CTxMemPoolEntry&, CTxMemPoolEntry&)’
       if(comp_(key(v),key(y->value())))return false;
       ^~
In file included from txmempool.cpp:6:0:
txmempool.h:245:10: note: candidate: bool CompareTxMemPoolEntryByDescendantScore::operator()(const CTxMemPoolEntry&, const CTxMemPoolEntry&) <near match>
     bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
          ^~~~~~~~
txmempool.h:245:10: note:   passing ‘const key_compare* {aka const CompareTxMemPoolEntryByDescendantScore*}’ as ‘this’ argument discards qualifiers
In file included from /usr/include/boost/multi_index/ordered_index.hpp:17:0,
                 from txmempool.h:21,
                 from txmempool.cpp:6:
/usr/include/boost/multi_index/detail/ord_index_impl.hpp:1186:25: error: no match for call to ‘(const key_compare {aka const CompareTxMemPoolEntryByDescendantScore}) (CTxMemPoolEntry&, const CTxMemPoolEntry&)’
     return y==header()||!comp_(key(y->value()),key(v));
In file included from txmempool.cpp:6:0:
txmempool.h:245:10: note: candidate: bool CompareTxMemPoolEntryByDescendantScore::operator()(const CTxMemPoolEntry&, const CTxMemPoolEntry&) <near match>
     bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
          ^~~~~~~~
txmempool.h:245:10: note:   passing ‘const key_compare* {aka const CompareTxMemPoolEntryByDescendantScore*}’ as ‘this’ argument discards qualifiers
In file included from /usr/include/boost/multi_index/ordered_index.hpp:17:0,
                 from txmempool.h:21,
                 from txmempool.cpp:6:
/usr/include/boost/multi_index/detail/ord_index_impl.hpp: In instantiation of ‘bool boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::in_place(boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::value_param_type, boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type*, boost::multi_index::detail::ordered_non_unique_tag) const [with KeyFromValue = boost::multi_index::identity<CTxMemPoolEntry>; Compare = CompareTxMemPoolEntryByEntryTime; SuperMeta = boost::multi_index::detail::nth_layer<3, CTxMemPoolEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<mempoolentry_txid>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByDescendantScore>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByEntryTime>, boost::multi_index::ordered_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByScore> >, std::allocator<CTxMemPoolEntry> >; TagList = boost::mpl::vector0<mpl_::na>; Category = boost::multi_index::detail::ordered_non_unique_tag; AugmentPolicy = boost::multi_index::detail::null_augment_policy; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::value_param_type = const CTxMemPoolEntry&; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > >; typename SuperMeta::type::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > >]’:
/usr/include/boost/multi_index/detail/ord_index_impl.hpp:860:25:   recursively required from ‘bool boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::modify_(boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type*) [with KeyFromValue = boost::multi_index::identity<CTxMemPoolEntry>; Compare = CompareTxMemPoolEntryByDescendantScore; SuperMeta = boost::multi_index::detail::nth_layer<2, CTxMemPoolEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<mempoolentry_txid>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByDescendantScore>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByEntryTime>, boost::multi_index::ordered_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByScore> >, std::allocator<CTxMemPoolEntry> >; TagList = boost::mpl::vector0<mpl_::na>; Category = boost::multi_index::detail::ordered_non_unique_tag; AugmentPolicy = boost::multi_index::detail::null_augment_policy; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > >; typename SuperMeta::type::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > >]’
/usr/include/boost/multi_index/detail/ord_index_impl.hpp:860:25:   required from ‘bool boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::modify_(boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type*) [with KeyFromValue = mempoolentry_txid; Compare = std::less<uint256>; SuperMeta = boost::multi_index::detail::nth_layer<1, CTxMemPoolEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<mempoolentry_txid>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByDescendantScore>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByEntryTime>, boost::multi_index::ordered_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByScore> >, std::allocator<CTxMemPoolEntry> >; TagList = boost::mpl::vector0<mpl_::na>; Category = boost::multi_index::detail::ordered_unique_tag; AugmentPolicy = boost::multi_index::detail::null_augment_policy; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >; typename SuperMeta::type::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > >]’
/usr/include/boost/multi_index_container.hpp:823:25:   required from ‘bool boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>::modify_(Modifier&, boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>::node_type*) [with Modifier = update_descendant_state; Value = CTxMemPoolEntry; IndexSpecifierList = boost::multi_index::indexed_by<boost::multi_index::ordered_unique<mempoolentry_txid>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByDescendantScore>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByEntryTime>, boost::multi_index::ordered_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByScore> >; Allocator = std::allocator<CTxMemPoolEntry>; boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >]’
/usr/include/boost/multi_index/detail/index_base.hpp:278:34:   required from ‘bool boost::multi_index::detail::index_base<Value, IndexSpecifierList, Allocator>::final_modify_(Modifier&, boost::multi_index::detail::index_base<Value, IndexSpecifierList, Allocator>::final_node_type*) [with Modifier = update_descendant_state; Value = CTxMemPoolEntry; IndexSpecifierList = boost::multi_index::indexed_by<boost::multi_index::ordered_unique<mempoolentry_txid>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByDescendantScore>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByEntryTime>, boost::multi_index::ordered_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByScore> >; Allocator = std::allocator<CTxMemPoolEntry>; boost::multi_index::detail::index_base<Value, IndexSpecifierList, Allocator>::final_node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >]’
/usr/include/boost/multi_index/detail/ord_index_impl.hpp:419:61:   required from ‘bool boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::modify(boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::iterator, Modifier) [with Modifier = update_descendant_state; KeyFromValue = mempoolentry_txid; Compare = std::less<uint256>; SuperMeta = boost::multi_index::detail::nth_layer<1, CTxMemPoolEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<mempoolentry_txid>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByDescendantScore>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByEntryTime>, boost::multi_index::ordered_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByScore> >, std::allocator<CTxMemPoolEntry> >; TagList = boost::mpl::vector0<mpl_::na>; Category = boost::multi_index::detail::ordered_unique_tag; AugmentPolicy = boost::multi_index::detail::null_augment_policy; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::iterator = boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > > >; typename SuperMeta::type::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > >]’
txmempool.cpp:128:87:   required from here
/usr/include/boost/multi_index/detail/ord_index_impl.hpp:1181:7: error: no match for call to ‘(const key_compare {aka const CompareTxMemPoolEntryByEntryTime}) (const CTxMemPoolEntry&, CTxMemPoolEntry&)’
       if(comp_(key(v),key(y->value())))return false;
       ^~
In file included from txmempool.cpp:6:0:
txmempool.h:296:10: note: candidate: bool CompareTxMemPoolEntryByEntryTime::operator()(const CTxMemPoolEntry&, const CTxMemPoolEntry&) <near match>
     bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
          ^~~~~~~~
txmempool.h:296:10: note:   passing ‘const key_compare* {aka const CompareTxMemPoolEntryByEntryTime*}’ as ‘this’ argument discards qualifiers
In file included from /usr/include/boost/multi_index/ordered_index.hpp:17:0,
                 from txmempool.h:21,
                 from txmempool.cpp:6:
/usr/include/boost/multi_index/detail/ord_index_impl.hpp:1186:25: error: no match for call to ‘(const key_compare {aka const CompareTxMemPoolEntryByEntryTime}) (CTxMemPoolEntry&, const CTxMemPoolEntry&)’
     return y==header()||!comp_(key(y->value()),key(v));
In file included from txmempool.cpp:6:0:
txmempool.h:296:10: note: candidate: bool CompareTxMemPoolEntryByEntryTime::operator()(const CTxMemPoolEntry&, const CTxMemPoolEntry&) <near match>
     bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
          ^~~~~~~~
txmempool.h:296:10: note:   passing ‘const key_compare* {aka const CompareTxMemPoolEntryByEntryTime*}’ as ‘this’ argument discards qualifiers
In file included from /usr/include/boost/multi_index/ordered_index.hpp:17:0,
                 from txmempool.h:21,
                 from txmempool.cpp:6:
/usr/include/boost/multi_index/detail/ord_index_impl.hpp: In instantiation of ‘bool boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::in_place(boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::value_param_type, boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type*, boost::multi_index::detail::ordered_unique_tag) const [with KeyFromValue = boost::multi_index::identity<CTxMemPoolEntry>; Compare = CompareTxMemPoolEntryByScore; SuperMeta = boost::multi_index::detail::nth_layer<4, CTxMemPoolEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<mempoolentry_txid>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByDescendantScore>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByEntryTime>, boost::multi_index::ordered_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByScore> >, std::allocator<CTxMemPoolEntry> >; TagList = boost::mpl::vector0<mpl_::na>; Category = boost::multi_index::detail::ordered_unique_tag; AugmentPolicy = boost::multi_index::detail::null_augment_policy; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::value_param_type = const CTxMemPoolEntry&; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > >; typename SuperMeta::type::node_type = boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> >]’:
/usr/include/boost/multi_index/detail/ord_index_impl.hpp:860:25:   recursively required from ‘bool boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::modify_(boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type*) [with KeyFromValue = boost::multi_index::identity<CTxMemPoolEntry>; Compare = CompareTxMemPoolEntryByDescendantScore; SuperMeta = boost::multi_index::detail::nth_layer<2, CTxMemPoolEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<mempoolentry_txid>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByDescendantScore>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByEntryTime>, boost::multi_index::ordered_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByScore> >, std::allocator<CTxMemPoolEntry> >; TagList = boost::mpl::vector0<mpl_::na>; Category = boost::multi_index::detail::ordered_non_unique_tag; AugmentPolicy = boost::multi_index::detail::null_augment_policy; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > >; typename SuperMeta::type::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > >]’
/usr/include/boost/multi_index/detail/ord_index_impl.hpp:860:25:   required from ‘bool boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::modify_(boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type*) [with KeyFromValue = mempoolentry_txid; Compare = std::less<uint256>; SuperMeta = boost::multi_index::detail::nth_layer<1, CTxMemPoolEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<mempoolentry_txid>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByDescendantScore>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByEntryTime>, boost::multi_index::ordered_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByScore> >, std::allocator<CTxMemPoolEntry> >; TagList = boost::mpl::vector0<mpl_::na>; Category = boost::multi_index::detail::ordered_unique_tag; AugmentPolicy = boost::multi_index::detail::null_augment_policy; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >; typename SuperMeta::type::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > >]’
/usr/include/boost/multi_index_container.hpp:823:25:   required from ‘bool boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>::modify_(Modifier&, boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>::node_type*) [with Modifier = update_descendant_state; Value = CTxMemPoolEntry; IndexSpecifierList = boost::multi_index::indexed_by<boost::multi_index::ordered_unique<mempoolentry_txid>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByDescendantScore>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByEntryTime>, boost::multi_index::ordered_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByScore> >; Allocator = std::allocator<CTxMemPoolEntry>; boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >]’
/usr/include/boost/multi_index/detail/index_base.hpp:278:34:   required from ‘bool boost::multi_index::detail::index_base<Value, IndexSpecifierList, Allocator>::final_modify_(Modifier&, boost::multi_index::detail::index_base<Value, IndexSpecifierList, Allocator>::final_node_type*) [with Modifier = update_descendant_state; Value = CTxMemPoolEntry; IndexSpecifierList = boost::multi_index::indexed_by<boost::multi_index::ordered_unique<mempoolentry_txid>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByDescendantScore>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByEntryTime>, boost::multi_index::ordered_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByScore> >; Allocator = std::allocator<CTxMemPoolEntry>; boost::multi_index::detail::index_base<Value, IndexSpecifierList, Allocator>::final_node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > >]’
/usr/include/boost/multi_index/detail/ord_index_impl.hpp:419:61:   required from ‘bool boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::modify(boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::iterator, Modifier) [with Modifier = update_descendant_state; KeyFromValue = mempoolentry_txid; Compare = std::less<uint256>; SuperMeta = boost::multi_index::detail::nth_layer<1, CTxMemPoolEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<mempoolentry_txid>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByDescendantScore>, boost::multi_index::ordered_non_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByEntryTime>, boost::multi_index::ordered_unique<boost::multi_index::identity<CTxMemPoolEntry>, CompareTxMemPoolEntryByScore> >, std::allocator<CTxMemPoolEntry> >; TagList = boost::mpl::vector0<mpl_::na>; Category = boost::multi_index::detail::ordered_unique_tag; AugmentPolicy = boost::multi_index::detail::null_augment_policy; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::iterator = boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > > > >; typename SuperMeta::type::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::allocator<CTxMemPoolEntry> > > > >]’
txmempool.cpp:128:87:   required from here
/usr/include/boost/multi_index/detail/ord_index_impl.hpp:1167:10: error: no match for call to ‘(const key_compare {aka const CompareTxMemPoolEntryByScore}) (CTxMemPoolEntry&, const CTxMemPoolEntry&)’
       if(!comp_(key(y->value()),key(v)))return false;
In file included from txmempool.cpp:6:0:
txmempool.h:282:10: note: candidate: bool CompareTxMemPoolEntryByScore::operator()(const CTxMemPoolEntry&, const CTxMemPoolEntry&) <near match>
     bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
          ^~~~~~~~
txmempool.h:282:10: note:   passing ‘const key_compare* {aka const CompareTxMemPoolEntryByScore*}’ as ‘this’ argument discards qualifiers
In file included from /usr/include/boost/multi_index/ordered_index.hpp:17:0,
                 from txmempool.h:21,
                 from txmempool.cpp:6:
/usr/include/boost/multi_index/detail/ord_index_impl.hpp:1172:23: error: no match for call to ‘(const key_compare {aka const CompareTxMemPoolEntryByScore}) (const CTxMemPoolEntry&, CTxMemPoolEntry&)’
     return y==header()||comp_(key(v),key(y->value()));
In file included from txmempool.cpp:6:0:
txmempool.h:282:10: note: candidate: bool CompareTxMemPoolEntryByScore::operator()(const CTxMemPoolEntry&, const CTxMemPoolEntry&) <near match>
     bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
          ^~~~~~~~
txmempool.h:282:10: note:   passing ‘const key_compare* {aka const CompareTxMemPoolEntryByScore*}’ as ‘this’ argument discards qualifiers
  CXX      libbitcoin_server_a-versionbits.o
make[2]: *** [Makefile:5871: libbitcoin_server_a-txmempool.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/monetaryunit/arch/pkgbuilds/src/MUECore/src'
make[1]: *** [Makefile:9046: all-recursive] Error 1
make[1]: Leaving directory '/monetaryunit/arch/pkgbuilds/src/MUECore/src'
make: *** [Makefile:651: all-recursive] Error 1
==> ERROR: A failure occurred in build().

If I downgrade packages boost and boost-libs to version 1.65 the build succeeds.

To downgrade packages on Arch, follow their wiki page:

pacman -U https://archive.archlinux.org/packages/b/boost/boost-1.65.1-3-x86_64.pkg.tar.xz https://archive.archlinux.org/packages/b/boost-libs/boost-libs-1.65.1-3-x86_64.pkg.tar.xz

tterpelle avatar Feb 08 '18 10:02 tterpelle