Page MenuHomePhabricator

[kernel 0/n] Introduce bitcoin-chainstate
ClosedPublic

Authored by PiRK on Dec 20 2023, 15:52.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABC1d6aeef072a3: [kernel 0/n] Introduce bitcoin-chainstate
Summary

The bitcoin-chainstate executable serves to surface the dependencies
required by a program wishing to use Bitcoin Core's consensus engine as
it is right now.

More broadly, the _SOURCES list serves as a guiding "North Star" for the
libbitcoinkernel project: as we decouple more and more modules of the
codebase from our consensus engine, this _SOURCES list will grow shorter
and shorter. One day, only what is critical to our consensus engine will
remain. Right now, it's "the minimal list of files to link in to even
use our consensus engine".

The additional dependencies for Bitcoin ABC pulled in via validation -> avalanche are listed separately because they will take more than just backporting bitcoin Core to get rid of.

[META] In a future commit the libbitcoinkernel library will be extracted

from bitcoin-chainstate, and the libbitcoinkernel library's
_SOURCES list will be the list that we aim to shrink.

This is a backport of core#24304 and core#24504

with updates from core#24661, core#25308, core#22564, core#24595, core#25168, core#25077, core#24153

Test Plan
cmake .. -GNinja -DBUILD_BITCOIN_CHAINSTATE=ON
ninja

Running the new executable and pasting some hex blocks (the ones just after the tip from our chainstate)

$ src/bitcoin-chainstate  /data/ecashd
Hello! I'm going to print out some information about your datadir.
	Path: "/data/ecashd"
	Reindexing: false
	Snapshot Active: false
	Active Height: 823235
	Active IBD: true
	CBlockIndex(pprev=0x7fe1085ce0c8, nHeight=823235, merkle=6a3a479d92db7c5a178356c680a58ff0468ed2aaf689c850b55729ebb0038568, hashBlock=0000000000000000085542cbdfd82a970117d737ebe8bc7a5c04d78d80d7bce9)
00e01420e9bcd7808dd7045c7abce8eb37d71701972ad8dfcb42550800000000000000005b31c63b1d34d740df4dea822a57439cdcf9c34b7a07a47c65c7602b78e81978ec388165c5102f18b4e7455f0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff5803c48f0c04ed3881650cfabe6d6db68846e753ced995dcfb5a40b17108c8aceee4f11bb86c48c31000d62cd8859b10000000000000002ffffbec16c3eb3e20000000153237616661356365343565313830636333343636380000000003a04f9b15000000001976a914ce8c8cf69a922a607e8e03e27ec014fbc24882e088ac00c2eb0b0000000017a914d37c4c809fe9840e7bfa77b86bd47163f6fb6c6087a0acb903000000001976a914c36941af4c8cdf6e3156f7fe1426d05d6177890e88ac00000000
Valid
initial value. Block has not yet been rejected
0040382de2bda14474f926af7d0e202cb5cd4583b978fd58c42d4c1600000000000000008addc8d8119c2d3d4943b06d7e532aca3dc146aa563e72f347f34bf0a37a1d5a0639816500f52e18360673500101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff5803c58f0c04063981650cfabe6d6d3b4767d5cada5b02046d6405e06e30e589b2bdf8de43e1517b8bf59ff31aca1f10000000000000002ffffc3b38f5cc2904000000153237616661356365343565313830636333343637310000000003a04f9b15000000001976a914ce8c8cf69a922a607e8e03e27ec014fbc24882e088ac00c2eb0b0000000017a914d37c4c809fe9840e7bfa77b86bd47163f6fb6c6087a0acb903000000001976a914600fe1afb15029166355501cb7887426b0055ca188ac00000000
Valid
initial value. Block has not yet been rejected

Re-running bitcoin-chainstate, note that the active tip has advanced by two blocks, then pasting an old block (duplicate)

$ src/bitcoin-chainstate  /data/ecashd
Hello! I'm going to print out some information about your datadir.
	Path: "/data/ecashd"
	Reindexing: false
	Snapshot Active: false
	Active Height: 823237
	Active IBD: true
	CBlockIndex(pprev=0x7fdb16e3b0c8, nHeight=823237, merkle=5a1d7aa3f04bf347f3723e56aa46c13dca2a537e6db043493d2d9c11d8c8dd8a, hashBlock=00000000000000000571463c80aa2dd411dbb5733c84e80b13ab329066918a84)
00c0012014b97d29661368d02d2593437c6cfbced254bc93daebea1f0000000000000000d53f666733a961c0f6d54a17c6c1a0de50b8687873aeacb0c12590711b89145bb52f816547f72e18c649a0890101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff5803c18f0c04b62f81650cfabe6d6dc0d0d8c1dda463e1b906bfd1df887f20647ce66b7bf71fcda76fe1a7a5a8b4b110000000000000005ffffd71c7682a7fc8000000156536303266303261396362393865623833343836380000000003a04f9b15000000001976a914ce8c8cf69a922a607e8e03e27ec014fbc24882e088ac00c2eb0b0000000017a914d37c4c809fe9840e7bfa77b86bd47163f6fb6c6087a0acb903000000001976a914798038c8969512b74e82124a9a7364192893237188ac00000000
duplicate

Event Timeline

Tail of the build log:

