Page MenuHomePhabricator

[net] Move ConnectionType and eviction logic to their own files
ClosedPublic

Authored by PiRK on Jun 12 2025, 10:32.

Details

Summary
Test Plan
cmake .. -GNinja -DBUILD_CHAINSTATE
ninja all check-all

Event Timeline

PiRK requested review of this revision.Jun 12 2025, 10:32

Tail of the build log:

[608/661] Generating forms/ui_openuridialog.h
[609/661] Generating forms/ui_addressbookpage.h
[610/661] Generating forms/ui_coincontroldialog.h
[611/661] Generating forms/ui_createwalletdialog.h
[612/661] Generating forms/ui_helpmessagedialog.h
[613/661] Generating forms/ui_modaloverlay.h
[614/661] Generating forms/ui_editaddressdialog.h
[615/661] Generating forms/ui_intro.h
[616/661] Generating forms/ui_overviewpage.h
[617/661] Generating forms/ui_receivecoinsdialog.h
[618/661] Generating forms/ui_optionsdialog.h
[619/661] Generating forms/ui_transactiondescdialog.h
[620/661] Generating forms/ui_receiverequestdialog.h
[621/661] Generating forms/ui_signverifymessagedialog.h
[622/661] Generating forms/ui_sendcoinsdialog.h
[623/661] Generating forms/ui_sendcoinsentry.h
[624/661] Generating forms/ui_debugwindow.h
[625/661] Generating qrc_bitcoin.cpp
[626/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/csvmodelwriter.cpp.o
[627/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoinunits.cpp.o
[628/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoinaddressvalidator.cpp.o
[629/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoinamountfield.cpp.o
[630/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/modaloverlay.cpp.o
[631/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/networkstyle.cpp.o
[632/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/notificator.cpp.o
[633/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/platformstyle.cpp.o
[634/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvalidatedlineedit.cpp.o
[635/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvaluecombobox.cpp.o
[636/661] Linking CXX static library src/libbitcoinkernel.a
[637/661] Linking CXX executable src/bitcoin-chainstate
FAILED: src/bitcoin-chainstate 
: && /usr/bin/c++ -Werror -g -O2 -fuse-ld=gold -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lstdc++fs -fPIE -pie src/CMakeFiles/bitcoin-chainstate.dir/bitcoin-chainstate.cpp.o -o src/bitcoin-chainstate  /usr/lib/x86_64-linux-gnu/libjemalloc_pic.a  -lstdc++fs  src/libbitcoinkernel.a  src/crypto/libcrypto.a  src/crypto/libcrypto_sse4.1.a  src/crypto/libcrypto_avx2.a  src/crypto/libcrypto_shani.a  src/univalue/libunivalue.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/libjemalloc_pic.a  -lm  -lstdc++fs && :
/work/src/net.cpp:930: error: undefined reference to 'SelectNodeToEvict(std::vector<NodeEvictionCandidate, std::allocator<NodeEvictionCandidate> >&&)'
/work/src/./net.h:706: error: undefined reference to 'ConnectionTypeAsString[abi:cxx11](ConnectionType)'
collect2: error: ld returned 1 exit status
[638/661] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/peer_eviction.cpp.o
[639/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bantablemodel.cpp.o
[640/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/utilitydialog.cpp.o
[641/661] Linking CXX executable src/bench/bitcoin-bench
[642/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin_locale.cpp.o
[643/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin-qt-base_autogen/mocs_compilation.cpp.o
[644/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin.cpp.o
[645/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/trafficgraphwidget.cpp.o
[646/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/intro.cpp.o
[647/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/splashscreen.cpp.o
[648/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/peertablemodel.cpp.o
[649/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/clientmodel.cpp.o
[650/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsmodel.cpp.o
[651/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoingui.cpp.o
[652/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/guiutil.cpp.o
[653/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsdialog.cpp.o
[654/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/rpcconsole.cpp.o
[655/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin.cpp.o
[656/661] Linking CXX static library src/qt/libbitcoin-qt-base.a
[657/661] Automatic MOC for target bitcoin-qt
[658/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
[659/661] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
[660/661] 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
PiRK planned changes to this revision.Jun 12 2025, 10:49

we probably need those new cpp files in the kernel lib for bitcoin-chainstate

add new files to kernel lib to fix bitcoin-chainstate, add comment that this is caused by the avalanche -> net.cpp dependency

Fabien added a subscriber: Fabien.
Fabien added inline comments.
src/node/eviction.h
73 ↗(On Diff #54455)

Macro newlinebernie:

This revision is now accepted and ready to land.Jun 12 2025, 12:54