Project

General

Profile

Actions

Bug #14998

closed

Build failures with Boost 1.60

Added by Abhishek Lekshmanan about 8 years ago. Updated almost 7 years ago.

Status:
Resolved
Priority:
Normal
Category:
common
Target version:
-
% Done:

0%

Source:
other
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Using boost 1.60 causes build failures in current master with the following errors:

-*- mode: compilation; default-directory: "~/spells/storage/ceph/src/" -*-
Compilation started at Mon Mar  7 13:47:58

make 
make  all-recursive
make[1]: Entering directory '/home/abhishekl/spells/storage/ceph/src'
Making all in ocf
make[2]: Entering directory '/home/abhishekl/spells/storage/ceph/src/ocf'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/abhishekl/spells/storage/ceph/src/ocf'
Making all in java
make[2]: Entering directory '/home/abhishekl/spells/storage/ceph/src/java'
make  all-am
make[3]: Entering directory '/home/abhishekl/spells/storage/ceph/src/java'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/abhishekl/spells/storage/ceph/src/java'
make[2]: Leaving directory '/home/abhishekl/spells/storage/ceph/src/java'
make[2]: Entering directory '/home/abhishekl/spells/storage/ceph/src'
  AR       libos.a
  CXX      osd/libosd_a-PG.o
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h: In instantiation of ‘bool std::less<_Tp>::operator()(const _Tp&, const _Tp&) const [with _Tp = WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue]’:
/usr/include/boost/intrusive/detail/tree_value_compare.hpp:83:36:   required from ‘bool boost::intrusive::tree_value_compare<Key, T, KeyCompare, KeyOfValue>::operator()(const KeyType&, const KeyType2&) [with KeyType = WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue; KeyType2 = WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue; Key = WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue; T = WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue; KeyCompare = std::less<WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue>; KeyOfValue = boost::move_detail::identity<WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue>]’
/usr/include/boost/intrusive/bstree.hpp:1261:41:   required from ‘boost::intrusive::bstree_impl<ValueTraits, VoidOrKeyOfValue, VoidOrKeyComp, SizeType, ConstantTimeSize, AlgoType, HeaderHolder>::iterator boost::intrusive::bstree_impl<ValueTraits, VoidOrKeyOfValue, VoidOrKeyComp, SizeType, ConstantTimeSize, AlgoType, HeaderHolder>::insert_unique_commit(boost::intrusive::bstree_impl<ValueTraits, VoidOrKeyOfValue, VoidOrKeyComp, SizeType, ConstantTimeSize, AlgoType, HeaderHolder>::reference, const insert_commit_data&) [with ValueTraits = boost::intrusive::bhtraits<WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)1u, boost::intrusive::dft_tag, 3u>; VoidOrKeyOfValue = void; VoidOrKeyComp = void; SizeType = long unsigned int; bool ConstantTimeSize = true; boost::intrusive::algo_types AlgoType = (boost::intrusive::algo_types)5u; HeaderHolder = void; boost::intrusive::bstree_impl<ValueTraits, VoidOrKeyOfValue, VoidOrKeyComp, SizeType, ConstantTimeSize, AlgoType, HeaderHolder>::iterator = boost::intrusive::tree_iterator<boost::intrusive::bhtraits<WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)1u, boost::intrusive::dft_tag, 3u>, false>; boost::intrusive::bstree_impl<ValueTraits, VoidOrKeyOfValue, VoidOrKeyComp, SizeType, ConstantTimeSize, AlgoType, HeaderHolder>::reference = WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue&; boost::intrusive::bstree_impl<ValueTraits, VoidOrKeyOfValue, VoidOrKeyComp, SizeType, ConstantTimeSize, AlgoType, HeaderHolder>::insert_commit_data = boost::intrusive::insert_commit_data_t<boost::intrusive::rbtree_node<void*>*>]’
./common/WeightedPriorityQueue.h:153:22:   required from ‘void WeightedPriorityQueue<T, K>::Queue::insert(unsigned int, K&, unsigned int, T&, bool) [with T = std::pair<boost::intrusive_ptr<PG>, PGQueueable>; K = entity_inst_t]’
./common/WeightedPriorityQueue.h:263:7:   required from ‘void WeightedPriorityQueue<T, K>::enqueue_strict(K, unsigned int, T) [with T = std::pair<boost::intrusive_ptr<PG>, PGQueueable>; K = entity_inst_t]’
osd/PG.cc:7992:57:   required from here
/usr/include/c++/5/bits/stl_function.h:387:20: error: no match for ‘operator<’ (operand types are ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ and ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’)
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/utility:70:0,
                 from /usr/include/c++/5/tuple:38,
                 from /usr/include/c++/5/functional:55,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_pair.h:220:5: note: candidate: template<class _T1, class _T2> constexpr bool std::operator<(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)
     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
     ^