[556/614] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/wallet_balance.cpp.o
[557/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/networkstyle.cpp.o
[558/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bantablemodel.cpp.o
[559/614] Linking CXX executable src/bench/bitcoin-bench
[560/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/modaloverlay.cpp.o
[561/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/notificator.cpp.o
[562/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/clientmodel.cpp.o
[563/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/platformstyle.cpp.o
[564/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvalidatedlineedit.cpp.o
[565/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoingui.cpp.o
[566/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvaluecombobox.cpp.o
[567/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin-qt-base_autogen/mocs_compilation.cpp.o
[568/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin.cpp.o
[569/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/intro.cpp.o
[570/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsdialog.cpp.o
[571/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin.cpp.o
[572/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/guiutil.cpp.o
[573/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsmodel.cpp.o
[574/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/addressbookpage.cpp.o
[575/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/peertablemodel.cpp.o
[576/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/utilitydialog.cpp.o
[577/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/createwalletdialog.cpp.o
[578/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/coincontroltreewidget.cpp.o
[579/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/trafficgraphwidget.cpp.o
[580/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/editaddressdialog.cpp.o
[581/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/askpassphrasedialog.cpp.o
[582/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/openuridialog.cpp.o
[583/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrimagewidget.cpp.o
[584/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/splashscreen.cpp.o
[585/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/overviewpage.cpp.o
[586/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin_locale.cpp.o
[587/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receiverequestdialog.cpp.o
[588/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/rpcconsole.cpp.o
[589/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/addresstablemodel.cpp.o
[590/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondescdialog.cpp.o
[591/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionfilterproxy.cpp.o
[592/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/recentrequeststablemodel.cpp.o
[593/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/coincontroldialog.cpp.o
[594/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsentry.cpp.o
[595/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionrecord.cpp.o
[596/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receivecoinsdialog.cpp.o
[597/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentserver.cpp.o
[598/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondesc.cpp.o
[599/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodeltransaction.cpp.o
[600/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiontablemodel.cpp.o
[601/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionview.cpp.o
[602/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/signverifymessagedialog.cpp.o
[603/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentrequestplus.cpp.o
[604/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsdialog.cpp.o
[605/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletframe.cpp.o
[606/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletcontroller.cpp.o
[607/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletview.cpp.o
[608/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodel.cpp.o
[609/614] Linking CXX static library src/qt/libbitcoin-qt-base.a
[610/614] Automatic MOC for target bitcoin-qt
[611/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
[612/614] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
[613/614] 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

Tail of the build log:

[557/616] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/mempool_eviction.cpp.o
[558/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/platformstyle.cpp.o
[559/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvalidatedlineedit.cpp.o
[560/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvaluecombobox.cpp.o
[561/616] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/rpc_blockchain.cpp.o
[562/616] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/duplicate_inputs.cpp.o
[563/616] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/chained_tx.cpp.o
[564/616] Linking CXX executable src/bench/bitcoin-bench
[565/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/utilitydialog.cpp.o
[566/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin.cpp.o
[567/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin_locale.cpp.o
[568/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/addressbookpage.cpp.o
[569/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/addresstablemodel.cpp.o
[570/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/askpassphrasedialog.cpp.o
[571/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bantablemodel.cpp.o
[572/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/coincontroltreewidget.cpp.o
[573/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/createwalletdialog.cpp.o
[574/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/editaddressdialog.cpp.o
[575/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/openuridialog.cpp.o
[576/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/overviewpage.cpp.o
[577/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/clientmodel.cpp.o
[578/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrimagewidget.cpp.o
[579/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receivecoinsdialog.cpp.o
[580/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receiverequestdialog.cpp.o
[581/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/recentrequeststablemodel.cpp.o
[582/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/intro.cpp.o
[583/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/trafficgraphwidget.cpp.o
[584/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsentry.cpp.o
[585/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/signverifymessagedialog.cpp.o
[586/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondescdialog.cpp.o
[587/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionfilterproxy.cpp.o
[588/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionrecord.cpp.o
[589/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiontablemodel.cpp.o
[590/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionview.cpp.o
[591/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsmodel.cpp.o
[592/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletframe.cpp.o
[593/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/peertablemodel.cpp.o
[594/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodeltransaction.cpp.o
[595/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsdialog.cpp.o
[596/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentrequestplus.cpp.o
[597/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/guiutil.cpp.o
[598/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin-qt-base_autogen/mocs_compilation.cpp.o
[599/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/splashscreen.cpp.o
[600/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoingui.cpp.o
[601/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin.cpp.o
[602/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/coincontroldialog.cpp.o
[603/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletcontroller.cpp.o
[604/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentserver.cpp.o
[605/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/rpcconsole.cpp.o
[606/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondesc.cpp.o
[607/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletview.cpp.o
[608/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsdialog.cpp.o
[609/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodel.cpp.o
[610/616] Linking CXX static library src/qt/libbitcoin-qt-base.a
[611/616] Automatic MOC for target bitcoin-qt
[612/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
[613/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
[614/616] 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:

[497/556] Generating forms/ui_helpmessagedialog.h
[498/556] Generating forms/ui_intro.h
[499/556] Generating forms/ui_modaloverlay.h
[500/556] Generating forms/ui_openuridialog.h
[501/556] Generating forms/ui_optionsdialog.h
[502/556] Generating forms/ui_overviewpage.h
[503/556] Generating forms/ui_receivecoinsdialog.h
[504/556] Generating forms/ui_receiverequestdialog.h
[505/556] Generating forms/ui_debugwindow.h
[506/556] Generating forms/ui_sendcoinsdialog.h
[507/556] Generating forms/ui_sendcoinsentry.h
[508/556] Generating forms/ui_signverifymessagedialog.h
[509/556] Generating forms/ui_transactiondescdialog.h
[510/556] Generating qrc_bitcoin.cpp
[511/556] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/util_time.cpp.o
[512/556] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/prevector.cpp.o
[513/556] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/duplicate_inputs.cpp.o
[514/556] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/mempool_eviction.cpp.o
[515/556] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/chained_tx.cpp.o
[516/556] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/verify_script.cpp.o
[517/556] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/bench.cpp.o
[518/556] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/peer_eviction.cpp.o
[519/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoinaddressvalidator.cpp.o
[520/556] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/mempool_stress.cpp.o
[521/556] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/rpc_blockchain.cpp.o
[522/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/csvmodelwriter.cpp.o
[523/556] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/rpc_mempool.cpp.o
[524/556] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/nanobench.cpp.o
[525/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoinunits.cpp.o
[526/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoinamountfield.cpp.o
[527/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/networkstyle.cpp.o
[528/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bantablemodel.cpp.o
[529/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/modaloverlay.cpp.o
[530/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin-qt-base_autogen/mocs_compilation.cpp.o
[531/556] Linking CXX executable src/bench/bitcoin-bench
[532/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/platformstyle.cpp.o
[533/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/notificator.cpp.o
[534/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/clientmodel.cpp.o
[535/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvaluecombobox.cpp.o
[536/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvalidatedlineedit.cpp.o
[537/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin.cpp.o
[538/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoingui.cpp.o
[539/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin.cpp.o
[540/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/intro.cpp.o
[541/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsmodel.cpp.o
[542/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/guiutil.cpp.o
[543/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/utilitydialog.cpp.o
[544/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsdialog.cpp.o
[545/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/trafficgraphwidget.cpp.o
[546/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/peertablemodel.cpp.o
[547/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/splashscreen.cpp.o
[548/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin_locale.cpp.o
[549/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/rpcconsole.cpp.o
[550/556] Linking CXX static library src/qt/libbitcoin-qt-base.a
[551/556] Automatic MOC for target bitcoin-qt
[552/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
[553/556] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
[554/556] 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:

[557/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/modaloverlay.cpp.o
[558/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bantablemodel.cpp.o
[559/616] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/wallet_balance.cpp.o
[560/616] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/coin_selection.cpp.o
[561/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/notificator.cpp.o
[562/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/clientmodel.cpp.o
[563/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/platformstyle.cpp.o
[564/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin-qt-base_autogen/mocs_compilation.cpp.o
[565/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvaluecombobox.cpp.o
[566/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvalidatedlineedit.cpp.o
[567/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoingui.cpp.o
[568/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin.cpp.o
[569/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin.cpp.o
[570/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/intro.cpp.o
[571/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsmodel.cpp.o
[572/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/guiutil.cpp.o
[573/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsdialog.cpp.o
[574/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/addressbookpage.cpp.o
[575/616] Linking CXX executable src/bench/bitcoin-bench
[576/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/utilitydialog.cpp.o
[577/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/peertablemodel.cpp.o
[578/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/coincontroltreewidget.cpp.o
[579/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/createwalletdialog.cpp.o
[580/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/editaddressdialog.cpp.o
[581/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/askpassphrasedialog.cpp.o
[582/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/trafficgraphwidget.cpp.o
[583/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrimagewidget.cpp.o
[584/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin_locale.cpp.o
[585/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/openuridialog.cpp.o
[586/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/splashscreen.cpp.o
[587/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/overviewpage.cpp.o
[588/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/addresstablemodel.cpp.o
[589/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionfilterproxy.cpp.o
[590/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receiverequestdialog.cpp.o
[591/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/recentrequeststablemodel.cpp.o
[592/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondescdialog.cpp.o
[593/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsentry.cpp.o
[594/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/rpcconsole.cpp.o
[595/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/coincontroldialog.cpp.o
[596/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionrecord.cpp.o
[597/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receivecoinsdialog.cpp.o
[598/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodeltransaction.cpp.o
[599/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionview.cpp.o
[600/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiontablemodel.cpp.o
[601/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletframe.cpp.o
[602/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondesc.cpp.o
[603/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentserver.cpp.o
[604/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/signverifymessagedialog.cpp.o
[605/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentrequestplus.cpp.o
[606/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsdialog.cpp.o
[607/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletcontroller.cpp.o
[608/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletview.cpp.o
[609/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodel.cpp.o
[610/616] Linking CXX static library src/qt/libbitcoin-qt-base.a
[611/616] Automatic MOC for target bitcoin-qt
[612/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
[613/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
[614/616] 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:

[557/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bantablemodel.cpp.o
[558/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/modaloverlay.cpp.o
[559/616] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/wallet_balance.cpp.o
[560/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/platformstyle.cpp.o
[561/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/notificator.cpp.o
[562/616] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/coin_selection.cpp.o
[563/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/clientmodel.cpp.o
[564/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvalidatedlineedit.cpp.o
[565/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin-qt-base_autogen/mocs_compilation.cpp.o
[566/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvaluecombobox.cpp.o
[567/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/intro.cpp.o
[568/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin.cpp.o
[569/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin.cpp.o
[570/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoingui.cpp.o
[571/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsmodel.cpp.o
[572/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/guiutil.cpp.o
[573/616] Linking CXX executable src/bench/bitcoin-bench
[574/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsdialog.cpp.o
[575/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/addressbookpage.cpp.o
[576/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/utilitydialog.cpp.o
[577/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/coincontroltreewidget.cpp.o
[578/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/trafficgraphwidget.cpp.o
[579/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/createwalletdialog.cpp.o
[580/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/editaddressdialog.cpp.o
[581/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/splashscreen.cpp.o
[582/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/peertablemodel.cpp.o
[583/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/askpassphrasedialog.cpp.o
[584/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/openuridialog.cpp.o
[585/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin_locale.cpp.o
[586/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrimagewidget.cpp.o
[587/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/overviewpage.cpp.o
[588/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionfilterproxy.cpp.o
[589/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/addresstablemodel.cpp.o
[590/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondescdialog.cpp.o
[591/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receiverequestdialog.cpp.o
[592/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsentry.cpp.o
[593/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/recentrequeststablemodel.cpp.o
[594/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionrecord.cpp.o
[595/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/coincontroldialog.cpp.o
[596/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receivecoinsdialog.cpp.o
[597/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/rpcconsole.cpp.o
[598/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionview.cpp.o
[599/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiontablemodel.cpp.o
[600/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/signverifymessagedialog.cpp.o
[601/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodeltransaction.cpp.o
[602/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentserver.cpp.o
[603/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletframe.cpp.o
[604/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondesc.cpp.o
[605/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentrequestplus.cpp.o
[606/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsdialog.cpp.o
[607/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletcontroller.cpp.o
[608/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletview.cpp.o
[609/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodel.cpp.o
[610/616] Linking CXX static library src/qt/libbitcoin-qt-base.a
[611/616] Automatic MOC for target bitcoin-qt
[612/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
[613/616] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
[614/616] 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

progress! now i see actual compiler errors.
TODO: list all the source files directly in add_executable (no need for add_library)

PiRK edited the summary of this revision. (Show Details)
PiRK edited the test plan for this revision. (Show Details)

make it work:

  • Fix compiler errors due to Core vs ABC differences in the codebase.
  • Fix linker errors by adding all the additional source files needed.

Also don't use an intermediate bitcoinchainstate lib, list the files directly in add_executable(bitcoin-chainstate

build this new executable on CI, with the "no wallet" job

PiRK published this revision for review.Dec 21 2023, 10:01
PiRK edited the summary of this revision. (Show Details)
PiRK edited the test plan for this revision. (Show Details)
Fabien requested changes to this revision.Dec 21 2023, 10:46
Fabien added a subscriber: Fabien.
Fabien added inline comments.
contrib/teamcity/build-configurations.yml
554 ↗(On Diff #43723)

Why (only) this build? There are other that test everything like build-diff, build-master or build-linux64 that are more appropriated. Also would be nice to check the cross builds, build-osx, build-win64, build-linux-arm and build-linux-aarch64.

src/CMakeLists.txt
949–950 ↗(On Diff #43723)
955 ↗(On Diff #43723)
968 ↗(On Diff #43723)

This will be distributed as part of the release if there is an install target. Maybe keep this commented (with explanation) if it's experimental/incomplete

src/bitcoin-chainstate.cpp
60 ↗(On Diff #43723)

nit: move the comment on its own line

98 ↗(On Diff #43723)

no need for the else

231 ↗(On Diff #43723)

than what ?

265 ↗(On Diff #43723)

There is a mixbag of uppercase/lowercase for the first word ere, you might want to make it consistent

This revision now requires changes to proceed.Dec 21 2023, 10:46
contrib/teamcity/build-configurations.yml
554 ↗(On Diff #43723)

MarcoFalke suggested this one. I couldn't find the rationale, but it makes sense to me: the new lib definitely does not need the wallet, and we just need one build to make sure that the linker errors that arise from coupling regressions are caught by CI.
I can move it to any other build, preferably one that runs on each diff.

I agree that the cross builds make sense too, I will add them.

src/CMakeLists.txt
968 ↗(On Diff #43723)

I think I will just remove it. I copied this from another executable without thinking too much about it, but I don't think we will ever need to release this, and if we do we can add it at that time.

PiRK retitled this revision from build: Add example bitcoin-chainstate executable to [kernel 0/n] Introduce bitcoin-chainstate.

rebase onto D15027, remove correspoong unreachable switch case, add this to more CI build targets (master and all the crossbuilds), fix layout and capitalization nits

@bot build-osx build-linux64 build-linux-aarch64 build-linux-arm build-win64

Tail of the build log:

[924/966] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondesc.cpp.o
[925/966] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodeltransaction.cpp.o
[926/966] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentserver.cpp.o
[927/966] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/__/__/depends/x86_64-apple-darwin/lib/cmake/Qt5Gui/Qt5Gui_QCocoaIntegrationPlugin_Import.cpp.o
[928/966] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletframe.cpp.o
[929/966] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/signverifymessagedialog.cpp.o
[930/966] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiontablemodel.cpp.o
[931/966] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionview.cpp.o
[932/966] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/__/__/depends/x86_64-apple-darwin/lib/cmake/Qt5Widgets/Qt5Widgets_QMacStylePlugin_Import.cpp.o
[933/966] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentrequestplus.cpp.o
[934/966] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsdialog.cpp.o
[935/966] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletcontroller.cpp.o
[936/966] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletview.cpp.o
[937/966] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodel.cpp.o
[938/966] Linking CXX static library src/qt/libbitcoin-qt-base.a
/work/depends/x86_64-apple-darwin/native/bin/x86_64-apple-darwin-ranlib: file: src/qt/libbitcoin-qt-base.a(mocs_compilation.cpp.o) has no symbols
/work/depends/x86_64-apple-darwin/native/bin/x86_64-apple-darwin-ranlib: file: src/qt/libbitcoin-qt-base.a(mocs_compilation.cpp.o) has no symbols
[939/966] Automatic MOC for target bitcoin-qt
[940/966] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
[941/966] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/__/__/depends/x86_64-apple-darwin/lib/cmake/Qt5Gui/Qt5Gui_QMinimalIntegrationPlugin_Import.cpp.o
[942/966] Automatic MOC for target test_bitcoin-qt
[943/966] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/__/__/depends/x86_64-apple-darwin/lib/cmake/Qt5Widgets/Qt5Widgets_QMacStylePlugin_Import.cpp.o
[944/966] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/__/__/depends/x86_64-apple-darwin/lib/cmake/Qt5Gui/Qt5Gui_QCocoaIntegrationPlugin_Import.cpp.o
[945/966] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/util.cpp.o
[946/966] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/bitcoinaddressvalidatortests.cpp.o
[947/966] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/compattests.cpp.o
[948/966] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/__/__/__/depends/x86_64-apple-darwin/lib/cmake/Qt5Gui/Qt5Gui_QMinimalIntegrationPlugin_Import.cpp.o
[949/966] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
[950/966] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/guiutiltests.cpp.o
[951/966] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/__/__/__/depends/x86_64-apple-darwin/lib/cmake/Qt5Gui/Qt5Gui_QCocoaIntegrationPlugin_Import.cpp.o
[952/966] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/test_bitcoin-qt_autogen/mocs_compilation.cpp.o
[953/966] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/__/__/__/depends/x86_64-apple-darwin/lib/cmake/Qt5Widgets/Qt5Widgets_QMacStylePlugin_Import.cpp.o
[954/966] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/uritests.cpp.o
[955/966] Linking CXX executable src/qt/BitcoinABC-Qt.app/Contents/MacOS/BitcoinABC-Qt
ld: warning: direct access in function 'payments::X509Certificates::_InternalParse(char const*, google::protobuf::internal::ParseContext*)' from file 'src/qt/libbitcoin-qt-base.a(paymentrequest.pb.cc.o)' to global weak symbol 'void google::protobuf::internal::arena_destruct_object<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(void*)' from file '../../depends/x86_64-apple-darwin/lib/libprotobuf.a(arenastring.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'payments::Payment::_InternalParse(char const*, google::protobuf::internal::ParseContext*)' from file 'src/qt/libbitcoin-qt-base.a(paymentrequest.pb.cc.o)' to global weak symbol 'void google::protobuf::internal::arena_destruct_object<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(void*)' from file '../../depends/x86_64-apple-darwin/lib/libprotobuf.a(arenastring.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'google::protobuf::UnknownFieldSet* google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow<google::protobuf::UnknownFieldSet>()' from file 'src/qt/libbitcoin-qt-base.a(paymentrequest.pb.cc.o)' to global weak symbol 'void google::protobuf::internal::arena_destruct_object<google::protobuf::internal::InternalMetadata::Container<google::protobuf::UnknownFieldSet> >(void*)' from file '../../depends/x86_64-apple-darwin/lib/libprotobuf.a(unknown_field_set.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'google::protobuf::UnknownFieldSet* google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow<google::protobuf::UnknownFieldSet>()' from file 'src/qt/libbitcoin-qt-base.a(paymentrequest.pb.cc.o)' to global weak symbol 'typeinfo for google::protobuf::internal::InternalMetadata::Container<google::protobuf::UnknownFieldSet>' from file '../../depends/x86_64-apple-darwin/lib/libprotobuf.a(unknown_field_set.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'void google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop<google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::TypeHandler>(void**, void**, int, int)' from file 'src/qt/libbitcoin-qt-base.a(paymentrequest.pb.cc.o)' to global weak symbol 'void google::protobuf::internal::arena_destruct_object<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(void*)' from file '../../depends/x86_64-apple-darwin/lib/libprotobuf.a(arenastring.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'PaymentServer::fetchPaymentACK(interfaces::Wallet&, SendCoinsRecipient const&, QByteArray)' from file 'src/qt/libbitcoin-qt-base.a(paymentserver.cpp.o)' to global weak symbol 'void google::protobuf::internal::arena_destruct_object<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(void*)' from file '../../depends/x86_64-apple-darwin/lib/libprotobuf.a(arenastring.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
[956/966] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/test_main.cpp.o
[957/966] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/apptests.cpp.o
[958/966] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/paymentservertests.cpp.o
[959/966] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/rpcnestedtests.cpp.o
[960/966] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/__/__/wallet/test/wallet_test_fixture.cpp.o
[961/966] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/addressbooktests.cpp.o
[962/966] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/wallettests.cpp.o
[963/966] Linking CXX executable src/qt/test/test_bitcoin-qt
ld: warning: direct access in function 'payments::X509Certificates::_InternalParse(char const*, google::protobuf::internal::ParseContext*)' from file 'src/qt/libbitcoin-qt-base.a(paymentrequest.pb.cc.o)' to global weak symbol 'void google::protobuf::internal::arena_destruct_object<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(void*)' from file '../../depends/x86_64-apple-darwin/lib/libprotobuf.a(repeated_field.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'payments::Payment::_InternalParse(char const*, google::protobuf::internal::ParseContext*)' from file 'src/qt/libbitcoin-qt-base.a(paymentrequest.pb.cc.o)' to global weak symbol 'void google::protobuf::internal::arena_destruct_object<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(void*)' from file '../../depends/x86_64-apple-darwin/lib/libprotobuf.a(repeated_field.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'google::protobuf::UnknownFieldSet* google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow<google::protobuf::UnknownFieldSet>()' from file 'src/qt/libbitcoin-qt-base.a(paymentrequest.pb.cc.o)' to global weak symbol 'void google::protobuf::internal::arena_destruct_object<google::protobuf::internal::InternalMetadata::Container<google::protobuf::UnknownFieldSet> >(void*)' from file '../../depends/x86_64-apple-darwin/lib/libprotobuf.a(unknown_field_set.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'google::protobuf::UnknownFieldSet* google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow<google::protobuf::UnknownFieldSet>()' from file 'src/qt/libbitcoin-qt-base.a(paymentrequest.pb.cc.o)' to global weak symbol 'typeinfo for google::protobuf::internal::InternalMetadata::Container<google::protobuf::UnknownFieldSet>' from file '../../depends/x86_64-apple-darwin/lib/libprotobuf.a(unknown_field_set.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'void google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop<google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::TypeHandler>(void**, void**, int, int)' from file 'src/qt/libbitcoin-qt-base.a(paymentrequest.pb.cc.o)' to global weak symbol 'void google::protobuf::internal::arena_destruct_object<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(void*)' from file '../../depends/x86_64-apple-darwin/lib/libprotobuf.a(repeated_field.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'PaymentServer::fetchPaymentACK(interfaces::Wallet&, SendCoinsRecipient const&, QByteArray)' from file 'src/qt/libbitcoin-qt-base.a(paymentserver.cpp.o)' to global weak symbol 'void google::protobuf::internal::arena_destruct_object<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(void*)' from file '../../depends/x86_64-apple-darwin/lib/libprotobuf.a(repeated_field.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
[964/966] Installing component bitcoin-qt-test_bitcoin-qt
-- Install configuration: "RelWithDebInfo"
-- Install component: "bitcoin-qt-test_bitcoin-qt"
-- Installing: /results/artifacts/bin/test_bitcoin-qt
ninja: build stopped: cannot make progress due to previous errors.
Build build-osx failed with exit code 1

Tail of the build log:

Warning: .drectve `-exclude-symbols:"_ZN4core5array75_$LT$impl$u20$core..default..Default$u20$for$u20$$u5b$T$u3b$$u20$_$u5d$$GT$7default17h9a69658ef990697fE" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN4core5array75_$LT$impl$u20$core..default..Default$u20$for$u20$$u5b$T$u3b$$u20$_$u5d$$GT$7default17ha27e6a7c99bcf9b0E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read4lazy3imp16LazyArc$LT$T$GT$3get17h707dbda2014d44e6E" ' unrecognized
Warning: .drectve `-exclude-symbols:_ZN6object4read4coff7section12SectionTable15section_by_name17hed815d294dedc951E ' unrecognized
Warning: .drectve `-exclude-symbols:_ZN6object4read4coff7section12SectionTable5parse17he560762d73183ddeE ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN82_$LT$gimli..read..lazy..imp..LazyArc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hf5507f395a225589E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN93_$LT$gimli..read..line..LineProgramHeader$LT$R$C$Offset$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hbc4512f0c678acc6E.llvm.15320589155791205994" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line4lazy17LazyCell$LT$T$GT$11borrow_with17h28c4486ca42229e1E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line4lazy17LazyCell$LT$T$GT$11borrow_with17h39aecd7cfb2d694eE" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line4lazy17LazyCell$LT$T$GT$11borrow_with17h3e83bdd2df8f84bcE" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line4lazy17LazyCell$LT$T$GT$11borrow_with17h4d86e5fd6c13df86E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line4lazy17LazyCell$LT$T$GT$11borrow_with17h553cb5dac6f78d90E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line4lazy17LazyCell$LT$T$GT$11borrow_with17h7bd839506ce5ac39E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line4lazy17LazyCell$LT$T$GT$11borrow_with17hfc5932c920bd27b1E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line4lazy17LazyCell$LT$T$GT$6borrow17hecf7eb0ecf86bcc5E" ' unrecognized
Warning: corrupt .drectve at end of def file
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read4line18DebugLine$LT$R$GT$7program17h936cfd78f70b569cE" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read4line35LineProgramHeader$LT$R$C$Offset$GT$4file17h9bdf474f468a16ebE" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read4line35LineProgramHeader$LT$R$C$Offset$GT$9directory17ha268375ccbeedc05E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read4line36LineRows$LT$R$C$Program$C$Offset$GT$3new17he30193a0da2d7e94E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read4line36LineRows$LT$R$C$Program$C$Offset$GT$8next_row17hc6665065d0fa3b9cE" ' unrecognized
Warning: corrupt .drectve at end of def file
Warning: .drectve `-exclude-symbols:_ZN4core3fmt5Write10write_char17h2cae6d285abb30f5E ' unrecognized
Warning: .drectve `-exclude-symbols:_ZN4core3fmt5Write9write_fmt17h35f7cc0c9befbd83E ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN4core3ptr108drop_in_place$LT$alloc..collections..btree..map..BTreeMap$LT$u64$C$gimli..read..abbrev..Abbreviation$GT$$GT$17hecc815ee9ff628edE.llvm.15102828919565503372" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN4core3ptr84drop_in_place$LT$alloc..raw_vec..RawVec$LT$gimli..read..abbrev..Abbreviation$GT$$GT$17h4b96b30eefdd92e3E.llvm.15102828919565503372" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN4core3ptr84drop_in_place$LT$alloc..sync..ArcInner$LT$gimli..read..abbrev..Abbreviations$GT$$GT$17h96a107256efe46efE.llvm.15102828919565503372" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN4core5slice4iter87_$LT$impl$u20$core..iter..traits..collect..IntoIterator$u20$for$u20$$RF$$u5b$T$u5d$$GT$9into_iter17hda48407f375d8cb7E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read5dwarf13Unit$LT$R$GT$8dwo_name17h7aaa2b8c6586eb5bE" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read5dwarf14Dwarf$LT$R$GT$11attr_string17hbb07443cd3ddda3cE" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read5dwarf14Dwarf$LT$R$GT$12attr_address17hdb07af736ea61cc5E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read5dwarf14Dwarf$LT$R$GT$18attr_ranges_offset17ha7d6e1df461bac05E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read5dwarf14Dwarf$LT$T$GT$4load17h389dc4f0fb47cc65E" ' unrecognized
Warning: .drectve `-exclude-symbols:_ZN5gimli4read6abbrev18AbbreviationsCache3get17h66fe6f6fd10bdb96E ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read6abbrev20DebugAbbrev$LT$R$GT$13abbreviations17h5e5238790419de9eE" ' unrecognized
Warning: corrupt .drectve at end of def file
Warning: .drectve `-exclude-symbols:"_ZN4core3ptr168drop_in_place$LT$alloc..vec..Vec$LT$$RF$addr2line..function..InlinedFunction$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17haaf08c9399c165ebE.llvm.17696850753965735712" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN4core3ptr175drop_in_place$LT$alloc..raw_vec..RawVec$LT$$RF$addr2line..function..InlinedFunction$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h711651864035f13aE.llvm.17696850753965735712" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line8function17Function$LT$R$GT$22find_inlined_functions17h5f051ae38c64cf5cE" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line8function17Function$LT$R$GT$5parse17h5bd204308dce02a3E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line8function18Functions$LT$R$GT$12find_address17h73271677548fe0a8E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line8function18Functions$LT$R$GT$5parse17h3e23dac9d3e73cadE" ' unrecognized
Warning: .drectve `-exclude-symbols:"anon.662e4348854c2af40ed8dc06fc22a95d.0.llvm.17696850753965735712" ' unrecognized
Warning: corrupt .drectve at end of def file
Warning: .drectve `-exclude-symbols:"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17ha3d34aa4757560f4E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h021fe233c1ac1cbcE" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h37db503909e4d98aE" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h70c7666facaa4132E" ' unrecognized
Warning: .drectve `-exclude-symbols:_ZN4core4iter8adapters3zip27TrustedRandomAccessNoCoerce4size17had66debeef7a0d58E ' unrecognized
Warning: .drectve `-exclude-symbols:_ZN4core4iter8adapters3zip27TrustedRandomAccessNoCoerce4size17hb414a50ece0d7f26E ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h57663f4cd7ce2025E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN70_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h7b292a0eedd9d261E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN70_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h94a0e4754e0b45aaE" ' unrecognized
Warning: corrupt .drectve at end of def file
[883/885] Installing component bitcoin-qt-test_bitcoin-qt
-- Install configuration: "RelWithDebInfo"
-- Install component: "bitcoin-qt-test_bitcoin-qt"
-- Installing: /results/artifacts/bin/test_bitcoin-qt.exe
ninja: build stopped: cannot make progress due to previous errors.
Build build-win64 failed with exit code 1
src/bitcoin-chainstate.cpp
6 ↗(On Diff #43733)

@bot build-linux64 build-linux-aarch64 build-linux-arm build-win64

Tail of the build log:

Warning: .drectve `-exclude-symbols:_ZN6object4read4coff7section12SectionTable5parse17he560762d73183ddeE ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN82_$LT$gimli..read..lazy..imp..LazyArc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hf5507f395a225589E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN93_$LT$gimli..read..line..LineProgramHeader$LT$R$C$Offset$GT$$u20$as$u20$core..clone..Clone$GT$5clone17hbc4512f0c678acc6E.llvm.15320589155791205994" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line4lazy17LazyCell$LT$T$GT$11borrow_with17h28c4486ca42229e1E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line4lazy17LazyCell$LT$T$GT$11borrow_with17h39aecd7cfb2d694eE" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line4lazy17LazyCell$LT$T$GT$11borrow_with17h3e83bdd2df8f84bcE" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line4lazy17LazyCell$LT$T$GT$11borrow_with17h4d86e5fd6c13df86E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line4lazy17LazyCell$LT$T$GT$11borrow_with17h553cb5dac6f78d90E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line4lazy17LazyCell$LT$T$GT$11borrow_with17h7bd839506ce5ac39E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line4lazy17LazyCell$LT$T$GT$11borrow_with17hfc5932c920bd27b1E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line4lazy17LazyCell$LT$T$GT$6borrow17hecf7eb0ecf86bcc5E" ' unrecognized
Warning: corrupt .drectve at end of def file
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read4line18DebugLine$LT$R$GT$7program17h936cfd78f70b569cE" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read4line35LineProgramHeader$LT$R$C$Offset$GT$4file17h9bdf474f468a16ebE" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read4line35LineProgramHeader$LT$R$C$Offset$GT$9directory17ha268375ccbeedc05E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read4line36LineRows$LT$R$C$Program$C$Offset$GT$3new17he30193a0da2d7e94E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read4line36LineRows$LT$R$C$Program$C$Offset$GT$8next_row17hc6665065d0fa3b9cE" ' unrecognized
Warning: corrupt .drectve at end of def file
Warning: .drectve `-exclude-symbols:_ZN4core3fmt5Write10write_char17h2cae6d285abb30f5E ' unrecognized
Warning: .drectve `-exclude-symbols:_ZN4core3fmt5Write9write_fmt17h35f7cc0c9befbd83E ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN4core3ptr108drop_in_place$LT$alloc..collections..btree..map..BTreeMap$LT$u64$C$gimli..read..abbrev..Abbreviation$GT$$GT$17hecc815ee9ff628edE.llvm.15102828919565503372" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN4core3ptr84drop_in_place$LT$alloc..raw_vec..RawVec$LT$gimli..read..abbrev..Abbreviation$GT$$GT$17h4b96b30eefdd92e3E.llvm.15102828919565503372" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN4core3ptr84drop_in_place$LT$alloc..sync..ArcInner$LT$gimli..read..abbrev..Abbreviations$GT$$GT$17h96a107256efe46efE.llvm.15102828919565503372" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN4core5slice4iter87_$LT$impl$u20$core..iter..traits..collect..IntoIterator$u20$for$u20$$RF$$u5b$T$u5d$$GT$9into_iter17hda48407f375d8cb7E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read5dwarf13Unit$LT$R$GT$8dwo_name17h7aaa2b8c6586eb5bE" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read5dwarf14Dwarf$LT$R$GT$11attr_string17hbb07443cd3ddda3cE" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read5dwarf14Dwarf$LT$R$GT$12attr_address17hdb07af736ea61cc5E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read5dwarf14Dwarf$LT$R$GT$18attr_ranges_offset17ha7d6e1df461bac05E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read5dwarf14Dwarf$LT$T$GT$4load17h389dc4f0fb47cc65E" ' unrecognized
Warning: .drectve `-exclude-symbols:_ZN5gimli4read6abbrev18AbbreviationsCache3get17h66fe6f6fd10bdb96E ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5gimli4read6abbrev20DebugAbbrev$LT$R$GT$13abbreviations17h5e5238790419de9eE" ' unrecognized
Warning: corrupt .drectve at end of def file
Warning: .drectve `-exclude-symbols:"_ZN4core3ptr168drop_in_place$LT$alloc..vec..Vec$LT$$RF$addr2line..function..InlinedFunction$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17haaf08c9399c165ebE.llvm.17696850753965735712" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN4core3ptr175drop_in_place$LT$alloc..raw_vec..RawVec$LT$$RF$addr2line..function..InlinedFunction$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h711651864035f13aE.llvm.17696850753965735712" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line8function17Function$LT$R$GT$22find_inlined_functions17h5f051ae38c64cf5cE" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line8function17Function$LT$R$GT$5parse17h5bd204308dce02a3E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line8function18Functions$LT$R$GT$12find_address17h73271677548fe0a8E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN9addr2line8function18Functions$LT$R$GT$5parse17h3e23dac9d3e73cadE" ' unrecognized
Warning: .drectve `-exclude-symbols:"anon.662e4348854c2af40ed8dc06fc22a95d.0.llvm.17696850753965735712" ' unrecognized
Warning: corrupt .drectve at end of def file
Warning: .drectve `-exclude-symbols:"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17ha3d34aa4757560f4E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h021fe233c1ac1cbcE" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h37db503909e4d98aE" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h70c7666facaa4132E" ' unrecognized
Warning: .drectve `-exclude-symbols:_ZN4core4iter8adapters3zip27TrustedRandomAccessNoCoerce4size17had66debeef7a0d58E ' unrecognized
Warning: .drectve `-exclude-symbols:_ZN4core4iter8adapters3zip27TrustedRandomAccessNoCoerce4size17hb414a50ece0d7f26E ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h57663f4cd7ce2025E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN70_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h7b292a0eedd9d261E" ' unrecognized
Warning: .drectve `-exclude-symbols:"_ZN70_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h94a0e4754e0b45aaE" ' unrecognized
Warning: corrupt .drectve at end of def file
[883/885] Installing component bitcoin-test_bitcoin
-- Install configuration: "RelWithDebInfo"
-- Install component: "bitcoin-test_bitcoin"
-- Installing: /results/artifacts/bin/test_bitcoin.exe
[884/885] Installing component bitcoin-qt-test_bitcoin-qt
-- Install configuration: "RelWithDebInfo"
-- Install component: "bitcoin-qt-test_bitcoin-qt"
-- Installing: /results/artifacts/bin/test_bitcoin-qt.exe
ninja: build stopped: cannot make progress due to previous errors.
Build build-win64 failed with exit code 1

link windows dependencies WS2_32_LIBRARY & SHLWAPI

This revision is now accepted and ready to land.Dec 21 2023, 16:08
This revision was automatically updated to reflect the committed changes.