Page MenuHomePhabricator

build: header-only Boost
ClosedPublic

Authored by PiRK on Jun 5 2023, 16:03.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABC5f2e69a3507b: build: header-only Boost
Summary

This PR converts our Boost usage to header only. We switch from using our last remaining Boost lib (unit test), to using it's header-only implementation (see https://www.boost.org/doc/libs/1_78_0/libs/test/doc/html/boost_test/adv_scenarios/single_header_customizations/multiple_translation_units.html).

This is a backport of core#24301
Depends on D13990

Test Plan

ninja all check-all
All CI cross builds
guix build

Diff Detail

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

Event Timeline

@bot gitian-linux gitian-win gitian-osx

Tail of the build log:

wallet_txn_doublespend.py --mineblock     | ✓ Passed  | 3 s
wallet_watchonly.py                       | ✓ Passed  | 1 s
wallet_watchonly.py --usecli              | ✓ Passed  | 1 s
chronik_avalanche.py                      | ○ Skipped | 0 s
chronik_block.py                          | ○ Skipped | 0 s
chronik_block_info.py                     | ○ Skipped | 0 s
chronik_block_txs.py                      | ○ Skipped | 0 s
chronik_blockchain_info.py                | ○ Skipped | 0 s
chronik_blocks.py                         | ○ Skipped | 0 s
chronik_disallow_prune.py                 | ○ Skipped | 0 s
chronik_raw_tx.py                         | ○ Skipped | 0 s
chronik_resync.py                         | ○ Skipped | 0 s
chronik_script_confirmed_txs.py           | ○ Skipped | 0 s
chronik_script_history.py                 | ○ Skipped | 0 s
chronik_script_unconfirmed_txs.py         | ○ Skipped | 0 s
chronik_script_utxos.py                   | ○ Skipped | 0 s
chronik_serve.py                          | ○ Skipped | 0 s
chronik_spent_by.py                       | ○ Skipped | 0 s
chronik_tx.py                             | ○ Skipped | 0 s
chronik_ws.py                             | ○ Skipped | 0 s
chronik_ws_script.py                      | ○ Skipped | 0 s
interface_usdt_net.py                     | ○ Skipped | 0 s
interface_usdt_utxocache.py               | ○ Skipped | 0 s
interface_usdt_validation.py              | ○ Skipped | 0 s

ALL                                       | ✓ Passed  | 2043 s (accumulated) 
Runtime: 409 s

[350/487] bitcoin: testing validationinterface_tests
FAILED: src/test/CMakeFiles/check-bitcoin-validationinterface_tests 
cd /work/abc-ci-builds/build-debug/src/test && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-debug/test/junit && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-debug/test/log && /usr/bin/cmake -E env /work/cmake/utils/log-and-print-on-failure.sh /work/abc-ci-builds/build-debug/test/log/bitcoin-validationinterface_tests.log /work/abc-ci-builds/build-debug/src/test/test_bitcoin --run_test=validationinterface_tests --logger=HRF,message:JUNIT,message,bitcoin-validationinterface_tests.xml --catch_system_errors=no
Running 3 test cases...
../../src/test/validationinterface_tests.cpp(108): error: in "validationinterface_tests/unregister_all_during_call": check destroyed has failed

*** 1 failure is detected in the test module "Bitcoin ABC unit tests"
[378/487] Running secp256k1 test suite
PASSED: secp256k1 test suite
[447/487] Running avalanche test suite
PASSED: avalanche test suite
[450/487] Running pow test suite
PASSED: pow test suite
[452/487] Running seeder test suite
PASSED: seeder test suite
[459/487] Test Bitcoin RPC authentication...
...
----------------------------------------------------------------------
Ran 3 tests in 0.004s

OK
[460/487] cd /work/contrib/devtools/chainparams && /usr/bin/python3.9 ./test_make_chainparams.py
.....
----------------------------------------------------------------------
Ran 5 tests in 0.001s

OK
[476/487] Running bitcoin-qt test suite
PASSED: bitcoin-qt test suite
[484/487] Running utility command for check-bitcoin-coins_tests
ninja: build stopped: cannot make progress due to previous errors.
Build build-debug failed with exit code 1

@bot build-debug build-osx build-win64 uild-linux-arm build-linux-aarch64 build-linux32

The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.

@bot build-linux-arm build-tsan

add missing comment about with link explaining how to include boost::test headers

PiRK published this revision for review.Jun 5 2023, 21:12
Fabien added a subscriber: Fabien.

Macro likestamp:
That's awesome! It will cut the depends build time quite a bit.

This revision is now accepted and ready to land.Jun 6 2023, 06:58
This revision was automatically updated to reflect the committed changes.