You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/usr/local/lib/gcc9/include/c++/bits/stl_tree.h:1126:2: error: no type named 'value_type' in
'struct std::iterator_traits<TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> > >'
Adding the following to the end of TimSupport.cpp should fix it:
Hi, I am trying to build SMTPlan on FreeBSD 12.1, gcc9, cmake 3.15.5, boost 1.72, piranha 0.11_7.
This is what happens:
[ 50%] Building CXX object CMakeFiles/SMTPlan.dir/src/VALfiles/src/SimpleEval.cpp.o [ 56%] Building CXX object CMakeFiles/SMTPlan.dir/src/VALfiles/src/TIM.cpp.o [ 62%] Building CXX object CMakeFiles/SMTPlan.dir/src/VALfiles/src/TimSupport.cpp.o In file included from /usr/local/lib/gcc9/include/c++/set:62, from /usr/home/ko/build/KCL-Planning-SMTPlan-edda8a8/SMTPlan/src/VALfiles/include/TimSupport.h:32, from /usr/home/ko/build/KCL-Planning-SMTPlan-edda8a8/SMTPlan/src/VALfiles/src/TimSupport.cpp:28: /usr/local/lib/gcc9/include/c++/bits/stl_multiset.h: In instantiation of 'std::multiset<_Key, _Compare, _Alloc>::multiset(_InputIterator, _InputIterator) [with _InputIterator = TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> >; _Key = TIM::Property*; _Compare = std::less<TIM::Property*>; _Alloc = std::allocator<TIM::Property*>]': /usr/home/ko/build/KCL-Planning-SMTPlan-edda8a8/SMTPlan/src/VALfiles/include/TimSupport.h:273:67: required from 'TIM::PropertyState::PropertyState(TIM::TIMAnalyser*, TI, TI) [with TI = TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> >]' /usr/home/ko/build/KCL-Planning-SMTPlan-edda8a8/SMTPlan/src/VALfiles/include/TimSupport.h:281:9: required from 'static TIM::PropertyState* TIM::PropertyState::retrieve(TIM::TIMAnalyser*, TI, TI) [with TI = TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> >]' /usr/home/ko/build/KCL-Planning-SMTPlan-edda8a8/SMTPlan/src/VALfiles/src/TimSupport.cpp:1392:36: required from here /usr/local/lib/gcc9/include/c++/bits/stl_multiset.h:189:4: error: no matching function for call to 'std::_Rb_tree<TIM::Property*, TIM::Property*, std::_Identity<TIM::Property*>, std::less<TIM::Property*>, std::allocator<TIM::Property*> >::_M_insert_range_equal(TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> >&, TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> >&)' 189 | { _M_t._M_insert_range_equal(__first, __last); } | ^~~~ In file included from /usr/local/lib/gcc9/include/c++/map:60, from /usr/home/ko/build/KCL-Planning-SMTPlan-edda8a8/SMTPlan/src/VALfiles/include/ptree.h:55, from /usr/home/ko/build/KCL-Planning-SMTPlan-edda8a8/SMTPlan/src/VALfiles/include/FastEnvironment.h:36, from /usr/home/ko/build/KCL-Planning-SMTPlan-edda8a8/SMTPlan/src/VALfiles/src/TimSupport.cpp:27: /usr/local/lib/gcc9/include/c++/bits/stl_tree.h:1126:2: note: candidate: 'template<class _InputIterator> std::__enable_if_t<std::is_same<_Val, typename std::iterator_traits<_InputIterator>::value_type>::value> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_range_equal(_InputIterator, _InputIterator) [with _InputIterator = _InputIterator; _Key = TIM::Property*; _Val = TIM::Property*; _KeyOfValue = std::_Identity<TIM::Property*>; _Compare = std::less<TIM::Property*>; _Alloc = std::allocator<TIM::Property*>]' 1126 | _M_insert_range_equal(_InputIterator __first, _InputIterator __last) | ^~~~~~~~~~~~~~~~~~~~~ /usr/local/lib/gcc9/include/c++/bits/stl_tree.h:1126:2: note: template argument deduction/substitution failed: /usr/local/lib/gcc9/include/c++/bits/stl_tree.h: In substitution of 'template<class _InputIterator> std::__enable_if_t<std::is_same<TIM::Property*, typename std::iterator_traits<_Iterator>::value_type>::value, void> std::_Rb_tree<TIM::Property*, TIM::Property*, std::_Identity<TIM::Property*>, std::less<TIM::Property*>, std::allocator<TIM::Property*> >::_M_insert_range_equal<_InputIterator>(_InputIterator, _InputIterator) [with _InputIterator = TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> >]': /usr/local/lib/gcc9/include/c++/bits/stl_multiset.h:189:4: required from 'std::multiset<_Key, _Compare, _Alloc>::multiset(_InputIterator, _InputIterator) [with _InputIterator = TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> >; _Key = TIM::Property*; _Compare = std::less<TIM::Property*>; _Alloc = std::allocator<TIM::Property*>]' /usr/home/ko/build/KCL-Planning-SMTPlan-edda8a8/SMTPlan/src/VALfiles/include/TimSupport.h:273:67: required from 'TIM::PropertyState::PropertyState(TIM::TIMAnalyser*, TI, TI) [with TI = TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> >]' /usr/home/ko/build/KCL-Planning-SMTPlan-edda8a8/SMTPlan/src/VALfiles/include/TimSupport.h:281:9: required from 'static TIM::PropertyState* TIM::PropertyState::retrieve(TIM::TIMAnalyser*, TI, TI) [with TI = TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> >]' /usr/home/ko/build/KCL-Planning-SMTPlan-edda8a8/SMTPlan/src/VALfiles/src/TimSupport.cpp:1392:36: required from here /usr/local/lib/gcc9/include/c++/bits/stl_tree.h:1126:2: error: no type named 'value_type' in 'struct std::iterator_traits<TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> > >' /usr/local/lib/gcc9/include/c++/bits/stl_multiset.h: In instantiation of 'std::multiset<_Key, _Compare, _Alloc>::multiset(_InputIterator, _InputIterator) [with _InputIterator = TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> >; _Key = TIM::Property*; _Compare = std::less<TIM::Property*>; _Alloc = std::allocator<TIM::Property*>]': /usr/home/ko/build/KCL-Planning-SMTPlan-edda8a8/SMTPlan/src/VALfiles/include/TimSupport.h:273:67: required from 'TIM::PropertyState::PropertyState(TIM::TIMAnalyser*, TI, TI) [with TI = TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> >]' /usr/home/ko/build/KCL-Planning-SMTPlan-edda8a8/SMTPlan/src/VALfiles/include/TimSupport.h:281:9: required from 'static TIM::PropertyState* TIM::PropertyState::retrieve(TIM::TIMAnalyser*, TI, TI) [with TI = TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> >]' /usr/home/ko/build/KCL-Planning-SMTPlan-edda8a8/SMTPlan/src/VALfiles/src/TimSupport.cpp:1392:36: required from here /usr/local/lib/gcc9/include/c++/bits/stl_tree.h:1135:2: note: candidate: 'template<class _InputIterator> std::__enable_if_t<(! std::is_same<_Val, typename std::iterator_traits<_InputIterator>::value_type>::value)> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_range_equal(_InputIterator, _InputIterator) [with _InputIterator = _InputIterator; _Key = TIM::Property*; _Val = TIM::Property*; _KeyOfValue = std::_Identity<TIM::Property*>; _Compare = std::less<TIM::Property*>; _Alloc = std::allocator<TIM::Property*>]' 1135 | _M_insert_range_equal(_InputIterator __first, _InputIterator __last) | ^~~~~~~~~~~~~~~~~~~~~ /usr/local/lib/gcc9/include/c++/bits/stl_tree.h:1135:2: note: template argument deduction/substitution failed: /usr/local/lib/gcc9/include/c++/bits/stl_tree.h: In substitution of 'template<class _InputIterator> std::__enable_if_t<(! std::is_same<TIM::Property*, typename std::iterator_traits<_Iterator>::value_type>::value), void> std::_Rb_tree<TIM::Property*, TIM::Property*, std::_Identity<TIM::Property*>, std::less<TIM::Property*>, std::allocator<TIM::Property*> >::_M_insert_range_equal<_InputIterator>(_InputIterator, _InputIterator) [with _InputIterator = TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> >]': /usr/local/lib/gcc9/include/c++/bits/stl_multiset.h:189:4: required from 'std::multiset<_Key, _Compare, _Alloc>::multiset(_InputIterator, _InputIterator) [with _InputIterator = TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> >; _Key = TIM::Property*; _Compare = std::less<TIM::Property*>; _Alloc = std::allocator<TIM::Property*>]' /usr/home/ko/build/KCL-Planning-SMTPlan-edda8a8/SMTPlan/src/VALfiles/include/TimSupport.h:273:67: required from 'TIM::PropertyState::PropertyState(TIM::TIMAnalyser*, TI, TI) [with TI = TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> >]' /usr/home/ko/build/KCL-Planning-SMTPlan-edda8a8/SMTPlan/src/VALfiles/include/TimSupport.h:281:9: required from 'static TIM::PropertyState* TIM::PropertyState::retrieve(TIM::TIMAnalyser*, TI, TI) [with TI = TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> >]' /usr/home/ko/build/KCL-Planning-SMTPlan-edda8a8/SMTPlan/src/VALfiles/src/TimSupport.cpp:1392:36: required from here /usr/local/lib/gcc9/include/c++/bits/stl_tree.h:1117:16: error: no type named 'value_type' in 'struct std::iterator_traits<TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> > >' 1117 | __enable_if_t<!__same_value_type<_InputIterator>::value> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gmake[2]: *** [CMakeFiles/SMTPlan.dir/build.make:180: CMakeFiles/SMTPlan.dir/src/VALfiles/src/TimSupport.cpp.o] Error 1 gmake[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/SMTPlan.dir/all] Error 2 gmake: *** [Makefile:130: all] Error 2 [ko@kzin ~/build/KCL-Planning-SMTPlan-edda8a8/SMTPlan/build]$
C++ is not my strong point. Your help would be appreciated.
The text was updated successfully, but these errors were encountered: