Page MenuHomePhabricator

[avalanche] implement proof expiration verification
Changes PlannedPublic

Authored by PiRK on Thu, Jun 3, 11:33.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Summary

Use the Median Time Past of the current best block to verify if the proof is expired.
Add a new EXPIRED proof validation state.

Test Plan

ninja all check-all

Event Timeline

PiRK requested review of this revision.Thu, Jun 3, 11:33
PiRK planned changes to this revision.

Tail of the build log:

[449/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/notificator.cpp.o
[450/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoinaddressvalidator.cpp.o
[451/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/modaloverlay.cpp.o
[452/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bantablemodel.cpp.o
[453/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/clientmodel.cpp.o
[454/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/intro.cpp.o
[455/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin.cpp.o
[456/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/platformstyle.cpp.o
[457/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvalidatedlineedit.cpp.o
[458/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvaluecombobox.cpp.o
[459/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/peertablemodel.cpp.o
[460/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/utilitydialog.cpp.o
[461/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/trafficgraphwidget.cpp.o
[462/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/rpcconsole.cpp.o
[463/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/splashscreen.cpp.o
[464/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/coincontroltreewidget.cpp.o
[465/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/askpassphrasedialog.cpp.o
[466/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/addressbookpage.cpp.o
[467/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/addresstablemodel.cpp.o
[468/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/createwalletdialog.cpp.o
[469/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/editaddressdialog.cpp.o
[470/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/openuridialog.cpp.o
[471/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrimagewidget.cpp.o
[472/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receivecoinsdialog.cpp.o
[473/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin.cpp.o
[474/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoinunits.cpp.o
[475/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsentry.cpp.o
[476/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/signverifymessagedialog.cpp.o
[477/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoinamountfield.cpp.o
[478/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receiverequestdialog.cpp.o
[479/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/overviewpage.cpp.o
[480/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionrecord.cpp.o
[481/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondescdialog.cpp.o
[482/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/recentrequeststablemodel.cpp.o
[483/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletcontroller.cpp.o
[484/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletframe.cpp.o
[485/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsmodel.cpp.o
[486/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodeltransaction.cpp.o
[487/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionfilterproxy.cpp.o
[488/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentrequestplus.cpp.o
[489/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsdialog.cpp.o
[490/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin_locale.cpp.o
[491/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/guiutil.cpp.o
[492/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin-qt-base_autogen/mocs_compilation.cpp.o
[493/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoingui.cpp.o
[494/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/coincontroldialog.cpp.o
[495/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentserver.cpp.o
[496/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondesc.cpp.o
[497/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionview.cpp.o
[498/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiontablemodel.cpp.o
[499/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsdialog.cpp.o
[500/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletview.cpp.o
[501/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodel.cpp.o
[502/507] Linking CXX static library src/qt/libbitcoin-qt-base.a
[503/507] Automatic MOC for target bitcoin-qt
[504/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
[505/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
[506/507] Linking CXX executable src/qt/bitcoin-qt
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang failed with exit code 1

Tail of the build log:

[403/454] Generating forms/ui_overviewpage.h
[404/454] Generating forms/ui_receiverequestdialog.h
[405/454] Generating forms/ui_debugwindow.h
[406/454] Generating forms/ui_sendcoinsdialog.h
[407/454] Generating forms/ui_sendcoinsentry.h
[408/454] Generating forms/ui_signverifymessagedialog.h
[409/454] Generating forms/ui_transactiondescdialog.h
[410/454] Generating qrc_bitcoin.cpp
[411/454] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/util_time.cpp.o
[412/454] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/block_assemble.cpp.o
[413/454] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/crypto_aes.cpp.o
[414/454] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/rpc_mempool.cpp.o
[415/454] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/duplicate_inputs.cpp.o
[416/454] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/verify_script.cpp.o
[417/454] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/mempool_eviction.cpp.o
[418/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoinaddressvalidator.cpp.o
[419/454] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/nanobench.cpp.o
[420/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoinamountfield.cpp.o
[421/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoinunits.cpp.o
[422/454] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/rpc_blockchain.cpp.o
[423/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/csvmodelwriter.cpp.o
[424/454] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/mempool_stress.cpp.o
[425/454] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/bench.cpp.o
[426/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/networkstyle.cpp.o
[427/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/modaloverlay.cpp.o
[428/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bantablemodel.cpp.o
[429/454] Linking CXX executable src/bench/bitcoin-bench
FAILED: src/bench/bitcoin-bench 
: && /usr/bin/c++  -Werror -g -O2  -fuse-ld=gold -Wl,-z,relro -Wl,-z,now -fPIE -pie src/test/CMakeFiles/testutil.dir/util/block_utils.cpp.o src/test/CMakeFiles/testutil.dir/util/blockfilter.cpp.o src/test/CMakeFiles/testutil.dir/util/logging.cpp.o src/test/CMakeFiles/testutil.dir/util/mining.cpp.o src/test/CMakeFiles/testutil.dir/util/net.cpp.o src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o src/test/CMakeFiles/testutil.dir/util/str.cpp.o src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o src/test/CMakeFiles/testutil.dir/util/wallet.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/addrman.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/base58.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/bench.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/bench_bitcoin.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/block_assemble.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/cashaddr.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/ccoins_caching.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/chacha_poly_aead.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/chacha20.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/checkblock.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/checkqueue.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/crypto_aes.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/crypto_hash.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/data.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/duplicate_inputs.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/examples.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/gcs_filter.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/hashpadding.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/lockedpool.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/mempool_eviction.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/mempool_stress.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/merkle_root.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/nanobench.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/poly1305.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/prevector.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/rollingbloom.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/rpc_blockchain.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/rpc_mempool.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/util_time.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/verify_script.cpp.o  -o src/bench/bitcoin-bench  /usr/lib/x86_64-linux-gnu/libjemalloc_pic.a  src/libserver.a  src/libbitcoinconsensus.a  src/libscript.a  src/libcommon.a  src/libbitcoinconsensus.a  src/libscript.a  src/libcommon.a  src/secp256k1/libsecp256k1.a  src/leveldb/libleveldb.a  src/leveldb/libleveldb-sse4.2.a  src/leveldb/libmemenv.a  /usr/lib/x86_64-linux-gnu/libevent_pthreads.so  /usr/lib/x86_64-linux-gnu/libminiupnpc.so  src/zmq/libzmq.a  src/libutil.a  /usr/lib/x86_64-linux-gnu/libevent.so  src/univalue/libunivalue.a  src/crypto/libcrypto.a  src/crypto/libcrypto_sse4.1.a  src/crypto/libcrypto_avx2.a  src/crypto/libcrypto_shani.a  /usr/lib/x86_64-linux-gnu/libjemalloc_pic.a  -lm  -ldl  /usr/lib/x86_64-linux-gnu/libboost_filesystem.so  /usr/lib/x86_64-linux-gnu/libboost_thread.so  -pthread  /usr/lib/x86_64-linux-gnu/libboost_chrono.so  /usr/lib/x86_64-linux-gnu/libboost_system.so  /usr/lib/x86_64-linux-gnu/libboost_date_time.so  /usr/lib/x86_64-linux-gnu/libboost_atomic.so  /usr/lib/x86_64-linux-gnu/libzmq.so && :
../../src/test/util/block_utils.cpp:16: error: undefined reference to 'boost::unit_test::unit_test_log_t::set_checkpoint(boost::unit_test::basic_cstring<char const>, unsigned long, boost::unit_test::basic_cstring<char const>)'
/usr/include/boost/test/tools/old/impl.hpp:92: error: undefined reference to 'boost::test_tools::tt_detail::report_assertion(boost::test_tools::assertion_result const&, boost::unit_test::lazy_ostream const&, boost::unit_test::basic_cstring<char const>, unsigned long, boost::test_tools::tt_detail::tool_level, boost::test_tools::tt_detail::check_type, unsigned long, ...)'
/usr/include/boost/test/unit_test_log.hpp:224: error: undefined reference to 'vtable for boost::unit_test::unit_test_log_t'
/usr/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function
collect2: error: ld returned 1 exit status
[430/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/platformstyle.cpp.o
[431/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/notificator.cpp.o
[432/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin-qt-base_autogen/mocs_compilation.cpp.o
[433/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvaluecombobox.cpp.o
[434/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/clientmodel.cpp.o
[435/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoingui.cpp.o
[436/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvalidatedlineedit.cpp.o
[437/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin.cpp.o
[438/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin.cpp.o
[439/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/intro.cpp.o
[440/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsdialog.cpp.o
[441/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsmodel.cpp.o
[442/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/utilitydialog.cpp.o
[443/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/guiutil.cpp.o
[444/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/peertablemodel.cpp.o
[445/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/trafficgraphwidget.cpp.o
[446/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/splashscreen.cpp.o
[447/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin_locale.cpp.o
[448/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/rpcconsole.cpp.o
[449/454] Linking CXX static library src/qt/libbitcoin-qt-base.a
[450/454] Automatic MOC for target bitcoin-qt
[451/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
[452/454] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
[453/454] Linking CXX executable src/qt/bitcoin-qt
ninja: build stopped: cannot make progress due to previous errors.
Build build-without-wallet failed with exit code 1

Tail of the build log:

[458/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin-qt-base_autogen/mocs_compilation.cpp.o
[459/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin.cpp.o
[460/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/intro.cpp.o
[461/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin.cpp.o
[462/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoingui.cpp.o
[463/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsmodel.cpp.o
[464/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/guiutil.cpp.o
[465/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsdialog.cpp.o
[466/507] Linking CXX executable src/bench/bitcoin-bench
FAILED: src/bench/bitcoin-bench 
: && /usr/bin/c++  -Werror -O0  -fuse-ld=gold -Wl,-z,relro -Wl,-z,now -fPIE -pie src/test/CMakeFiles/testutil.dir/util/block_utils.cpp.o src/test/CMakeFiles/testutil.dir/util/blockfilter.cpp.o src/test/CMakeFiles/testutil.dir/util/logging.cpp.o src/test/CMakeFiles/testutil.dir/util/mining.cpp.o src/test/CMakeFiles/testutil.dir/util/net.cpp.o src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o src/test/CMakeFiles/testutil.dir/util/str.cpp.o src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o src/test/CMakeFiles/testutil.dir/util/wallet.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/addrman.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/base58.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/bench.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/bench_bitcoin.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/block_assemble.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/cashaddr.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/ccoins_caching.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/chacha_poly_aead.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/chacha20.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/checkblock.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/checkqueue.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/crypto_aes.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/crypto_hash.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/data.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/duplicate_inputs.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/examples.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/gcs_filter.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/hashpadding.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/lockedpool.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/mempool_eviction.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/mempool_stress.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/merkle_root.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/nanobench.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/poly1305.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/prevector.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/rollingbloom.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/rpc_blockchain.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/rpc_mempool.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/util_time.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/verify_script.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/coin_selection.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/wallet_balance.cpp.o  -o src/bench/bitcoin-bench  /usr/lib/x86_64-linux-gnu/libjemalloc_pic.a  src/wallet/libwallet.a  src/libserver.a  src/wallet/libwallet.a  /usr/lib/x86_64-linux-gnu/libdb_cxx.so  src/libbitcoinconsensus.a  src/libscript.a  src/libcommon.a  src/libbitcoinconsensus.a  src/libscript.a  src/libcommon.a  src/secp256k1/libsecp256k1.a  src/leveldb/libleveldb.a  src/leveldb/libleveldb-sse4.2.a  src/leveldb/libmemenv.a  /usr/lib/x86_64-linux-gnu/libevent_pthreads.so  /usr/lib/x86_64-linux-gnu/libminiupnpc.so  src/zmq/libzmq.a  src/libutil.a  src/univalue/libunivalue.a  /usr/lib/x86_64-linux-gnu/libevent.so  src/crypto/libcrypto.a  src/crypto/libcrypto_sse4.1.a  src/crypto/libcrypto_avx2.a  src/crypto/libcrypto_shani.a  /usr/lib/x86_64-linux-gnu/libjemalloc_pic.a  -lm  -ldl  /usr/lib/x86_64-linux-gnu/libboost_filesystem.so  /usr/lib/x86_64-linux-gnu/libboost_thread.so  -pthread  /usr/lib/x86_64-linux-gnu/libboost_chrono.so  /usr/lib/x86_64-linux-gnu/libboost_system.so  /usr/lib/x86_64-linux-gnu/libboost_date_time.so  /usr/lib/x86_64-linux-gnu/libboost_atomic.so  /usr/lib/x86_64-linux-gnu/libzmq.so && :
../../src/test/util/block_utils.cpp:16: error: undefined reference to 'boost::unit_test::unit_test_log_t::set_checkpoint(boost::unit_test::basic_cstring<char const>, unsigned long, boost::unit_test::basic_cstring<char const>)'
/usr/include/boost/test/unit_test_log.hpp:224: error: undefined reference to 'vtable for boost::unit_test::unit_test_log_t'
/usr/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function
/usr/include/boost/test/unit_test_log.hpp:112: error: undefined reference to 'vtable for boost::unit_test::unit_test_log_t'
/usr/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function
/usr/include/boost/test/tools/old/impl.hpp:92: error: undefined reference to 'boost::test_tools::tt_detail::report_assertion(boost::test_tools::assertion_result const&, boost::unit_test::lazy_ostream const&, boost::unit_test::basic_cstring<char const>, unsigned long, boost::test_tools::tt_detail::tool_level, boost::test_tools::tt_detail::check_type, unsigned long, ...)'
collect2: error: ld returned 1 exit status
[467/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/peertablemodel.cpp.o
[468/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/addressbookpage.cpp.o
[469/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/createwalletdialog.cpp.o
[470/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/coincontroltreewidget.cpp.o
[471/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/utilitydialog.cpp.o
[472/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/editaddressdialog.cpp.o
[473/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/trafficgraphwidget.cpp.o
[474/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/askpassphrasedialog.cpp.o
[475/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/splashscreen.cpp.o
[476/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrimagewidget.cpp.o
[477/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin_locale.cpp.o
[478/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/openuridialog.cpp.o
[479/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionfilterproxy.cpp.o
[480/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receiverequestdialog.cpp.o
[481/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/overviewpage.cpp.o
[482/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/addresstablemodel.cpp.o
[483/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondescdialog.cpp.o
[484/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/rpcconsole.cpp.o
[485/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsentry.cpp.o
[486/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/recentrequeststablemodel.cpp.o
[487/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/coincontroldialog.cpp.o
[488/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receivecoinsdialog.cpp.o
[489/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentserver.cpp.o
[490/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionrecord.cpp.o
[491/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondesc.cpp.o
[492/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionview.cpp.o
[493/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodeltransaction.cpp.o
[494/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletframe.cpp.o
[495/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/signverifymessagedialog.cpp.o
[496/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiontablemodel.cpp.o
[497/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentrequestplus.cpp.o
[498/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsdialog.cpp.o
[499/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletview.cpp.o
[500/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletcontroller.cpp.o
[501/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodel.cpp.o
[502/507] Linking CXX static library src/qt/libbitcoin-qt-base.a
[503/507] Automatic MOC for target bitcoin-qt
[504/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
[505/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
[506/507] Linking CXX executable src/qt/bitcoin-qt
ninja: build stopped: cannot make progress due to previous errors.
Build build-debug failed with exit code 1

Tail of the build log:

[456/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/clientmodel.cpp.o
[457/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/utilitydialog.cpp.o
[458/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bantablemodel.cpp.o
[459/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin.cpp.o
[460/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/intro.cpp.o
[461/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/addressbookpage.cpp.o
[462/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsmodel.cpp.o
[463/507] Linking CXX executable src/bench/bitcoin-bench
FAILED: src/bench/bitcoin-bench 
: && /usr/bin/c++  -Werror -g -O2  -fuse-ld=gold -Wl,-z,relro -Wl,-z,now -fPIE -pie src/test/CMakeFiles/testutil.dir/util/block_utils.cpp.o src/test/CMakeFiles/testutil.dir/util/blockfilter.cpp.o src/test/CMakeFiles/testutil.dir/util/logging.cpp.o src/test/CMakeFiles/testutil.dir/util/mining.cpp.o src/test/CMakeFiles/testutil.dir/util/net.cpp.o src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o src/test/CMakeFiles/testutil.dir/util/str.cpp.o src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o src/test/CMakeFiles/testutil.dir/util/wallet.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/addrman.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/base58.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/bench.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/bench_bitcoin.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/block_assemble.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/cashaddr.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/ccoins_caching.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/chacha_poly_aead.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/chacha20.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/checkblock.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/checkqueue.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/crypto_aes.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/crypto_hash.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/data.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/duplicate_inputs.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/examples.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/gcs_filter.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/hashpadding.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/lockedpool.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/mempool_eviction.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/mempool_stress.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/merkle_root.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/nanobench.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/poly1305.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/prevector.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/rollingbloom.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/rpc_blockchain.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/rpc_mempool.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/util_time.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/verify_script.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/coin_selection.cpp.o src/bench/CMakeFiles/bitcoin-bench.dir/wallet_balance.cpp.o  -o src/bench/bitcoin-bench  /usr/lib/x86_64-linux-gnu/libjemalloc_pic.a  src/wallet/libwallet.a  src/libserver.a  src/wallet/libwallet.a  /usr/lib/x86_64-linux-gnu/libdb_cxx.so  src/libbitcoinconsensus.a  src/libscript.a  src/libcommon.a  src/libbitcoinconsensus.a  src/libscript.a  src/libcommon.a  src/secp256k1/libsecp256k1.a  src/leveldb/libleveldb.a  src/leveldb/libleveldb-sse4.2.a  src/leveldb/libmemenv.a  /usr/lib/x86_64-linux-gnu/libevent_pthreads.so  /usr/lib/x86_64-linux-gnu/libminiupnpc.so  src/zmq/libzmq.a  src/libutil.a  src/univalue/libunivalue.a  /usr/lib/x86_64-linux-gnu/libevent.so  src/crypto/libcrypto.a  src/crypto/libcrypto_sse4.1.a  src/crypto/libcrypto_avx2.a  src/crypto/libcrypto_shani.a  /usr/lib/x86_64-linux-gnu/libjemalloc_pic.a  -lm  -ldl  /usr/lib/x86_64-linux-gnu/libboost_filesystem.so  /usr/lib/x86_64-linux-gnu/libboost_thread.so  -pthread  /usr/lib/x86_64-linux-gnu/libboost_chrono.so  /usr/lib/x86_64-linux-gnu/libboost_system.so  /usr/lib/x86_64-linux-gnu/libboost_date_time.so  /usr/lib/x86_64-linux-gnu/libboost_atomic.so  /usr/lib/x86_64-linux-gnu/libzmq.so && :
../../src/test/util/block_utils.cpp:16: error: undefined reference to 'boost::unit_test::unit_test_log_t::set_checkpoint(boost::unit_test::basic_cstring<char const>, unsigned long, boost::unit_test::basic_cstring<char const>)'
/usr/include/boost/test/tools/old/impl.hpp:92: error: undefined reference to 'boost::test_tools::tt_detail::report_assertion(boost::test_tools::assertion_result const&, boost::unit_test::lazy_ostream const&, boost::unit_test::basic_cstring<char const>, unsigned long, boost::test_tools::tt_detail::tool_level, boost::test_tools::tt_detail::check_type, unsigned long, ...)'
/usr/include/boost/test/unit_test_log.hpp:224: error: undefined reference to 'vtable for boost::unit_test::unit_test_log_t'
/usr/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function
collect2: error: ld returned 1 exit status
[464/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsdialog.cpp.o
[465/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/createwalletdialog.cpp.o
[466/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/guiutil.cpp.o
[467/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/editaddressdialog.cpp.o
[468/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/coincontroltreewidget.cpp.o
[469/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoingui.cpp.o
[470/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrimagewidget.cpp.o
[471/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin-qt-base_autogen/mocs_compilation.cpp.o
[472/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin.cpp.o
[473/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/peertablemodel.cpp.o
[474/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/trafficgraphwidget.cpp.o
[475/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/splashscreen.cpp.o
[476/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin_locale.cpp.o
[477/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/askpassphrasedialog.cpp.o
[478/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondescdialog.cpp.o
[479/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionfilterproxy.cpp.o
[480/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/openuridialog.cpp.o
[481/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receiverequestdialog.cpp.o
[482/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/overviewpage.cpp.o
[483/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/rpcconsole.cpp.o
[484/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/addresstablemodel.cpp.o
[485/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsentry.cpp.o
[486/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/recentrequeststablemodel.cpp.o
[487/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receivecoinsdialog.cpp.o
[488/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentrequestplus.cpp.o
[489/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionrecord.cpp.o
[490/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodeltransaction.cpp.o
[491/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/coincontroldialog.cpp.o
[492/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiontablemodel.cpp.o
[493/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletframe.cpp.o
[494/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentserver.cpp.o
[495/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionview.cpp.o
[496/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/signverifymessagedialog.cpp.o
[497/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondesc.cpp.o
[498/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsdialog.cpp.o
[499/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletcontroller.cpp.o
[500/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletview.cpp.o
[501/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodel.cpp.o
[502/507] Linking CXX static library src/qt/libbitcoin-qt-base.a
[503/507] Automatic MOC for target bitcoin-qt
[504/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
[505/507] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
[506/507] Linking CXX executable src/qt/bitcoin-qt
ninja: build stopped: cannot make progress due to previous errors.
Build build-diff failed with exit code 1

Tail of the build log:

>>>               src/test/CMakeFiles/testutil.dir/util/block_utils.cpp.o:(bool boost::test_tools::tt_detail::check_frwd<boost::test_tools::tt_detail::equal_impl_frwd, long, long>(boost::test_tools::tt_detail::equal_impl_frwd, boost::unit_test::lazy_ostream const&, boost::unit_test::basic_cstring<char const>, unsigned long, boost::test_tools::tt_detail::tool_level, boost::test_tools::tt_detail::check_type, long const&, char const*, long const&, char const*))

ld.lld: error: undefined symbol: vtable for boost::unit_test::unit_test_log_t
>>> referenced by unit_test_log.hpp:224 (/usr/include/boost/test/unit_test_log.hpp:224)
>>>               src/test/CMakeFiles/testutil.dir/util/block_utils.cpp.o:(_GLOBAL__sub_I_block_utils.cpp)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[454/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/platformstyle.cpp.o
[455/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin-qt-base_autogen/mocs_compilation.cpp.o
[456/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvalidatedlineedit.cpp.o
[457/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/clientmodel.cpp.o
[458/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvaluecombobox.cpp.o
[459/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin.cpp.o
[460/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin.cpp.o
[461/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/intro.cpp.o
[462/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoingui.cpp.o
[463/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/guiutil.cpp.o
[464/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsmodel.cpp.o
[465/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsdialog.cpp.o
[466/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/addressbookpage.cpp.o
[467/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/peertablemodel.cpp.o
[468/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/createwalletdialog.cpp.o
[469/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/coincontroltreewidget.cpp.o
[470/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/utilitydialog.cpp.o
[471/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/trafficgraphwidget.cpp.o
[472/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/splashscreen.cpp.o
[473/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/editaddressdialog.cpp.o
[474/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/askpassphrasedialog.cpp.o
[475/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/openuridialog.cpp.o
[476/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrimagewidget.cpp.o
[477/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin_locale.cpp.o
[478/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/addresstablemodel.cpp.o
[479/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/overviewpage.cpp.o
[480/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionfilterproxy.cpp.o
[481/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receiverequestdialog.cpp.o
[482/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondescdialog.cpp.o
[483/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/rpcconsole.cpp.o
[484/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/recentrequeststablemodel.cpp.o
[485/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/coincontroldialog.cpp.o
[486/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsentry.cpp.o
[487/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receivecoinsdialog.cpp.o
[488/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentserver.cpp.o
[489/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionrecord.cpp.o
[490/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/signverifymessagedialog.cpp.o
[491/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodeltransaction.cpp.o
[492/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiontablemodel.cpp.o
[493/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletframe.cpp.o
[494/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionview.cpp.o
[495/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondesc.cpp.o
[496/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentrequestplus.cpp.o
[497/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsdialog.cpp.o
[498/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletview.cpp.o
[499/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletcontroller.cpp.o
[500/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodel.cpp.o
[501/505] Linking CXX static library src/qt/libbitcoin-qt-base.a
[502/505] Automatic MOC for target bitcoin-qt
[503/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
[504/505] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
[505/505] Linking CXX executable src/qt/bitcoin-qt
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang-tidy failed with exit code 1
Fabien requested changes to this revision.Thu, Jun 3, 13:07
Fabien added a subscriber: Fabien.
Fabien added inline comments.
src/avalanche/proof.cpp
175

This needs a null check

178

supposedly it was past the expiration time for 5 blocks already, the name is not the best

src/avalanche/test/proof_tests.cpp
460

Where is the expiration test ?

src/avalanche/validation.h
29

nit: give it a category name

src/test/activation_tests.cpp
5

That looks unrelated

src/test/util/block_utils.cpp
16

This means that the lib cannot be used outside of the unit tests context, so no bench nor fuzz. This is where your linker issue comes from.

src/test/util/block_utils.h
8

forward declare CBlockIndex

src/avalanche/test/proof_tests.cpp
460

I will add one. I haven't finished fixed all the existing test, yet

src/test/activation_tests.cpp
5

My IDE informed me that removing CBlockIndex from here made that import unused. It is probably a good idea for me to split this refactoring into a separate review.

src/test/util/block_utils.cpp
16

Thanks.