/usr/include/c++/5/bits/stl_pair.h:220:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::pair<_T1, _T2>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/5/bits/char_traits.h:39,
                 from /usr/include/c++/5/string:40,
                 from /usr/include/c++/5/stdexcept:39,
                 from /usr/include/c++/5/array:38,
                 from /usr/include/c++/5/tuple:39,
                 from /usr/include/c++/5/functional:55,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_iterator.h:298:5: note: candidate: template<class _Iterator> bool std::operator<(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)
     operator<(const reverse_iterator<_Iterator>& __x,
     ^
/usr/include/c++/5/bits/stl_iterator.h:298:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::reverse_iterator<_Iterator>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/5/bits/char_traits.h:39,
                 from /usr/include/c++/5/string:40,
                 from /usr/include/c++/5/stdexcept:39,
                 from /usr/include/c++/5/array:38,
                 from /usr/include/c++/5/tuple:39,
                 from /usr/include/c++/5/functional:55,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_iterator.h:348:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator<(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)
     operator<(const reverse_iterator<_IteratorL>& __x,
     ^
/usr/include/c++/5/bits/stl_iterator.h:348:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::reverse_iterator<_Iterator>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/5/bits/char_traits.h:39,
                 from /usr/include/c++/5/string:40,
                 from /usr/include/c++/5/stdexcept:39,
                 from /usr/include/c++/5/array:38,
                 from /usr/include/c++/5/tuple:39,
                 from /usr/include/c++/5/functional:55,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_iterator.h:1089:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator<(const std::move_iterator<_Iterator>&, const std::move_iterator<_IteratorR>&)
     operator<(const move_iterator<_IteratorL>& __x,
     ^
/usr/include/c++/5/bits/stl_iterator.h:1089:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::move_iterator<_Iterator>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/5/bits/char_traits.h:39,
                 from /usr/include/c++/5/string:40,
                 from /usr/include/c++/5/stdexcept:39,
                 from /usr/include/c++/5/array:38,
                 from /usr/include/c++/5/tuple:39,
                 from /usr/include/c++/5/functional:55,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_iterator.h:1095:5: note: candidate: template<class _Iterator> bool std::operator<(const std::move_iterator<_Iterator>&, const std::move_iterator<_Iterator>&)
     operator<(const move_iterator<_Iterator>& __x,
     ^
/usr/include/c++/5/bits/stl_iterator.h:1095:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::move_iterator<_Iterator>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/string:52:0,
                 from /usr/include/c++/5/stdexcept:39,
                 from /usr/include/c++/5/array:38,
                 from /usr/include/c++/5/tuple:39,
                 from /usr/include/c++/5/functional:55,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/basic_string.h:4989:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator<(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^
/usr/include/c++/5/bits/basic_string.h:4989:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/string:52:0,
                 from /usr/include/c++/5/stdexcept:39,
                 from /usr/include/c++/5/array:38,
                 from /usr/include/c++/5/tuple:39,
                 from /usr/include/c++/5/functional:55,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/basic_string.h:5001:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator<(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)
     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^
/usr/include/c++/5/bits/basic_string.h:5001:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/string:52:0,
                 from /usr/include/c++/5/stdexcept:39,
                 from /usr/include/c++/5/array:38,
                 from /usr/include/c++/5/tuple:39,
                 from /usr/include/c++/5/functional:55,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/basic_string.h:5013:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator<(const _CharT*, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator<(const _CharT* __lhs,
     ^
/usr/include/c++/5/bits/basic_string.h:5013:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   mismatched types ‘const _CharT*’ and ‘WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/tuple:39:0,
                 from /usr/include/c++/5/functional:55,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/array:250:5: note: candidate: template<class _Tp, long unsigned int _Nm> bool std::operator<(const std::array<_Tp, _Nm>&, const std::array<_Tp, _Nm>&)
     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
     ^
/usr/include/c++/5/array:250:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::array<_Tp, _Nm>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/functional:55:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/tuple:928:5: note: candidate: template<class ... _TElements, class ... _UElements> constexpr bool std::operator<(const std::tuple<_Elements ...>&, const std::tuple<_Elements ...>&)
     operator<(const tuple<_TElements...>& __t,
     ^
/usr/include/c++/5/tuple:928:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::tuple<_Elements ...>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/memory:81:0,
                 from /usr/include/boost/detail/allocator_utilities.hpp:17,
                 from /usr/include/boost/statechart/detail/memory.hpp:14,
                 from /usr/include/boost/statechart/event.hpp:13,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/unique_ptr.h:658:5: note: candidate: template<class _Tp, class _Dp, class _Up, class _Ep> bool std::operator<(const std::unique_ptr<_Tp, _Dp>&, const std::unique_ptr<_Up, _Ep>&)
     operator<(const unique_ptr<_Tp, _Dp>& __x,
     ^
/usr/include/c++/5/bits/unique_ptr.h:658:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/memory:81:0,
                 from /usr/include/boost/detail/allocator_utilities.hpp:17,
                 from /usr/include/boost/statechart/detail/memory.hpp:14,
                 from /usr/include/boost/statechart/event.hpp:13,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/unique_ptr.h:669:5: note: candidate: template<class _Tp, class _Dp> bool std::operator<(const std::unique_ptr<_Tp, _Dp>&, std::nullptr_t)
     operator<(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
     ^
/usr/include/c++/5/bits/unique_ptr.h:669:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/memory:81:0,
                 from /usr/include/boost/detail/allocator_utilities.hpp:17,
                 from /usr/include/boost/statechart/detail/memory.hpp:14,
                 from /usr/include/boost/statechart/event.hpp:13,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/unique_ptr.h:675:5: note: candidate: template<class _Tp, class _Dp> bool std::operator<(std::nullptr_t, const std::unique_ptr<_Tp, _Dp>&)
     operator<(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
     ^
/usr/include/c++/5/bits/unique_ptr.h:675:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   cannot convert ‘__x’ (type ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’) to type ‘std::nullptr_t’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/5/memory:82,
                 from /usr/include/boost/detail/allocator_utilities.hpp:17,
                 from /usr/include/boost/statechart/detail/memory.hpp:14,
                 from /usr/include/boost/statechart/event.hpp:13,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/shared_ptr_base.h:1215:5: note: candidate: template<class _Tp1, class _Tp2, __gnu_cxx::_Lock_policy _Lp> bool std::operator<(const std::__shared_ptr<_Tp1, _Lp>&, const std::__shared_ptr<_Tp2, _Lp>&)
     operator<(const __shared_ptr<_Tp1, _Lp>& __a,
     ^
/usr/include/c++/5/bits/shared_ptr_base.h:1215:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::__shared_ptr<_Tp1, _Lp>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/5/memory:82,
                 from /usr/include/boost/detail/allocator_utilities.hpp:17,
                 from /usr/include/boost/statechart/detail/memory.hpp:14,
                 from /usr/include/boost/statechart/event.hpp:13,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/shared_ptr_base.h:1224:5: note: candidate: template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator<(const std::__shared_ptr<_Tp, _Lp>&, std::nullptr_t)
     operator<(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
     ^
/usr/include/c++/5/bits/shared_ptr_base.h:1224:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::__shared_ptr<_Tp, _Lp>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/5/memory:82,
                 from /usr/include/boost/detail/allocator_utilities.hpp:17,
                 from /usr/include/boost/statechart/detail/memory.hpp:14,
                 from /usr/include/boost/statechart/event.hpp:13,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/shared_ptr_base.h:1229:5: note: candidate: template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator<(std::nullptr_t, const std::__shared_ptr<_Tp, _Lp>&)
     operator<(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
     ^
/usr/include/c++/5/bits/shared_ptr_base.h:1229:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   cannot convert ‘__x’ (type ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’) to type ‘std::nullptr_t’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/memory:82:0,
                 from /usr/include/boost/detail/allocator_utilities.hpp:17,
                 from /usr/include/boost/statechart/detail/memory.hpp:14,
                 from /usr/include/boost/statechart/event.hpp:13,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/shared_ptr.h:368:5: note: candidate: template<class _Tp1, class _Tp2> bool std::operator<(const std::shared_ptr<_Tp1>&, const std::shared_ptr<_Tp2>&)
     operator<(const shared_ptr<_Tp1>& __a,
     ^
/usr/include/c++/5/bits/shared_ptr.h:368:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::shared_ptr<_Tp1>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/memory:82:0,
                 from /usr/include/boost/detail/allocator_utilities.hpp:17,
                 from /usr/include/boost/statechart/detail/memory.hpp:14,
                 from /usr/include/boost/statechart/event.hpp:13,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/shared_ptr.h:377:5: note: candidate: template<class _Tp> bool std::operator<(const std::shared_ptr<_Tp1>&, std::nullptr_t)
     operator<(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
     ^
/usr/include/c++/5/bits/shared_ptr.h:377:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::shared_ptr<_Tp1>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/memory:82:0,
                 from /usr/include/boost/detail/allocator_utilities.hpp:17,
                 from /usr/include/boost/statechart/detail/memory.hpp:14,
                 from /usr/include/boost/statechart/event.hpp:13,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/shared_ptr.h:382:5: note: candidate: template<class _Tp> bool std::operator<(std::nullptr_t, const std::shared_ptr<_Tp1>&)
     operator<(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
     ^
/usr/include/c++/5/bits/shared_ptr.h:382:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   cannot convert ‘__x’ (type ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’) to type ‘std::nullptr_t’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/list:63:0,
                 from /usr/include/boost/statechart/detail/state_base.hpp:29,
                 from /usr/include/boost/statechart/detail/leaf_state.hpp:11,
                 from /usr/include/boost/statechart/simple_state.hpp:13,
                 from osd/PG.h:20,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_list.h:1836:5: note: candidate: template<class _Tp, class _Alloc> bool std::operator<(const std::__cxx11::list<_Tp, _Alloc>&, const std::__cxx11::list<_Tp, _Alloc>&)
     operator<(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
     ^
/usr/include/c++/5/bits/stl_list.h:1836:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::__cxx11::list<_Tp, _Alloc>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/vector:64:0,
                 from /usr/include/c++/5/bits/random.h:34,
                 from /usr/include/c++/5/random:49,
                 from /usr/include/c++/5/bits/stl_algo.h:66,
                 from /usr/include/c++/5/algorithm:62,
                 from /usr/include/boost/statechart/detail/node_state.hpp:16,
                 from /usr/include/boost/statechart/simple_state.hpp:14,
                 from osd/PG.h:20,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_vector.h:1528:5: note: candidate: template<class _Tp, class _Alloc> bool std::operator<(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)
     operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
     ^
/usr/include/c++/5/bits/stl_vector.h:1528:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::vector<_Tp, _Alloc>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/map:60:0,
                 from /usr/include/boost/statechart/state_machine.hpp:47,
                 from osd/PG.h:22,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_tree.h:1283:5: note: candidate: template<class _Key, class _Val, class _KeyOfValue, class _Compare, class _Alloc> bool std::operator<(const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&, const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&)
     operator<(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
     ^
/usr/include/c++/5/bits/stl_tree.h:1283:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/map:61:0,
                 from /usr/include/boost/statechart/state_machine.hpp:47,
                 from osd/PG.h:22,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_map.h:1090:5: note: candidate: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator<(const std::map<_Key, _Tp, _Compare, _Alloc>&, const std::map<_Key, _Tp, _Compare, _Alloc>&)
     operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x,
     ^
/usr/include/c++/5/bits/stl_map.h:1090:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::map<_Key, _Tp, _Compare, _Alloc>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/map:62:0,
                 from /usr/include/boost/statechart/state_machine.hpp:47,
                 from osd/PG.h:22,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_multimap.h:991:5: note: candidate: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator<(const std::multimap<_Key, _Tp, _Compare, _Alloc>&, const std::multimap<_Key, _Tp, _Compare, _Alloc>&)
     operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
     ^
/usr/include/c++/5/bits/stl_multimap.h:991:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::multimap<_Key, _Tp, _Compare, _Alloc>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/bits/ios_base.h:46:0,
                 from /usr/include/c++/5/ios:42,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iterator:64,
                 from /usr/include/boost/statechart/state_machine.hpp:56,
                 from osd/PG.h:22,
                 from osd/PG.cc:15:
/usr/include/c++/5/system_error:200:3: note: candidate: bool std::operator<(const std::error_code&, const std::error_code&)
   operator<(const error_code& __lhs, const error_code& __rhs) noexcept
   ^
/usr/include/c++/5/system_error:200:3: note:   no known conversion for argument 1 from ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ to ‘const std::error_code&’
/usr/include/c++/5/system_error:274:3: note: candidate: bool std::operator<(const std::error_condition&, const std::error_condition&)
   operator<(const error_condition& __lhs,
   ^
/usr/include/c++/5/system_error:274:3: note:   no known conversion for argument 1 from ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ to ‘const std::error_condition&’
In file included from /usr/include/c++/5/set:61:0,
                 from ./include/encoding.h:288,
                 from ./include/uuid.h:8,
                 from ./include/types.h:21,
                 from osd/PG.h:31,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_set.h:859:5: note: candidate: template<class _Key, class _Compare, class _Alloc> bool std::operator<(const std::set<_Key, _Compare, _Alloc>&, const std::set<_Key, _Compare, _Alloc>&)
     operator<(const set<_Key, _Compare, _Alloc>& __x,
     ^
/usr/include/c++/5/bits/stl_set.h:859:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::set<_Key, _Compare, _Alloc>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/set:62:0,
                 from ./include/encoding.h:288,
                 from ./include/uuid.h:8,
                 from ./include/types.h:21,
                 from osd/PG.h:31,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_multiset.h:842:5: note: candidate: template<class _Key, class _Compare, class _Alloc> bool std::operator<(const std::multiset<_Key, _Compare, _Alloc>&, const std::multiset<_Key, _Compare, _Alloc>&)
     operator<(const multiset<_Key, _Compare, _Alloc>& __x,
     ^
/usr/include/c++/5/bits/stl_multiset.h:842:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::multiset<_Key, _Compare, _Alloc>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/deque:64:0,
                 from ./include/encoding.h:290,
                 from ./include/uuid.h:8,
                 from ./include/types.h:21,
                 from osd/PG.h:31,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_deque.h:291:5: note: candidate: template<class _Tp, class _Ref, class _Ptr> bool std::operator<(const std::_Deque_iterator<_Tp, _Ref, _Ptr>&, const std::_Deque_iterator<_Tp, _Ref, _Ptr>&)
     operator<(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
     ^
/usr/include/c++/5/bits/stl_deque.h:291:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::_Deque_iterator<_Tp, _Ref, _Ptr>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/deque:64:0,
                 from ./include/encoding.h:290,
                 from ./include/uuid.h:8,
                 from ./include/types.h:21,
                 from osd/PG.h:31,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_deque.h:299:5: note: candidate: template<class _Tp, class _RefL, class _PtrL, class _RefR, class _PtrR> bool std::operator<(const std::_Deque_iterator<_Tp, _Ref, _Ptr>&, const std::_Deque_iterator<_Tp, _RefR, _PtrR>&)
     operator<(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
     ^
/usr/include/c++/5/bits/stl_deque.h:299:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::_Deque_iterator<_Tp, _Ref, _Ptr>’
       { return __x < __y; }
                    ^
In file included from /usr/include/c++/5/deque:64:0,
                 from ./include/encoding.h:290,
                 from ./include/uuid.h:8,
                 from ./include/types.h:21,
                 from osd/PG.h:31,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_deque.h:2238:5: note: candidate: template<class _Tp, class _Alloc> bool std::operator<(const std::deque<_Tp, _Alloc>&, const std::deque<_Tp, _Alloc>&)
     operator<(const deque<_Tp, _Alloc>& __x,
     ^
/usr/include/c++/5/bits/stl_deque.h:2238:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5/functional:49:0,
                 from /usr/include/boost/config/no_tr1/functional.hpp:21,
                 from /usr/include/boost/smart_ptr/intrusive_ptr.hpp:23,
                 from /usr/include/boost/intrusive_ptr.hpp:16,
                 from /usr/include/boost/statechart/event_base.hpp:15,
                 from /usr/include/boost/statechart/event.hpp:11,
                 from osd/PG.h:19,
                 from osd/PG.cc:15:
/usr/include/c++/5/bits/stl_function.h:387:20: note:   ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ is not derived from ‘const std::deque<_Tp, _Alloc>’
       { return __x < __y; }
                    ^
In file included from osd/PG.h:33:0,
                 from osd/PG.cc:15:
osd/osd_types.h:770:13: note: candidate: bool operator<(const eversion_t&, const eversion_t&)
 inline bool operator<(const eversion_t& l, const eversion_t& r) {
             ^
osd/osd_types.h:770:13: note:   no known conversion for argument 1 from ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ to ‘const eversion_t&’
In file included from osd/PG.h:33:0,
                 from osd/PG.cc:15:
osd/osd_types.h:508:140: note: candidate: bool operator<(const spg_t&, const spg_t&)
osd/osd_types.h:508:140: note:   no known conversion for argument 1 from ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ to ‘const spg_t&’
In file included from osd/PG.h:33:0,
                 from osd/PG.cc:15:
osd/osd_types.h:392:13: note: candidate: bool operator<(const pg_t&, const pg_t&)
 inline bool operator<(const pg_t& l, const pg_t& r) {
             ^
osd/osd_types.h:392:13: note:   no known conversion for argument 1 from ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ to ‘const pg_t&’
In file included from osd/PG.h:33:0,
                 from osd/PG.cc:15:
osd/osd_types.h:136:13: note: candidate: bool operator<(const osd_reqid_t&, const osd_reqid_t&)
 inline bool operator<(const osd_reqid_t& l, const osd_reqid_t& r) {
             ^
osd/osd_types.h:136:13: note:   no known conversion for argument 1 from ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ to ‘const osd_reqid_t&’
In file included from osd/PG.h:33:0,
                 from osd/PG.cc:15:
osd/osd_types.h:105:146: note: candidate: bool operator<(const pg_shard_t&, const pg_shard_t&)
osd/osd_types.h:105:146: note:   no known conversion for argument 1 from ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ to ‘const pg_shard_t&’
In file included from osd/osd_types.h:32:0,
                 from osd/PG.h:33,
                 from osd/PG.cc:15:
./include/utime.h:403:13: note: candidate: bool operator<(const utime_t&, const utime_t&)
 inline bool operator<(const utime_t& a, const utime_t& b)
             ^
./include/utime.h:403:13: note:   no known conversion for argument 1 from ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ to ‘const utime_t&’
In file included from osd/osd_types.h:30:0,
                 from osd/PG.h:33,
                 from osd/PG.cc:15:
./msg/msg_types.h:453:13: note: candidate: bool operator<(const entity_inst_t&, const entity_inst_t&)
 inline bool operator<(const entity_inst_t& a, const entity_inst_t& b) { 
             ^
./msg/msg_types.h:453:13: note:   no known conversion for argument 1 from ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ to ‘const entity_inst_t&’
./msg/msg_types.h:402:13: note: candidate: bool operator<(const entity_addr_t&, const entity_addr_t&)
 inline bool operator<(const entity_addr_t& a, const entity_addr_t& b) { return memcmp(&a, &b, sizeof(a)) < 0; }
             ^
./msg/msg_types.h:402:13: note:   no known conversion for argument 1 from ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ to ‘const entity_addr_t&’
In file included from osd/osd_types.h:30:0,
                 from osd/PG.h:33,
                 from osd/PG.cc:15:
./msg/msg_types.h:121:13: note: candidate: bool operator<(const entity_name_t&, const entity_name_t&)
 inline bool operator< (const entity_name_t& l, const entity_name_t& r) { 
             ^
./msg/msg_types.h:121:13: note:   no known conversion for argument 1 from ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ to ‘const entity_name_t&’
In file included from osd/PG.h:31:0,
                 from osd/PG.cc:15:
./include/types.h:506:111: note: candidate: bool operator<(const errorcode32_t&, const errorcode32_t&)
./include/types.h:506:111: note:   no known conversion for argument 1 from ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ to ‘const errorcode32_t&’
In file included from osd/PG.h:31:0,
                 from osd/PG.cc:15:
./include/types.h:475:101: note: candidate: bool operator<(const shard_id_t&, const shard_id_t&)
./include/types.h:475:101: note:   no known conversion for argument 1 from ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ to ‘const shard_id_t&’
./include/types.h:307:20: note: candidate: bool operator<(const client_t&, int64_t)
 static inline bool operator<(const client_t& l, int64_t o) { return l.v < o; }
                    ^
./include/types.h:307:20: note:   no known conversion for argument 1 from ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ to ‘const client_t&’
./include/types.h:301:20: note: candidate: bool operator<(const client_t&, const client_t&)
 static inline bool operator<(const client_t& l, const client_t& r) { return l.v < r.v; }
                    ^
./include/types.h:301:20: note:   no known conversion for argument 1 from ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ to ‘const client_t&’
In file included from ./include/types.h:66:0,
                 from osd/PG.h:31,
                 from osd/PG.cc:15:
./include/object.h:169:13: note: candidate: bool operator<(const sobject_t&, const sobject_t&)
 inline bool operator<(const sobject_t &l, const sobject_t &r) {
             ^
./include/object.h:169:13: note:   no known conversion for argument 1 from ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ to ‘const sobject_t&’
./include/object.h:66:13: note: candidate: bool operator<(const object_t&, const object_t&)
 inline bool operator<(const object_t& l, const object_t& r) {
             ^
./include/object.h:66:13: note:   no known conversion for argument 1 from ‘const WeightedPriorityQueue<std::pair<boost::intrusive_ptr<PG>, PGQueueable>, entity_inst_t>::SubQueue’ to ‘const object_t&’
Makefile:22812: recipe for target 'osd/libosd_a-PG.o' failed
make[2]: *** [osd/libosd_a-PG.o] Error 1
make[2]: Leaving directory '/home/abhishekl/spells/storage/ceph/src'
Makefile:29913: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/abhishekl/spells/storage/ceph/src'
Makefile:12278: recipe for target 'all' failed
make: *** [all] Error 2

Compilation exited abnormally with code 2 at Mon Mar  7 13:48:21

Actions #1

Updated by Abhishek Lekshmanan about 8 years ago

Adding comment from the mailing-list here:
Reverting https://github.com/ceph/ceph/pull/7654 makes the build
succeed, of course that is not the solution, but might indicate where we
may need fixing

Actions #2

Updated by Robert LeBlanc about 8 years ago

  • Category set to common
  • Status changed from New to Fix Under Review
  • Assignee set to Robert LeBlanc
  • Release set to jewel
  • Affected Versions v9.2.1 added

I've resolved the issue in https://github.com/ceph/ceph/pull/7984

Actions #3

Updated by Greg Farnum almost 7 years ago

  • Status changed from Fix Under Review to Resolved
Actions

Also available in: Atom PDF