You are not logged in.

#1 2018-01-30 03:32:23

roamto
Member
Registered: 2018-01-29
Posts: 1

Can't install litecoin-qt, a bug of C++ boost library

I'm trying to install litecoin-qt - https://aur.archlinux.org/packages/litecoin-qt/ I get this error:


In file included from /usr/include/boost/multi_index/ordered_index.hpp:17:0,
                 from txmempool.h:25,
                 from miner.h:10,
                 from miner.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<CTxMemPoolModifiedEntry>; Compare = CompareModifiedEntry; SuperMeta = boost::multi_index::detail::nth_layer<2, CTxMemPoolModifiedEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<modifiedentry_iter, CompareCTxMemPoolIter>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<ancestor_score>, boost::multi_index::identity<CTxMemPoolModifiedEntry>, CompareModifiedEntry> >, std::allocator<CTxMemPoolModifiedEntry> >; TagList = boost::mpl::v_item<ancestor_score, boost::mpl::vector0<mpl_::na>, 0>; 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 CTxMemPoolModifiedEntry&; 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<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> > >; typename SuperMeta::type::node_type = boost::multi_index::detail::index_node_base<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> >]’:
/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<CTxMemPoolModifiedEntry>; Compare = CompareModifiedEntry; SuperMeta = boost::multi_index::detail::nth_layer<2, CTxMemPoolModifiedEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<modifiedentry_iter, CompareCTxMemPoolIter>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<ancestor_score>, boost::multi_index::identity<CTxMemPoolModifiedEntry>, CompareModifiedEntry> >, std::allocator<CTxMemPoolModifiedEntry> >; TagList = boost::mpl::v_item<ancestor_score, boost::mpl::vector0<mpl_::na>, 0>; 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::index_node_base<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> > >; typename SuperMeta::type::node_type = boost::multi_index::detail::index_node_base<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> >]’
/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 = modifiedentry_iter; Compare = CompareCTxMemPoolIter; SuperMeta = boost::multi_index::detail::nth_layer<1, CTxMemPoolModifiedEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<modifiedentry_iter, CompareCTxMemPoolIter>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<ancestor_score>, boost::multi_index::identity<CTxMemPoolModifiedEntry>, CompareModifiedEntry> >, std::allocator<CTxMemPoolModifiedEntry> >; 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::index_node_base<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> > > >; 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<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> > >]’
/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_for_parent_inclusion; Value = CTxMemPoolModifiedEntry; IndexSpecifierList = boost::multi_index::indexed_by<boost::multi_index::ordered_unique<modifiedentry_iter, CompareCTxMemPoolIter>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<ancestor_score>, boost::multi_index::identity<CTxMemPoolModifiedEntry>, CompareModifiedEntry> >; Allocator = std::allocator<CTxMemPoolModifiedEntry>; 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::index_node_base<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> > > >]’
/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_for_parent_inclusion; Value = CTxMemPoolModifiedEntry; IndexSpecifierList = boost::multi_index::indexed_by<boost::multi_index::ordered_unique<modifiedentry_iter, CompareCTxMemPoolIter>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<ancestor_score>, boost::multi_index::identity<CTxMemPoolModifiedEntry>, CompareModifiedEntry> >; Allocator = std::allocator<CTxMemPoolModifiedEntry>; 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::index_node_base<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> > > >]’
/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_for_parent_inclusion; KeyFromValue = modifiedentry_iter; Compare = CompareCTxMemPoolIter; SuperMeta = boost::multi_index::detail::nth_layer<1, CTxMemPoolModifiedEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<modifiedentry_iter, CompareCTxMemPoolIter>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<ancestor_score>, boost::multi_index::identity<CTxMemPoolModifiedEntry>, CompareModifiedEntry> >, std::allocator<CTxMemPoolModifiedEntry> >; 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::index_node_base<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> > > > >; 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<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> > >]’
miner.cpp:373:74:   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 CompareModifiedEntry}) (const CTxMemPoolModifiedEntry&, CTxMemPoolModifiedEntry&)’
       if(comp_(key(v),key(y->value())))return false;
       ^~
In file included from miner.cpp:6:0:
miner.h:76:10: note: candidate: bool CompareModifiedEntry::operator()(const CTxMemPoolModifiedEntry&, const CTxMemPoolModifiedEntry&) <near match>
     bool operator()(const CTxMemPoolModifiedEntry &a, const CTxMemPoolModifiedEntry &b)
          ^~~~~~~~
miner.h:76:10: note:   passing ‘const key_compare* {aka const CompareModifiedEntry*}’ as ‘this’ argument discards qualifiers
In file included from /usr/include/boost/multi_index/ordered_index.hpp:17:0,
                 from txmempool.h:25,
                 from miner.h:10,
                 from miner.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 CompareModifiedEntry}) (CTxMemPoolModifiedEntry&, const CTxMemPoolModifiedEntry&)’
     return y==header()||!comp_(key(y->value()),key(v));
In file included from miner.cpp:6:0:
miner.h:76:10: note: candidate: bool CompareModifiedEntry::operator()(const CTxMemPoolModifiedEntry&, const CTxMemPoolModifiedEntry&) <near match>
     bool operator()(const CTxMemPoolModifiedEntry &a, const CTxMemPoolModifiedEntry &b)
          ^~~~~~~~
miner.h:76:10: note:   passing ‘const key_compare* {aka const CompareModifiedEntry*}’ as ‘this’ argument discards qualifiers
make[2]: *** [Makefile:5413: libbitcoin_server_a-miner.o] Error 1
make[2]: Leaving directory '/home/user123/.cache/pacaur/litecoin-qt/src/litecoin-0.14.2/src'
make[1]: *** [Makefile:8932: all-recursive] Error 1
make[1]: Leaving directory '/home/user123/.cache/pacaur/litecoin-qt/src/litecoin-0.14.2/src'
make: *** [Makefile:686: all-recursive] Error 1
==> ERROR: A failure occurred in build().
    Aborting...
:: failed to build litecoin-qt package(s)

The comment of "chappjc commented on 2018-01-08 19:02" at https://aur.archlinux.org/packages/litecoin-qt/ says that there's a patch.

But this patch has been incorporated into the litecoin-qt package? If not, what's the workaround?

If yes, how to apply it?

Offline

#2 2018-01-30 03:38:50

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,463

Re: Can't install litecoin-qt, a bug of C++ boost library

Why are you asking us instead of the maintainer? They would know whether the patch has been applied or not and they're the one responsible for fixing it.

Offline

#3 2018-01-30 03:44:04

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,444
Website

Re: Can't install litecoin-qt, a bug of C++ boost library

roamto wrote:

But this patch has been incorporated into the litecoin-qt package?

So you are trying to build (and presumably install) an AUR package and you apparently haven't even glanced at the PKGBUILD, or even the files you downloaded from the AUR for that matter.  This is not wise.  Had you even glanced either at the files that were downloaded, or the PKGBUILD, you would know the answer to your question already.

roamto wrote:

If not, what's the workaround?

Apply the patch yourself.  There's a page in the wiki specifically covering this topic which would show up with nearly any attempt to search for it.

Alternatively, retrieve sources from after the patch was added upstream.

Last edited by Trilby (2018-01-30 03:45:31)


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#4 2018-01-30 03:47:21

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,739

Re: Can't install litecoin-qt, a bug of C++ boost library

Moving to AUR Issues


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

Board footer

Powered by FluxBB