Page MenuHomePhabricator

[kernel 1/n] Introduce initial libbitcoinkernel
ClosedPublic

Authored by PiRK on Dec 21 2023, 12:28.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABC6ee8299d3d13: [kernel 1/n] Introduce initial libbitcoinkernel
Summary

This diff introduces a libbitcoinkernel library linking in the minimal list of files necessary to use our consensus engine as-is. bitcoin-chainstate introduced in D15015 now will link against libbitcoinkernel.

Note that for now there is no good reason to introduce the new BUILD_BITCOIN_KERNEL_LIB option, we can gate both the bitcoin-chainstate executable and the bitcoinkernel lib with the same BUILD_BITCOIN_CHAINSTATE option until it makes sense to split them.

This is a backport of core#24322

Depends on D15015

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

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

PiRK requested review of this revision.Dec 21 2023, 12:28

remove duplicate comment

This revision is now accepted and ready to land.Dec 21 2023, 13:28

rebase for the boost dependency

@bot build-linux64 build-osx build-win64

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
[886/887] 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