v22.0.0 build failure on Xenial
I./secp256k1/include -I./univalue/include -DBOOST_TEST_DYN_LINK -Wdate-time -D_FORTIFY_SOURCE=2 -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -fstack-reuse=none -Wstack-protector -fstack-protector-all -fPIE -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -MT test/test_test_bitcoin-pow_tests.o -MD -MP -MF test/.deps/test_test_bitcoin-pow_tests.Tpo -c -o test/test_test_bitcoin-pow_tests.o `test -f 'test/pow_tests.cpp' || echo './'`test/pow_tests.cpp
In file included from /usr/include/boost/test/unit_test.hpp:19,
from test/pow_tests.cpp:16:
/usr/include/boost/test/utils/lazy_ostream.hpp:72:29: required from here
/usr/include/boost/test/test_tools.hpp:326:14: error: ambiguous overload for 'operator<<' (operand types are 'std::ostream' {aka 'std::basic_ostream<char>'} and 'std::nullptr_t')
ostr << t; // by default print the value
~~~~~^~~~
In file included from /usr/include/c++/8/iterator:64,
from ./prevector.h:14,
from ./serialize.h:10,
from ./blockstatus.h:9,
from ./chain.h:10,
from test/pow_tests.cpp:5:
/usr/include/c++/8/ostream:108:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ostream_type& (*)(std::basic_ostream<_CharT, _Traits>::__ostream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
operator<<(__ostream_type& (*__pf)(__ostream_type&))
^~~~~~~~
/usr/include/c++/8/ostream:117:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ios_type& (*)(std::basic_ostream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>; std::basic_ostream<_CharT, _Traits>::__ios_type = std::basic_ios<char>]'
operator<<(__ios_type& (*__pf)(__ios_type&))
^~~~~~~~
/usr/include/c++/8/ostream:127:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
operator<<(ios_base& (*__pf) (ios_base&))
^~~~~~~~
/usr/include/c++/8/ostream:245:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
operator<<(const void* __p)
^~~~~~~~
In file included from /usr/include/c++/8/ostream:696,
from /usr/include/c++/8/iterator:64,
from ./prevector.h:14,
from ./serialize.h:10,
from ./blockstatus.h:9,
from ./chain.h:10,
from test/pow_tests.cpp:5:
/usr/include/c++/8/bits/ostream.tcc:119:5: note: candidate: 'std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>]'
basic_ostream<_CharT, _Traits>::
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/8/bits/ostream.tcc:321:5: note: candidate: 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*) [with _CharT = char; _Traits = std::char_traits<char>]'
operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
^~~~~~~~
In file included from /usr/include/c++/8/iterator:64,
from ./prevector.h:14,
from ./serialize.h:10,
from ./blockstatus.h:9,
from ./chain.h:10,
from test/pow_tests.cpp:5:
/usr/include/c++/8/ostream:559:5: note: candidate: 'std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*) [with _Traits = std::char_traits<char>]'
operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
^~~~~~~~
/usr/include/c++/8/ostream:572:5: note: candidate: 'std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*) [with _Traits = std::char_traits<char>]'
operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
^~~~~~~~
/usr/include/c++/8/ostream:577:5: note: candidate: 'std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*) [with _Traits = std::char_traits<char>]'
operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
^~~~~~~~
Makefile:13483: recipe for target 'test/test_test_bitcoin-pow_tests.o' failed
make[3]: *** [test/test_test_bitcoin-pow_tests.o] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
Makefile:14282: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src'
Makefile:776: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: make -j1 returned exit code 2
debian/rules:9: recipe for target 'build' failed
make: *** [build] Error 2
As reported by @sickpig .
Edited by freetrader