Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ibrdtn failing with uclibc++ #7822

Closed
neheb opened this issue Dec 31, 2018 · 13 comments
Closed

ibrdtn failing with uclibc++ #7822

neheb opened this issue Dec 31, 2018 · 13 comments

Comments

@neheb
Copy link
Contributor

neheb commented Dec 31, 2018

Maintainer: @morgenroth
Environment: trunk

Description:

Switching to uclibc++ causes compilation failure of ibrdtn. This either requires modification of ibrdtn or more likely uclibc++ to fix compilation.

I've already done so for gptfdisk where support for long long in istream was missing but I can't figure it out for ibrdtn. Maybe a missing iterator? Not a C++ expert.

edit: Error can be reproduced by pulling the last two commits from my branch: https://github.com/neheb/packages/tree/mangix

Here is the build failure:

  CXX      Bundle.lo
In file included from ../../ibrdtn/data/SDNV.h:32:0,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/limits:24:2: warning: #warning limits header is nowhere complete or accurate [-Wcpp]
 #warning limits header is nowhere complete or accurate
  ^~~~~~~
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/vector:25:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:25,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/algorithm: In instantiation of 'InputIterator std::find(InputIterator, InputIterator, const T&) [with InputIterator = std::list<dtn::data::Bundle::block_elem>::iter_list; T = unsigned char]':
Bundle.cpp:304:46:   required from here
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/algorithm:49:32: error: no match for 'operator!=' (operand types are 'dtn::data::Bundle::block_elem' and 'const unsigned char')
   while(first !=last && *first != value){
                         ~~~~~~~^~~~~~~~
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/memory:23:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/char_traits:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:21,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/iterator_base:191:3: note: candidate: template<class Iterator> bool std::operator!=(const std::reverse_iterator<Iterator>&, const std::reverse_iterator<Iterator>&)
   operator!=(const reverse_iterator<Iterator>& x, const reverse_iterator<Iterator>& y)
   ^~~~~~~~
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/iterator_base:191:3: note:   template argument deduction/substitution failed:
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/vector:25:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:25,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/algorithm:49:32: note:   'dtn::data::Bundle::block_elem' is not derived from 'const std::reverse_iterator<Iterator>'
   while(first !=last && *first != value){
                         ~~~~~~~^~~~~~~~
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/memory:24:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/char_traits:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:21,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/utility:67:37: note: candidate: template<class T1, class T2> bool std::operator!=(const std::pair<T1, T2>&, const std::pair<T1, T2>&)
  template <class T1, class T2> bool operator!=(const pair<T1,T2>& x, const pair<T1,T2>& y){
                                     ^~~~~~~~
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/utility:67:37: note:   template argument deduction/substitution failed:
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/vector:25:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:25,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/algorithm:49:32: note:   'dtn::data::Bundle::block_elem' is not derived from 'const std::pair<T1, T2>'
   while(first !=last && *first != value){
                         ~~~~~~~^~~~~~~~
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/vector:23:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:25,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/iterator:96:8: note: candidate: template<class T, class charT, class traits, class Distance> bool std::operator!=(const std::istream_iterator<T, charT, traits, Distance>&, const std::istream_iterator<T, charT, traits, Distance>&)
   bool operator!=(const istream_iterator<T,charT,traits,Distance>& x,
        ^~~~~~~~
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/iterator:96:8: note:   template argument deduction/substitution failed:
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/vector:25:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:25,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/algorithm:49:32: note:   'dtn::data::Bundle::block_elem' is not derived from 'const std::istream_iterator<T, charT, traits, Distance>'
   while(first !=last && *first != value){
                         ~~~~~~~^~~~~~~~
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/vector:23:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:25,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/iterator:184:3: note: candidate: template<class charT, class traits> bool std::operator!=(const std::istreambuf_iterator<charT, traits>&, const std::istreambuf_iterator<charT, traits>&)
   operator!=(const istreambuf_iterator<charT,traits>& a,
   ^~~~~~~~
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/iterator:184:3: note:   template argument deduction/substitution failed:
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/vector:25:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:25,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/algorithm:49:32: note:   'dtn::data::Bundle::block_elem' is not derived from 'const std::istreambuf_iterator<charT, traits>'
   while(first !=last && *first != value){
                         ~~~~~~~^~~~~~~~
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:25:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/vector:485:3: note: candidate: template<class T, class Allocator> bool std::operator!=(const std::vector<T, Allocator>&, const std::vector<T, Allocator>&)
   operator!=(const vector<T,Allocator>& x, const vector<T,Allocator>& y)
   ^~~~~~~~
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/vector:485:3: note:   template argument deduction/substitution failed:
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/vector:25:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:25,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/algorithm:49:32: note:   'dtn::data::Bundle::block_elem' is not derived from 'const std::vector<T, Allocator>'
   while(first !=last && *first != value){
                         ~~~~~~~^~~~~~~~
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:863:2: note: candidate: template<class charT, class traits, class Allocator> bool std::operator!=(const std::basic_string<Ch, Tr, A>&, const std::basic_string<Ch, Tr, A>&)
  operator!=(const basic_string<charT,traits,Allocator>& lhs, const basic_string<charT,traits,Allocator>& rhs)
  ^~~~~~~~
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:863:2: note:   template argument deduction/substitution failed:
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/vector:25:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:25,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/algorithm:49:32: note:   'dtn::data::Bundle::block_elem' is not derived from 'const std::basic_string<Ch, Tr, A>'
   while(first !=last && *first != value){
                         ~~~~~~~^~~~~~~~
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:872:2: note: candidate: template<class charT, class traits, class Allocator> bool std::operator!=(const charT*, const std::basic_string<Ch, Tr, A>&)
  operator!=(const charT* lhs, const basic_string<charT,traits,Allocator>& rhs)
  ^~~~~~~~
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:872:2: note:   template argument deduction/substitution failed:
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/vector:25:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:25,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/algorithm:49:32: note:   mismatched types 'const charT*' and 'dtn::data::Bundle::block_elem'
   while(first !=last && *first != value){
                         ~~~~~~~^~~~~~~~
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:879:2: note: candidate: template<class charT, class traits, class Allocator> bool std::operator!=(const std::basic_string<Ch, Tr, A>&, const charT*)
  operator!=(const basic_string<charT,traits,Allocator>& lhs, const charT* rhs)
  ^~~~~~~~
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:879:2: note:   template argument deduction/substitution failed:
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/vector:25:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:25,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/algorithm:49:32: note:   'dtn::data::Bundle::block_elem' is not derived from 'const std::basic_string<Ch, Tr, A>'
   while(first !=last && *first != value){
                         ~~~~~~~^~~~~~~~
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/associative_base:25:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/map:24,
                 from ../../ibrdtn/data/EID.h:28,
                 from ../../ibrdtn/data/Bundle.h:26,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/list:860:7: note: candidate: template<class T, class Allocator> bool std::operator!=(const std::list<T, Allocator>&, const std::list<T, Allocator>&)
  bool operator!=(const list<T,Allocator>& x, const list<T,Allocator>& y){
       ^~~~~~~~
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/list:860:7: note:   template argument deduction/substitution failed:
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/vector:25:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:25,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/algorithm:49:32: note:   'dtn::data::Bundle::block_elem' is not derived from 'const std::list<T, Allocator>'
   while(first !=last && *first != value){
                         ~~~~~~~^~~~~~~~
In file included from ../../ibrdtn/data/EID.h:28:0,
                 from ../../ibrdtn/data/Bundle.h:26,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/map:231:81: note: candidate: template<class Key, class T, class Compare, class Allocator> bool std::operator!=(const std::map<Key, T, Compare, Allocator>&, const std::map<Key, T, Compare, Allocator>&)
 class Key, class T, class Compare, class Allocator> _UCXXEXPORT bool operator!=
                                                                      ^~~~~~~~
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/map:231:81: note:   template argument deduction/substitution failed:
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/vector:25:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:25,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/algorithm:49:32: note:   'dtn::data::Bundle::block_elem' is not derived from 'const std::map<Key, T, Compare, Allocator>'
   while(first !=last && *first != value){
                         ~~~~~~~^~~~~~~~
In file included from ../../ibrdtn/data/EID.h:28:0,
                 from ../../ibrdtn/data/Bundle.h:26,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/map:247:81: note: candidate: template<class Key, class T, class Compare, class Allocator> bool std::operator!=(const std::multimap<Key, T, Compare, Allocator>&, const std::multimap<Key, T, Compare, Allocator>&)
 class Key, class T, class Compare, class Allocator> _UCXXEXPORT bool operator!=
                                                                      ^~~~~~~~
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/map:247:81: note:   template argument deduction/substitution failed:
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/vector:25:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:25,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/algorithm:49:32: note:   'dtn::data::Bundle::block_elem' is not derived from 'const std::multimap<Key, T, Compare, Allocator>'
   while(first !=last && *first != value){
                         ~~~~~~~^~~~~~~~
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/set:24:0,
                 from ../../ibrdtn/data/Bundle.h:37,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/deque:860:3: note: candidate: template<class T, class Allocator> bool std::operator!=(const std::deque<T, Allocator>&, const std::deque<T, Allocator>&)
   operator!=(const deque<T,Allocator>& x, const deque<T,Allocator>& y)
   ^~~~~~~~
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/deque:860:3: note:   template argument deduction/substitution failed:
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/vector:25:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:25,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/algorithm:49:32: note:   'dtn::data::Bundle::block_elem' is not derived from 'const std::deque<T, Allocator>'
   while(first !=last && *first != value){
                         ~~~~~~~^~~~~~~~
In file included from ../../ibrdtn/data/Bundle.h:37:0,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/set:312:72: note: candidate: template<class Key, class Compare, class Allocator> bool std::operator!=(const std::multiset<Key, Compare, Allocator>&, const std::multiset<Key, Compare, Allocator>&)
 emplate <class Key, class Compare, class Allocator> _UCXXEXPORT bool operator!=
                                                                      ^~~~~~~~
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/set:312:72: note:   template argument deduction/substitution failed:
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/vector:25:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/string:25,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/stdexcept:22,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/Exceptions.h:25,
                 from ../../ibrdtn/data/SDNV.h:23,
                 from ../../ibrdtn/data/Number.h:25,
                 from ../../ibrdtn/data/Bundle.h:25,
                 from Bundle.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/algorithm:49:32: note:   'dtn::data::Bundle::block_elem' is not derived from 'const std::multiset<Key, Compare, Allocator>'
   while(first !=last && *first != value){
                         ~~~~~~~^~~~~~~~

@morgenroth
Copy link
Contributor

/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/algorithm:49:32: error: no match for 'operator!=' (operand types are 'dtn::data::Bundle::block_elem' and 'const unsigned char')

I do not have the environment to test my hypothesis, but the first error looks like a missing operator within ibrdtn. uclibc++ seems to insist on "operator!=" while libstdcpp don't.

Please try this patch:
morgenroth/ibrdtn@199c865

@neheb
Copy link
Contributor Author

neheb commented Jan 1, 2019

That seemed to fix that error. Next one:

BundleMerger.cpp: In function 'dtn::data::BundleMerger::Container& dtn::data::operator<<(dtn::data::BundleMerger::Container&, const dtn::data::Bundle&)':
BundleMerger.cpp:122:60: error: no matching function for call to 'std::basic_iostream<char>::seekp(std::fpos<char>)'
    (*stream).seekp(obj.fragmentoffset.get<std::streampos>());
                                                            ^
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/istream:24:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/iostream:27,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/data/File.h:27,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ibrcommon-1.0/ibrcommon/data/BLOB.h:27,
                 from ../../ibrdtn/data/BundleMerger.h:25,
                 from BundleMerger.cpp:23:
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/ostream:119:44: note: candidate: std::basic_ostream<charT, traits>& std::basic_ostream<charT, traits>::seekp(std::basic_ostream<charT, traits>::pos_type) [with charT = char; traits = std::char_traits<char>; std::basic_ostream<charT, traits>::pos_type = int]
   _UCXXEXPORT basic_ostream<charT,traits>& seekp(pos_type pos){
                                            ^~~~~
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/ostream:119:44: note:   no known conversion for argument 1 from 'std::fpos<char>' to 'std::basic_ostream<char>::pos_type {aka int}'
/home/mangix/devstuff/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/uClibc++/ostream:125:44: note: candidate: std::basic_ostream<charT, traits>& std::basic_ostream<charT, traits>::seekp(std::basic_ostream<charT, traits>::off_type, std::ios_base::seekdir) [with charT = char; traits = std::char_traits<char>; std::basic_ostream<charT, traits>::off_type = int; std::ios_base::seekdir = unsigned char]
   _UCXXEXPORT basic_ostream<charT,traits>& seekp(off_type off, ios_base::seekdir dir){

@neheb
Copy link
Contributor Author

neheb commented Jan 3, 2019

Replacing streampos with streamoff seemed to do the trick.

Next failure seems to be beyond my knowledge. Maybe another missing operator:

MemoryBundleSet.cpp: In member function 'virtual bool dtn::data::MemoryBundleSet::has(const dtn::data::BundleID&) const':
MemoryBundleSet.cpp:137:46: error: conversion from 'std::__base_associative<dtn::data::MetaBundle, dtn::data::MetaBundle, std::less<dtn::data::MetaBundle>, std::allocator<dtn::data::MetaBundle> >::const_iterator {aka std::_associative_citer<dtn::data::MetaBundle, std::less<dtn::data::MetaBundle>, std::allocator<dtn::data::MetaBundle> >}' to non-scalar type 'std::set<dtn::data::MetaBundle>::iterator {aka std::_associative_iter<dtn::data::MetaBundle, std::less<dtn::data::MetaBundle>, std::allocator<dtn::data::MetaBundle> >}' requested
     bundle_set::iterator iter = _bundles.find(dtn::data::MetaBundle::create(bundle));

@morgenroth
Copy link
Contributor

That looks like an ordinary "const" issue. Just replace "bundle_set::iterator" with "bundle_set::const_iterator".

morgenroth/ibrdtn@6945698

@neheb
Copy link
Contributor Author

neheb commented Jan 3, 2019

Two errors this time

MetaStorage.cpp: In member function 'std::set<dtn::data::EID> dtn::storage::MetaStorage::getDistinctDestinations() const':
MetaStorage.cpp:69:59: error: conversion from 'dtn::storage::MetaStorage::const_iterator {aka std::_associative_citer<dtn::data::MetaBundle, dtn::storage::MetaStorage::CMP_BUNDLE_PRIORITY, std::allocator<dtn::data::MetaBundle> >}' to non-scalar type 'dtn::data::BundleList::const_iterator {aka std::_associative_citer<dtn::data::MetaBundle, std::less<dtn::data::MetaBundle>, std::allocator<dtn::data::MetaBundle> >}' requested
    for (dtn::data::BundleList::const_iterator iter = begin(); iter != end(); ++iter)
                                                      ~~~~~^~
MetaStorage.cpp:69:68: error: no match for 'operator!=' (operand types are 'dtn::data::BundleList::const_iterator {aka std::_associative_citer<dtn::data::MetaBundle, std::less<dtn::data::MetaBundle>, std::allocator<dtn::data::MetaBundle> >}' and 'dtn::storage::MetaStorage::const_iterator {aka std::_associative_citer<dtn::data::MetaBundle, dtn::storage::MetaStorage::CMP_BUNDLE_PRIORITY, std::allocator<dtn::data::MetaBundle> >}')
    for (dtn::data::BundleList::const_iterator iter = begin(); iter != end(); ++iter)

I can't seem to find where the missing operator would be.

@diizzyy
Copy link
Contributor

diizzyy commented Jan 8, 2019

Is it really worth hacking just to get uclibc++ working? Most applications in tree seems to depend on libstdcpp which also is noticably faster than uclibc++ although larger but I don't think that a major issue if you want to run C++ applications...

@neheb
Copy link
Contributor Author

neheb commented Jan 8, 2019

Don't know that hacking is the correct term here.

From what I've seen, many packages add libstdcpp as the dependency since that's what g++ uses (g++uc uses uclibcxx and needs an explicit include).

You also can't link between both.

Having said that, all of ibrcommon's dependencies with the exception of ibrdtnd(haven't gotten it figured out) can be compiled with uclibcxx after some work.

@diizzyy
Copy link
Contributor

diizzyy commented Jan 8, 2019

I've also read several claims like this one https://github.com/dlitz/openwrt-packages/blob/master/net/nmap/Makefile#L9 which makes we wonder if its worth the hassle.

@neheb
Copy link
Contributor Author

neheb commented Jan 8, 2019

True. I think there was a similar concern with emailrelay.

In any case, uclibc++ is the default. It makes no sense to have two libc++ libraries if it can be avoided.

@neheb
Copy link
Contributor Author

neheb commented Jan 8, 2019

@diizzyy
Copy link
Contributor

diizzyy commented Mar 28, 2019

@neheb @morgenroth
Is this something you want to merge?

@neheb
Copy link
Contributor Author

neheb commented Mar 28, 2019

neheb@7f9777e

Current status:
ibrcommon - compiles
ibrdtn - compiles
ibrdtn-tools - compiles
ibrdtnd - does not compile

Current failure:

 CXX      MetaStorage.lo
In file included from /home/mangix/devstuff/openwrt/staging_dir/target-mips_24kc_musl/usr/include/ibrdtn-1.0/ibrdtn/data/SDNV.h:32:0,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mips_24kc_musl/usr/include/ibrdtn-1.0/ibrdtn/data/Number.h:25,
                 from /home/mangix/devstuff/openwrt/staging_dir/target-mips_24kc_musl/usr/include/ibrdtn-1.0/ibrdtn/data/MetaBundle.h:25,
                 from ../../src/storage/BundleResult.h:11,
                 from ../../src/storage/BundleSelector.h:11,
                 from ../../src/storage/MetaStorage.h:25,
                 from MetaStorage.cpp:22:
/home/mangix/devstuff/openwrt/staging_dir/target-mips_24kc_musl/usr/include/uClibc++/limits:24:2: warning: #warning limits header is nowhere complete or accurate [-Wcpp]
 #warning limits header is nowhere complete or accurate
  ^~~~~~~
MetaStorage.cpp: In member function 'std::set<dtn::data::EID> dtn::storage::MetaStorage::getDistinctDestinations() const':
MetaStorage.cpp:69:59: error: conversion from 'dtn::storage::MetaStorage::const_iterator {aka std::_associative_citer<dtn::data::MetaBundle, dtn::storage::MetaStorage::CMP_BUNDLE_PRIORITY, std::allocator<dtn::data::MetaBundle> >}' to non-scalar type 'dtn::data::BundleList::const_iterator {aka std::_associative_citer<dtn::data::MetaBundle, std::less<dtn::data::MetaBundle>, std::allocator<dtn::data::MetaBundle> >}' requested
    for (dtn::data::BundleList::const_iterator iter = begin(); iter != end(); ++iter)
                                                      ~~~~~^~
MetaStorage.cpp:69:68: error: no match for 'operator!=' (operand types are 'dtn::data::BundleList::const_iterator {aka std::_associative_citer<dtn::data::MetaBundle, std::less<dtn::data::MetaBundle>, std::allocator<dtn::data::MetaBundle> >}' and 'dtn::storage::MetaStorage::const_iterator {aka std::_associative_citer<dtn::data::MetaBundle, dtn::storage::MetaStorage::CMP_BUNDLE_PRIORITY, std::allocator<dtn::data::MetaBundle> >}')
    for (dtn::data::BundleList::const_iterator iter = begin(); iter != end(); ++iter)

This one I can't figure out.

@neheb
Copy link
Contributor Author

neheb commented Oct 20, 2019

This has long been fixed.

@neheb neheb closed this as completed Oct 20, 2019
aparcar added a commit to aparcar/packages that referenced this issue Sep 13, 2020
This release is built with Go 1.15, which deprecates X.509 CommonName
in TLS certificates validation.

In the unlikely case that you use the gRPC API v2 (which is limited to TSDB
admin commands), please note that we will remove this experimental API in the
next minor release 2.22.

[CHANGE] Disable HTTP/2 because of concerns with the Go HTTP/2 client. openwrt#7588 openwrt#7701
[CHANGE] PromQL: query_log_file path is now relative to the config file. openwrt#7701
[CHANGE] Promtool: Replace the tsdb command line tool by a promtool tsdb subcommand. openwrt#6088
[CHANGE] Rules: Label rule_group_iterations metric with group name. openwrt#7823
[FEATURE] Eureka SD: New service discovery. openwrt#3369
[FEATURE] Hetzner SD: New service discovery. openwrt#7822
[FEATURE] Kubernetes SD: Support Kubernetes EndpointSlices. openwrt#6838
[FEATURE] Scrape: Add per scrape-config targets limit. openwrt#7554
[ENHANCEMENT] Support composite durations in PromQL, config and UI, e.g. 1h30m. openwrt#7713 openwrt#7833
[ENHANCEMENT] DNS SD: Add SRV record target and port meta labels. openwrt#7678
[ENHANCEMENT] Docker Swarm SD: Support tasks and service without published ports. openwrt#7686
[ENHANCEMENT] PromQL: Reduce the amount of data queried by remote read when a subquery has an offset. openwrt#7667
[ENHANCEMENT] Promtool: Add --time option to query instant command. openwrt#7829
[ENHANCEMENT] UI: Respect the --web.page-title parameter in the React UI. openwrt#7607
[ENHANCEMENT] UI: Add duration, labels, annotations to alerts page in the React UI. openwrt#7605
[ENHANCEMENT] UI: Add duration on the React UI rules page, hide annotation and labels if empty. openwrt#7606
[BUGFIX] API: Deduplicate series in /api/v1/series. openwrt#7862
[BUGFIX] PromQL: Drop metric name in bool comparison between two instant vectors. openwrt#7819
[BUGFIX] PromQL: Exit with an error when time parameters can't be parsed. openwrt#7505
[BUGFIX] Remote read: Re-add accidentally removed tracing for remote-read requests. openwrt#7916
[BUGFIX] Rules: Detect extra fields in rule files. openwrt#7767
[BUGFIX] Rules: Disallow overwriting the metric name in the labels section of recording rules. openwrt#7787
[BUGFIX] Rules: Keep evaluation timestamp across reloads. openwrt#7775
[BUGFIX] Scrape: Do not stop scrapes in progress during reload. openwrt#7752
[BUGFIX] TSDB: Fix chunks.HeadReadWriter: maxt of the files are not set error. openwrt#7856
[BUGFIX] TSDB: Delete blocks atomically to prevent corruption when there is a panic/crash during deletion. openwrt#7772
[BUGFIX] Triton SD: Fix a panic when triton_sd_config is nil. openwrt#7671
[BUGFIX] UI: Fix react UI bug with series going on and off. openwrt#7804
[BUGFIX] UI: Fix styling bug for target labels with special names in React UI. openwrt#7902
[BUGFIX] Web: Stop CMUX and GRPC servers even with stale connections, preventing the server to stop on SIGTERM. openwrt#7810

Signed-off-by: Paul Spooren <[email protected]>
aparcar added a commit to aparcar/packages that referenced this issue Sep 13, 2020
This release is built with Go 1.15, which deprecates X.509 CommonName
in TLS certificates validation.

In the unlikely case that you use the gRPC API v2 (which is limited to TSDB
admin commands), please note that we will remove this experimental API in the
next minor release 2.22.

[CHANGE] Disable HTTP/2 because of concerns with the Go HTTP/2 client. openwrt#7588 openwrt#7701
[CHANGE] PromQL: query_log_file path is now relative to the config file. openwrt#7701
[CHANGE] Promtool: Replace the tsdb command line tool by a promtool tsdb subcommand. openwrt#6088
[CHANGE] Rules: Label rule_group_iterations metric with group name. openwrt#7823
[FEATURE] Eureka SD: New service discovery. openwrt#3369
[FEATURE] Hetzner SD: New service discovery. openwrt#7822
[FEATURE] Kubernetes SD: Support Kubernetes EndpointSlices. openwrt#6838
[FEATURE] Scrape: Add per scrape-config targets limit. openwrt#7554
[ENHANCEMENT] Support composite durations in PromQL, config and UI, e.g. 1h30m. openwrt#7713 openwrt#7833
[ENHANCEMENT] DNS SD: Add SRV record target and port meta labels. openwrt#7678
[ENHANCEMENT] Docker Swarm SD: Support tasks and service without published ports. openwrt#7686
[ENHANCEMENT] PromQL: Reduce the amount of data queried by remote read when a subquery has an offset. openwrt#7667
[ENHANCEMENT] Promtool: Add --time option to query instant command. openwrt#7829
[ENHANCEMENT] UI: Respect the --web.page-title parameter in the React UI. openwrt#7607
[ENHANCEMENT] UI: Add duration, labels, annotations to alerts page in the React UI. openwrt#7605
[ENHANCEMENT] UI: Add duration on the React UI rules page, hide annotation and labels if empty. openwrt#7606
[BUGFIX] API: Deduplicate series in /api/v1/series. openwrt#7862
[BUGFIX] PromQL: Drop metric name in bool comparison between two instant vectors. openwrt#7819
[BUGFIX] PromQL: Exit with an error when time parameters can't be parsed. openwrt#7505
[BUGFIX] Remote read: Re-add accidentally removed tracing for remote-read requests. openwrt#7916
[BUGFIX] Rules: Detect extra fields in rule files. openwrt#7767
[BUGFIX] Rules: Disallow overwriting the metric name in the labels section of recording rules. openwrt#7787
[BUGFIX] Rules: Keep evaluation timestamp across reloads. openwrt#7775
[BUGFIX] Scrape: Do not stop scrapes in progress during reload. openwrt#7752
[BUGFIX] TSDB: Fix chunks.HeadReadWriter: maxt of the files are not set error. openwrt#7856
[BUGFIX] TSDB: Delete blocks atomically to prevent corruption when there is a panic/crash during deletion. openwrt#7772
[BUGFIX] Triton SD: Fix a panic when triton_sd_config is nil. openwrt#7671
[BUGFIX] UI: Fix react UI bug with series going on and off. openwrt#7804
[BUGFIX] UI: Fix styling bug for target labels with special names in React UI. openwrt#7902
[BUGFIX] Web: Stop CMUX and GRPC servers even with stale connections, preventing the server to stop on SIGTERM. openwrt#7810

Signed-off-by: Paul Spooren <[email protected]>
aparcar added a commit that referenced this issue Sep 14, 2020
This release is built with Go 1.15, which deprecates X.509 CommonName
in TLS certificates validation.

In the unlikely case that you use the gRPC API v2 (which is limited to TSDB
admin commands), please note that we will remove this experimental API in the
next minor release 2.22.

[CHANGE] Disable HTTP/2 because of concerns with the Go HTTP/2 client. #7588 #7701
[CHANGE] PromQL: query_log_file path is now relative to the config file. #7701
[CHANGE] Promtool: Replace the tsdb command line tool by a promtool tsdb subcommand. #6088
[CHANGE] Rules: Label rule_group_iterations metric with group name. #7823
[FEATURE] Eureka SD: New service discovery. #3369
[FEATURE] Hetzner SD: New service discovery. #7822
[FEATURE] Kubernetes SD: Support Kubernetes EndpointSlices. #6838
[FEATURE] Scrape: Add per scrape-config targets limit. #7554
[ENHANCEMENT] Support composite durations in PromQL, config and UI, e.g. 1h30m. #7713 #7833
[ENHANCEMENT] DNS SD: Add SRV record target and port meta labels. #7678
[ENHANCEMENT] Docker Swarm SD: Support tasks and service without published ports. #7686
[ENHANCEMENT] PromQL: Reduce the amount of data queried by remote read when a subquery has an offset. #7667
[ENHANCEMENT] Promtool: Add --time option to query instant command. #7829
[ENHANCEMENT] UI: Respect the --web.page-title parameter in the React UI. #7607
[ENHANCEMENT] UI: Add duration, labels, annotations to alerts page in the React UI. #7605
[ENHANCEMENT] UI: Add duration on the React UI rules page, hide annotation and labels if empty. #7606
[BUGFIX] API: Deduplicate series in /api/v1/series. #7862
[BUGFIX] PromQL: Drop metric name in bool comparison between two instant vectors. #7819
[BUGFIX] PromQL: Exit with an error when time parameters can't be parsed. #7505
[BUGFIX] Remote read: Re-add accidentally removed tracing for remote-read requests. #7916
[BUGFIX] Rules: Detect extra fields in rule files. #7767
[BUGFIX] Rules: Disallow overwriting the metric name in the labels section of recording rules. #7787
[BUGFIX] Rules: Keep evaluation timestamp across reloads. #7775
[BUGFIX] Scrape: Do not stop scrapes in progress during reload. #7752
[BUGFIX] TSDB: Fix chunks.HeadReadWriter: maxt of the files are not set error. #7856
[BUGFIX] TSDB: Delete blocks atomically to prevent corruption when there is a panic/crash during deletion. #7772
[BUGFIX] Triton SD: Fix a panic when triton_sd_config is nil. #7671
[BUGFIX] UI: Fix react UI bug with series going on and off. #7804
[BUGFIX] UI: Fix styling bug for target labels with special names in React UI. #7902
[BUGFIX] Web: Stop CMUX and GRPC servers even with stale connections, preventing the server to stop on SIGTERM. #7810

Signed-off-by: Paul Spooren <[email protected]>
G-M0N3Y-2503 pushed a commit to G-M0N3Y-2503/packages that referenced this issue Sep 22, 2020
This release is built with Go 1.15, which deprecates X.509 CommonName
in TLS certificates validation.

In the unlikely case that you use the gRPC API v2 (which is limited to TSDB
admin commands), please note that we will remove this experimental API in the
next minor release 2.22.

[CHANGE] Disable HTTP/2 because of concerns with the Go HTTP/2 client. openwrt#7588 openwrt#7701
[CHANGE] PromQL: query_log_file path is now relative to the config file. openwrt#7701
[CHANGE] Promtool: Replace the tsdb command line tool by a promtool tsdb subcommand. openwrt#6088
[CHANGE] Rules: Label rule_group_iterations metric with group name. openwrt#7823
[FEATURE] Eureka SD: New service discovery. openwrt#3369
[FEATURE] Hetzner SD: New service discovery. openwrt#7822
[FEATURE] Kubernetes SD: Support Kubernetes EndpointSlices. openwrt#6838
[FEATURE] Scrape: Add per scrape-config targets limit. openwrt#7554
[ENHANCEMENT] Support composite durations in PromQL, config and UI, e.g. 1h30m. openwrt#7713 openwrt#7833
[ENHANCEMENT] DNS SD: Add SRV record target and port meta labels. openwrt#7678
[ENHANCEMENT] Docker Swarm SD: Support tasks and service without published ports. openwrt#7686
[ENHANCEMENT] PromQL: Reduce the amount of data queried by remote read when a subquery has an offset. openwrt#7667
[ENHANCEMENT] Promtool: Add --time option to query instant command. openwrt#7829
[ENHANCEMENT] UI: Respect the --web.page-title parameter in the React UI. openwrt#7607
[ENHANCEMENT] UI: Add duration, labels, annotations to alerts page in the React UI. openwrt#7605
[ENHANCEMENT] UI: Add duration on the React UI rules page, hide annotation and labels if empty. openwrt#7606
[BUGFIX] API: Deduplicate series in /api/v1/series. openwrt#7862
[BUGFIX] PromQL: Drop metric name in bool comparison between two instant vectors. openwrt#7819
[BUGFIX] PromQL: Exit with an error when time parameters can't be parsed. openwrt#7505
[BUGFIX] Remote read: Re-add accidentally removed tracing for remote-read requests. openwrt#7916
[BUGFIX] Rules: Detect extra fields in rule files. openwrt#7767
[BUGFIX] Rules: Disallow overwriting the metric name in the labels section of recording rules. openwrt#7787
[BUGFIX] Rules: Keep evaluation timestamp across reloads. openwrt#7775
[BUGFIX] Scrape: Do not stop scrapes in progress during reload. openwrt#7752
[BUGFIX] TSDB: Fix chunks.HeadReadWriter: maxt of the files are not set error. openwrt#7856
[BUGFIX] TSDB: Delete blocks atomically to prevent corruption when there is a panic/crash during deletion. openwrt#7772
[BUGFIX] Triton SD: Fix a panic when triton_sd_config is nil. openwrt#7671
[BUGFIX] UI: Fix react UI bug with series going on and off. openwrt#7804
[BUGFIX] UI: Fix styling bug for target labels with special names in React UI. openwrt#7902
[BUGFIX] Web: Stop CMUX and GRPC servers even with stale connections, preventing the server to stop on SIGTERM. openwrt#7810

Signed-off-by: Paul Spooren <[email protected]>
pprindeville pushed a commit to pprindeville/packages that referenced this issue Dec 19, 2020
This release is built with Go 1.15, which deprecates X.509 CommonName
in TLS certificates validation.

In the unlikely case that you use the gRPC API v2 (which is limited to TSDB
admin commands), please note that we will remove this experimental API in the
next minor release 2.22.

[CHANGE] Disable HTTP/2 because of concerns with the Go HTTP/2 client. openwrt#7588 openwrt#7701
[CHANGE] PromQL: query_log_file path is now relative to the config file. openwrt#7701
[CHANGE] Promtool: Replace the tsdb command line tool by a promtool tsdb subcommand. openwrt#6088
[CHANGE] Rules: Label rule_group_iterations metric with group name. openwrt#7823
[FEATURE] Eureka SD: New service discovery. openwrt#3369
[FEATURE] Hetzner SD: New service discovery. openwrt#7822
[FEATURE] Kubernetes SD: Support Kubernetes EndpointSlices. openwrt#6838
[FEATURE] Scrape: Add per scrape-config targets limit. openwrt#7554
[ENHANCEMENT] Support composite durations in PromQL, config and UI, e.g. 1h30m. openwrt#7713 openwrt#7833
[ENHANCEMENT] DNS SD: Add SRV record target and port meta labels. openwrt#7678
[ENHANCEMENT] Docker Swarm SD: Support tasks and service without published ports. openwrt#7686
[ENHANCEMENT] PromQL: Reduce the amount of data queried by remote read when a subquery has an offset. openwrt#7667
[ENHANCEMENT] Promtool: Add --time option to query instant command. openwrt#7829
[ENHANCEMENT] UI: Respect the --web.page-title parameter in the React UI. openwrt#7607
[ENHANCEMENT] UI: Add duration, labels, annotations to alerts page in the React UI. openwrt#7605
[ENHANCEMENT] UI: Add duration on the React UI rules page, hide annotation and labels if empty. openwrt#7606
[BUGFIX] API: Deduplicate series in /api/v1/series. openwrt#7862
[BUGFIX] PromQL: Drop metric name in bool comparison between two instant vectors. openwrt#7819
[BUGFIX] PromQL: Exit with an error when time parameters can't be parsed. openwrt#7505
[BUGFIX] Remote read: Re-add accidentally removed tracing for remote-read requests. openwrt#7916
[BUGFIX] Rules: Detect extra fields in rule files. openwrt#7767
[BUGFIX] Rules: Disallow overwriting the metric name in the labels section of recording rules. openwrt#7787
[BUGFIX] Rules: Keep evaluation timestamp across reloads. openwrt#7775
[BUGFIX] Scrape: Do not stop scrapes in progress during reload. openwrt#7752
[BUGFIX] TSDB: Fix chunks.HeadReadWriter: maxt of the files are not set error. openwrt#7856
[BUGFIX] TSDB: Delete blocks atomically to prevent corruption when there is a panic/crash during deletion. openwrt#7772
[BUGFIX] Triton SD: Fix a panic when triton_sd_config is nil. openwrt#7671
[BUGFIX] UI: Fix react UI bug with series going on and off. openwrt#7804
[BUGFIX] UI: Fix styling bug for target labels with special names in React UI. openwrt#7902
[BUGFIX] Web: Stop CMUX and GRPC servers even with stale connections, preventing the server to stop on SIGTERM. openwrt#7810

Signed-off-by: Paul Spooren <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants