Skip to content

Conversation

PastaPastaPasta
Copy link
Contributor

@PastaPastaPasta PastaPastaPasta commented Oct 22, 2021

I've been investigating compiling bitcoin core using C++20. It appears that our usage of boost requires boost 1.73 or above in order to compile using C++20 (compilation fails with any version lower than that). After initial review, it was recommended to bump boost to 1.77.

@DrahtBot
Copy link
Contributor

DrahtBot commented Oct 23, 2021

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #24301 (build: header-only Boost by fanquake)
  • #24276 (build, refactor: Improve package version usage by hebasto)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@PastaPastaPasta
Copy link
Contributor Author

@laanwj do you have any thoughts about this?

@maflcko
Copy link
Member

maflcko commented Oct 27, 2021

No opinion on whether to bump or to what version, but if it was bumped to 1.74, we could remove the suppression: Can be removed once upgraded to boost test 1.74 in depends race:validation_chainstatemanager_tests.

@PastaPastaPasta
Copy link
Contributor Author

Any thoughts on this? If there are no objections, I think it makes sense to move forward with this change

@DrahtBot
Copy link
Contributor

DrahtBot commented Nov 4, 2021

Guix builds

File commit 23ae793
(master)
commit c096b28
(master and this pull)
SHA256SUMS.part cf50f128b602ab65... 06a8575772225725...
*-aarch64-linux-gnu-debug.tar.gz e10508157a01231e... c9bbee020c74f3af...
*-aarch64-linux-gnu.tar.gz e2cb56ab0ee32128... c82367925d27b9e8...
*-arm-linux-gnueabihf-debug.tar.gz d27c96429b5bb4e3... b92a45e50d1863b2...
*-arm-linux-gnueabihf.tar.gz 47138db881b2ef9f... f85f15be6bb19308...
*-osx-unsigned.dmg b580489970d37854... 52df0cfba57c26dc...
*-osx-unsigned.tar.gz 079d976bdd52ce45... a08c037fafdc1704...
*-osx64.tar.gz ace53bd5937e32f9... c91daef738010f2d...
*-powerpc64-linux-gnu-debug.tar.gz 3ce5502c3402ba48... 47bad850de785f4d...
*-powerpc64-linux-gnu.tar.gz 4bffa32c3ba37739... 6a2a7d86cb63874f...
*-powerpc64le-linux-gnu-debug.tar.gz 149f8b122ebcabce... 5336ebcde7d57164...
*-powerpc64le-linux-gnu.tar.gz b43c278a29e89f3e... e382df2c1b180925...
*-riscv64-linux-gnu-debug.tar.gz 7665faab2901d721... 68f220c5c78cc07f...
*-riscv64-linux-gnu.tar.gz 79894efa0b2611c4... 0b79abc64307aa5f...
*-win-unsigned.tar.gz 88c990eb9760fa88... 072611d0be30f8d8...
*-win64-debug.zip ac7181d85479661c... ca9798beb72faa0f...
*-win64-setup-unsigned.exe ac3f3aab498f9eea... ae7c9af9a495037d...
*-win64.zip dc357b1942c66795... cbffada5770e575e...
*-x86_64-linux-gnu-debug.tar.gz a04c0ba3fae5ce5e... a84135f6e2f05ed6...
*-x86_64-linux-gnu.tar.gz 67221fe2e21042fe... 5fc47ba59b94e088...
*.tar.gz ec20f2ea6c112877... 71bfffdebfb24eca...
guix_build.log 279d60922577cc97... d3f82400af44dea0...
guix_build.log.diff fc87b0a571cd7835...

@fanquake
Copy link
Member

fanquake commented Nov 8, 2021

If there are no objections, I think it makes sense to move forward with this change

I think this is an awkward bump, and if we are going to update Boost again, it might as well be to the current latest version, which is 1.77.0. As mentioned, that would mean we can drop a suppression, and we'd avoid some build warnings related to unused variables in the process module. We are also early enough in the release cycle that if there are any serious issues the update could be reverted. Just make sure you update our Boost package to account for the fact that we don't need the CMake files that will be generated with the newer version.

Also, please write a better commit message. i.e build: update depends Boost to 1.77.0.

@PastaPastaPasta PastaPastaPasta force-pushed the bump-boost-version-1.73-btc branch from 1293d48 to 6ed9487 Compare November 9, 2021 15:44
@PastaPastaPasta PastaPastaPasta changed the title build: upgrade to boost 1.73 to fix c++20 compilation build: upgrade to boost 1.77 to fix c++20 compilation Nov 9, 2021
@PastaPastaPasta
Copy link
Contributor Author

Bumped to 1.77 and removed suppression as suggested above, will sqash once we have ACKs / Concept ACKs

@hebasto
Copy link
Member

hebasto commented Nov 9, 2021

... will sqash once we have ACKs / Concept ACKs

The opposite is preferable though...

@PastaPastaPasta PastaPastaPasta force-pushed the bump-boost-version-1.73-btc branch from 968a9ee to ea1a45c Compare November 9, 2021 18:35
@PastaPastaPasta
Copy link
Contributor Author

... will sqash once we have ACKs / Concept ACKs

The opposite is preferable though...

Okay, squashed, I generally prefer having a clean history, but that's okay :)

@maflcko
Copy link
Member

maflcko commented Nov 9, 2021

�[0;32m node1 stderr ERROR: The syscall "fstatfs" (syscall number 138) is not allowed by the syscall sandbox in thread "httpworker.0". Please report.

@PastaPastaPasta
Copy link
Contributor Author

�[0;32m node1 stderr ERROR: The syscall "fstatfs" (syscall number 138) is not allowed by the syscall sandbox in thread "httpworker.0". Please report.

Any suggestions? I'd be happy to revert to 1.76 and work it down until ci is happy?

@maflcko
Copy link
Member

maflcko commented Nov 9, 2021

Either you add it in the right place, like commit fab360a or you wait for #20744 or you pick a different version. Not opinion on what to do.

@PastaPastaPasta
Copy link
Contributor Author

Either you add it in the right place, like commit fab360a or you wait for #20744 or you pick a different version. Not opinion on what to do.

If someone would like to provide a diff similar to what Marco mentions, I'll be happy to apply it, but I'm not too familiar with syscall sandboxing

At this point, I'm going to move forward with trying version working back from 1.77 to 1.76 etc until I find one that CI is happy with.

@fanquake
Copy link
Member

Bumped to 1.77 and removed suppression as suggested above,

You didn't update to account for the Cmake files as mentioned.

Okay, squashed, I generally prefer having a clean history, but that's okay :)

Pull requests are expected to contain changes that are reviewable / ACKable. Don't push random changes / fixups with the intent to "squash later"; make whatever changes/fixups you need to locally, then squash, fixup commit messages etc, before pushing to GitHub. Separately, rather than crossing out stuff in your PR description, either update it if it's relevant, or remove it entirely, otherwise it's just polluting the merge message with garbage. Given the point of this PR is to fix the C++20 build, it would be worthwhile including what is actually failing with Boost 1.71.0, or why 1.73.0 or later is required.

At this point, I'm going to move forward with trying version working back from 1.77 to 1.76 etc until I find one that CI is happy with.

I'd still rather we move to 1.77.0, adding any syscall exceptions as needed. Also, please don't do development via CI. It's noisy, and is really just abusing CI resources. You can run the CI locally to test you changes, and ensure they are working before pushing them up.

@maflcko
Copy link
Member

maflcko commented Nov 10, 2021

�[0;39;49m�[1;34;49mtest/bip32_tests.cpp(159): Entering test suite "bip32_tests"
�[0;39;49m�[1;34;49mtest/bip32_tests.cpp(177): Entering test case "bip32_test5"
==78132==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x562ff2d626fb in boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_75_0-25950737f88/libs/filesystem/src/operations.cpp:2603:7
    #1 0x562ff2d6f3c0 in boost::filesystem::detail::temp_directory_path(boost::system::error_code*) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_75_0-25950737f88/libs/filesystem/src/operations.cpp:2799:24
    #2 0x562ff15276b0 in boost::filesystem::temp_directory_path() /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/filesystem/operations.hpp:517:46
    #3 0x562ff151ae48 in BasicTestingSetup::BasicTestingSetup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<char const*, std::__1::allocator<char const*> > const&) src/test/util/setup_common.cpp:76:19
    #4 0x562ff0697d82 in bip32_tests::bip32_test5::bip32_test5() src/test/bip32_tests.cpp:177:1
    #5 0x562ff068abc6 in bip32_tests::bip32_test5_invoker() src/test/bip32_tests.cpp:177:1
    #6 0x562ff0592e98 in boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:117:11
    #7 0x562ff2f4dbac in boost::function0<void>::operator()() const /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_75_0-25950737f88/./boost/function/function_template.hpp:763:14
    #8 0x562ff2f4dbac in boost::detail::forward::operator()() /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_75_0-25950737f88/./boost/test/impl/execution_monitor.ipp:1388:32
    #9 0x562ff2f4dbac in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_75_0-25950737f88/./boost/function/function_template.hpp:137:18
    #10 0x562ff2f40aba in boost::function0<int>::operator()() const /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_75_0-25950737f88/./boost/function/function_template.hpp:763:14
    #11 0x562ff2f40aba in int boost::detail::do_invoke<boost::shared_ptr<boost::detail::translator_holder_base>, boost::function<int ()> >(boost::shared_ptr<boost::detail::translator_holder_base> const&, boost::function<int ()> const&) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_75_0-25950737f88/./boost/test/impl/execution_monitor.ipp:301:30
    #12 0x562ff2f40aba in boost::execution_monitor::catch_signals(boost::function<int ()> const&) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_75_0-25950737f88/./boost/test/impl/execution_monitor.ipp:903:16
    #13 0x562ff2f4119b in boost::execution_monitor::execute(boost::function<int ()> const&) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_75_0-25950737f88/./boost/test/impl/execution_monitor.ipp:1301:16
    #14 0x562ff2f45559 in boost::execution_monitor::vexecute(boost::function<void ()> const&) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_75_0-25950737f88/./boost/test/impl/execution_monitor.ipp:1397:5
    #15 0x562ff2e58393 in boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_75_0-25950737f88/./boost/test/impl/unit_test_monitor.ipp:49:9
    #16 0x562ff2dcc644 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_75_0-25950737f88/./boost/test/impl/framework.ipp:815:44
    #17 0x562ff2dcd898 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_75_0-25950737f88/./boost/test/impl/framework.ipp:784:58
    #18 0x562ff2dcd898 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_75_0-25950737f88/./boost/test/impl/framework.ipp:784:58
    #19 0x562ff2db5595 in boost::unit_test::framework::run(unsigned long, bool) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_75_0-25950737f88/./boost/test/impl/framework.ipp:1721:29
    #20 0x562ff2e53b36 in boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_75_0-25950737f88/./boost/test/impl/unit_test_main.ipp:250:9
    #21 0x562ff2e55500 in main /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_75_0-25950737f88/./boost/test/impl/unit_test_main.ipp:306:12
    #22 0x7f39b873b0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
    #23 0x562ff03e9c4d in _start (/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/test_bitcoin+0x10fc4d)

  Uninitialized value was created by an allocation of 'path_stat' in the stack frame of function '_ZN5boost10filesystem6detail6statusERKNS0_4pathEPNS_6system10error_codeE'
    #0 0x562ff2d620f0 in boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_75_0-25950737f88/libs/filesystem/src/operations.cpp:2572

SUMMARY: MemorySanitizer: use-of-uninitialized-value /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_75_0-25950737f88/libs/filesystem/src/operations.cpp:2603:7 in boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*)
Exiting
make[3]: *** [Makefile:18537: test/bip32_tests.cpp.test] Error 1

@DrahtBot
Copy link
Contributor

Guix builds

File commit 8ae4ba4
(master)
commit c8d22fd
(master and this pull)
SHA256SUMS.part 22350bcdf0dc6067... 4cf0c2684cb6879d...
*-aarch64-linux-gnu-debug.tar.gz 461183bd4b38bb9a... faf0d096ad6beb58...
*-aarch64-linux-gnu.tar.gz 39f99ecf9adb732e... 847e7d54358e06cb...
*-arm-linux-gnueabihf-debug.tar.gz 20d40e96bfabfa46... 81d218d0522f1abb...
*-arm-linux-gnueabihf.tar.gz ad67195f6da31b80... 22d4bbc21b4339c5...
*-osx-unsigned.dmg 611679c8b829807c... 26ffd178c80bc0b5...
*-osx-unsigned.tar.gz 3666b90c6a370e84... 92c349d1a14e42db...
*-osx64.tar.gz d3c307c9882f8e7a... 2d1f9f65336aa775...
*-powerpc64-linux-gnu-debug.tar.gz c3362cc9872e5b1e... a197fe0f713d1f30...
*-powerpc64-linux-gnu.tar.gz 9d863b80f72a74d4... ab5f81c8ad62f25c...
*-powerpc64le-linux-gnu-debug.tar.gz f539074a5b09df14... 5e06290f03540ff3...
*-powerpc64le-linux-gnu.tar.gz 9189c98698308814... cae24165dcbaf7d1...
*-riscv64-linux-gnu-debug.tar.gz 31c485818f2dd6fe... 2a913409ed143922...
*-riscv64-linux-gnu.tar.gz cbc8cc247e1b8fa6... c8258709ae7f28d6...
*-win-unsigned.tar.gz b8143ffc61cff8f3... 4614e61aa259d1c1...
*-win64-debug.zip 60a2327a73a9ad9c... 6047ae909bf46c1c...
*-win64-setup-unsigned.exe 9284b740d172f950... 4fd832fcbfc5242b...
*-win64.zip 08d0ed07504aa064... 2e1e9f303661b3e3...
*-x86_64-linux-gnu-debug.tar.gz ac3d18b6f7154ae9... 72dcbbf2ebed9d1c...
*-x86_64-linux-gnu.tar.gz c91b59140c7c60b1... 603ee840abb16ff9...
*.tar.gz c545a1b30478a46a... 1491d6239268a5ae...
guix_build.log 5c539c9184e716b5... 26a652b25fa44b21...
guix_build.log.diff 7e32126fabc9d880...

@maflcko
Copy link
Member

maflcko commented Nov 19, 2021

You can rebase on #23555

@PastaPastaPasta
Copy link
Contributor Author

PastaPastaPasta commented Nov 19, 2021

You can rebase on #23555

I presume you want me to revert back to 1.77 and rebase, correct?

Did that ^

@PastaPastaPasta PastaPastaPasta force-pushed the bump-boost-version-1.73-btc branch from f050714 to cb3e9fd Compare November 19, 2021 19:06
@maflcko
Copy link
Member

maflcko commented Nov 20, 2021

Looks like the msan issue is still there. Maybe a miscompilation? (Can't reproduce in valgrind so far)

Also, we should watch out for this change in boost 1.76: #23551 (comment)

@dougEfresh
Copy link
Contributor

In case this helps,
Even if you upgrade to clang13 with llvm13 libc++ and use std::filesystem instead of boost you get a similar error:

SUMMARY: MemorySanitizer: use-of-uninitialized-value /tmp/cirrus-ci-build/ci/scratch/msan/llvm-project/libcxx/src/filesystem/operations.cpp:553:7 in std::__1::__fs::filesystem::detail::(anonymous namespace)::create_file_status(std::__1::error_code&, std::__1::__fs::filesystem::path const&, stat const&, std::__1::error_code*)
  ORIGIN: invalid (0). Might be a bug in MemorySanitizer origin tracking.
    This could still be a bug in your code, too!
Exiting

==75987==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x7fb7ba7c0851 in std::__1::__fs::filesystem::detail::(anonymous namespace)::create_file_status(std::__1::error_code&, std::__1::__fs::filesystem::path const&, stat const&, std::__1::error_code*) /tmp/cirrus-ci-build/ci/scratch/msan/llvm-project/libcxx/src/filesystem/operations.cpp:553:7
    #1 0x7fb7ba7b7071 in posix_stat /tmp/cirrus-ci-build/ci/scratch/msan/llvm-project/libcxx/src/filesystem/operations.cpp:578:10
    #2 0x7fb7ba7b7071 in posix_stat /tmp/cirrus-ci-build/ci/scratch/msan/llvm-project/libcxx/src/filesystem/operations.cpp:583:10
    #3 0x7fb7ba7b7071 in std::__1::__fs::filesystem::__temp_directory_path(std::__1::error_code*) /tmp/cirrus-ci-build/ci/scratch/msan/llvm-project/libcxx/src/filesystem/operations.cpp:1449:20
    #4 0x557d728af752 in std::__1::__fs::filesystem::temp_directory_path() /tmp/cirrus-ci-build/ci/scratch/msan/build/include/c++/v1/filesystem:2295:10
    #5 0x557d728af752 in BasicTestingSetup::BasicTestingSetup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<char const*, std::__1::allocator<char const*> > const&) src/test/util/setup_common.cpp:76:19
    #6 0x557d728b1cc1 in ChainTestingSetup::ChainTestingSetup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<char const*, std::__1::allocator<char const*> > const&) src/test/util/setup_common.cpp:135:7
    #7 0x557d728b3023 in TestingSetup::TestingSetup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<char const*, std::__1::allocator<char const*> > const&) src/test/util/setup_common.cpp:173:7
    #8 0x557d715c9c35 in RegTestingSetup::RegTestingSetup() src/./test/util/setup_common.h:107:11
    #9 0x557d715c9c35 in blockencodings_tests::SimpleRoundTripTest::SimpleRoundTripTest() src/test/blockencodings_tests.cpp:55:1
    #10 0x557d715c9c35 in blockencodings_tests::SimpleRoundTripTest_invoker() src/test/blockencodings_tests.cpp:55:1
    #11 0x557d714a7e68 in boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /tmp/cirrus-ci-build/depends/x86_64-pc-linux-gnu/include/boost/function/function_template.hpp:117:11
    #12 0x557d7412da09 in boost::function0<void>::operator()() const /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_77_0-7494ab49d6b/./boost/function/function_template.hpp:763:14
    #13 0x557d7412da09 in boost::detail::forward::operator()() /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_77_0-7494ab49d6b/./boost/test/impl/execution_monitor.ipp:1388:32
    #14 0x557d7412da09 in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_77_0-7494ab49d6b/./boost/function/function_template.hpp:137:18
    #15 0x557d74121952 in boost::function0<int>::operator()() const /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_77_0-7494ab49d6b/./boost/function/function_template.hpp:763:14
    #16 0x557d74121952 in int boost::detail::do_invoke<boost::shared_ptr<boost::detail::translator_holder_base>, boost::function<int ()> >(boost::shared_ptr<boost::detail::translator_holder_base> const&, boost::function<int ()> const&) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_77_0-7494ab49d6b/./boost/test/impl/execution_monitor.ipp:301:30
    #17 0x557d74121952 in boost::execution_monitor::catch_signals(boost::function<int ()> const&) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_77_0-7494ab49d6b/./boost/test/impl/execution_monitor.ipp:903:16
    #18 0x557d74121d1f in boost::execution_monitor::execute(boost::function<int ()> const&) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_77_0-7494ab49d6b/./boost/test/impl/execution_monitor.ipp:1301:16
    #19 0x557d741257b9 in boost::execution_monitor::vexecute(boost::function<void ()> const&) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_77_0-7494ab49d6b/./boost/test/impl/execution_monitor.ipp:1397:5
    #20 0x557d7404de12 in boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_77_0-7494ab49d6b/./boost/test/impl/unit_test_monitor.ipp:49:9
    #21 0x557d73fc9bec in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_77_0-7494ab49d6b/./boost/test/impl/framework.ipp:815:44
    #22 0x557d73fcae83 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_77_0-7494ab49d6b/./boost/test/impl/framework.ipp:784:58
    #23 0x557d73fcae83 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_77_0-7494ab49d6b/./boost/test/impl/framework.ipp:784:58
    #24 0x557d73fa8649 in boost::unit_test::framework::run(unsigned long, bool) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_77_0-7494ab49d6b/./boost/test/impl/framework.ipp:1721:29
    #25 0x557d74049d33 in boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_77_0-7494ab49d6b/./boost/test/impl/unit_test_main.ipp:250:9
    #26 0x557d7404ab60 in main /tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/boost/1_77_0-7494ab49d6b/./boost/test/impl/unit_test_main.ipp:306:12
    #27 0x7fb7ba33efcf  (/lib/x86_64-linux-gnu/libc.so.6+0x2dfcf)
    #28 0x7fb7ba33f07c in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2e07c)
    #29 0x557d712f2914 in _start (/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/test_bitcoin+0x15d914)

https://cirrus-ci.com/task/6714264523112448

@maflcko
Copy link
Member

maflcko commented Feb 12, 2022

@PastaPastaPasta PastaPastaPasta force-pushed the bump-boost-version-1.73-btc branch from cb3e9fd to 02cb3b2 Compare February 12, 2022 08:04
@PastaPastaPasta
Copy link
Contributor Author

Done, rebased, and applied suggestion. (am out and about atm, so am not able to build depends locally)

@fanquake
Copy link
Member

The second commit needs to be squashed, otherwise depends wont build in ce77c4b. You need to fixup the PR description, remove all the struck-through text etc. You can also remove the portion about a --enable-c++20 flag, as that PR already exists. You should also add why 1.77.0 is actually required to use c++20.

remove now unneeded suppression

build(depends): drop fix_openbsd_test_lib.patch
@PastaPastaPasta PastaPastaPasta force-pushed the bump-boost-version-1.73-btc branch from 02cb3b2 to 1666e12 Compare February 12, 2022 10:45
@PastaPastaPasta
Copy link
Contributor Author

Squashed, and updated PR description. I don't really have a desire to re-compile using our current boost / boost 1.72 with c++20 to determine why it failed, but boost 1.73 was the earliest that bitcoin core would compile with when using c++20

@DrahtBot
Copy link
Contributor

🐙 This pull request conflicts with the target branch and needs rebase.

Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft".

@fanquake
Copy link
Member

This needs rebasing past #24276 and #24301. Unless there's a reason not too, this could now also be Boost 1.78.0.

@fanquake
Copy link
Member

I've rebased this in #24383.

@fanquake fanquake closed this Feb 18, 2022
laanwj added a commit that referenced this pull request Feb 23, 2022
4bba7ab build: upgrade depends Boost to 1.77.0 (Pasta)

Pull request description:

  This primarily improves support for external signing, as it includes
  multiple bugfixes for Boost Process. As well as various improvements to
  the multi-index library.

  #23340 rebased.

  Guix build:
  ```bash
  bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  b5186404303e2a6573a6df404f943f6d172d4965bd9a78d7f9d1f7cf7080b774  guix-build-4bba7ab2ffc3/output/aarch64-linux-gnu/SHA256SUMS.part
  9d03756665fac8cb1e3af6623b8cede3032bad6cbc15739db5145c4813f0c2f9  guix-build-4bba7ab2ffc3/output/aarch64-linux-gnu/bitcoin-4bba7ab2ffc3-aarch64-linux-gnu-debug.tar.gz
  32897b5fda018d4fe57f65234da9620202de0b774ae4fa454309460ee451ef98  guix-build-4bba7ab2ffc3/output/aarch64-linux-gnu/bitcoin-4bba7ab2ffc3-aarch64-linux-gnu.tar.gz
  f64304b16fbfaf7a7330842bf8f535acacdcdd36ddf185f5dfcdbe184f05571f  guix-build-4bba7ab2ffc3/output/arm-linux-gnueabihf/SHA256SUMS.part
  f5cb4c742edf42aec2f64f97c727a8e325050d465ea58ff9c22f8b5b31073879  guix-build-4bba7ab2ffc3/output/arm-linux-gnueabihf/bitcoin-4bba7ab2ffc3-arm-linux-gnueabihf-debug.tar.gz
  0f834947a3eb2d802ba4d1d6dbd26fea9d3453bd8c2dedb06fcfbf1498b45433  guix-build-4bba7ab2ffc3/output/arm-linux-gnueabihf/bitcoin-4bba7ab2ffc3-arm-linux-gnueabihf.tar.gz
  389feef0bf716dd7ea7d72d755f999dbd2d3160f895a606ad6f4a14e97083a47  guix-build-4bba7ab2ffc3/output/arm64-apple-darwin/SHA256SUMS.part
  a9c791b6bcc2bbeff0c94f71dbd9967676559297e089079216253e303acd82cb  guix-build-4bba7ab2ffc3/output/arm64-apple-darwin/bitcoin-4bba7ab2ffc3-arm64-apple-darwin.tar.gz
  55cdef30941f3fc4716bae5be1230b529b171c5e2cd0c18cc57a15206d742a13  guix-build-4bba7ab2ffc3/output/arm64-apple-darwin/bitcoin-4bba7ab2ffc3-osx-unsigned.dmg
  5343499bd15ae59627d3b33259ac7ccec8c841c8bc27cd1a47b41389fae48ac3  guix-build-4bba7ab2ffc3/output/arm64-apple-darwin/bitcoin-4bba7ab2ffc3-osx-unsigned.tar.gz
  fbb99e7f3d5249b92c90ba312ac769adfc9813fb70468decd09f722826f48119  guix-build-4bba7ab2ffc3/output/dist-archive/bitcoin-4bba7ab2ffc3.tar.gz
  c5f466eb462dccea8daa10307ff140844f38097b198282600528acd486915e97  guix-build-4bba7ab2ffc3/output/powerpc64-linux-gnu/SHA256SUMS.part
  174c75cbf16f3ca593d1c684b597eb8dac483dc10ae3cd46cbff61d3f70e70a5  guix-build-4bba7ab2ffc3/output/powerpc64-linux-gnu/bitcoin-4bba7ab2ffc3-powerpc64-linux-gnu-debug.tar.gz
  1e6692f4876ba13847cd3722c6e2cd3ee886ebede6b12dffa01b1dbc55186358  guix-build-4bba7ab2ffc3/output/powerpc64-linux-gnu/bitcoin-4bba7ab2ffc3-powerpc64-linux-gnu.tar.gz
  dac7f60b99dfb96daf8c3c9a0b98d4ecc3a7ecf7ad6a8dfb879cb61aa4f2e429  guix-build-4bba7ab2ffc3/output/powerpc64le-linux-gnu/SHA256SUMS.part
  4cef32efcd9fa591a53ea5354d63e9d6c0d663ae7748599b34427f17ef462f1c  guix-build-4bba7ab2ffc3/output/powerpc64le-linux-gnu/bitcoin-4bba7ab2ffc3-powerpc64le-linux-gnu-debug.tar.gz
  d5ac47db91eb0232075a1138cc0ae212516e4f7fa022b2de181533d411a0d507  guix-build-4bba7ab2ffc3/output/powerpc64le-linux-gnu/bitcoin-4bba7ab2ffc3-powerpc64le-linux-gnu.tar.gz
  7eb67ea46c7ade1f51928648e664bc2295a96ae0e3f144cf6903f277334b228f  guix-build-4bba7ab2ffc3/output/riscv64-linux-gnu/SHA256SUMS.part
  b97d248731573ef3911f4d2750409615a940f975d9c4de783c76beb897a4dd53  guix-build-4bba7ab2ffc3/output/riscv64-linux-gnu/bitcoin-4bba7ab2ffc3-riscv64-linux-gnu-debug.tar.gz
  7d2b0cef4cc83dbf54cd1af18fe4cb7b7ea408747e30993c20e1012b1b628373  guix-build-4bba7ab2ffc3/output/riscv64-linux-gnu/bitcoin-4bba7ab2ffc3-riscv64-linux-gnu.tar.gz
  a45eb59edc5a1e8742dd9fce1a9916b43ab2894ff8f3c62d5110a9afa35cf9e9  guix-build-4bba7ab2ffc3/output/x86_64-apple-darwin/SHA256SUMS.part
  504efd5c1131407a3e3120e77a1abe1e183727d995e7cb944c9c8089518314a0  guix-build-4bba7ab2ffc3/output/x86_64-apple-darwin/bitcoin-4bba7ab2ffc3-osx-unsigned.dmg
  0f14f26d2074de96d078ea31ef249a6f9ba2db1fec86856496fca5ab2f517cb7  guix-build-4bba7ab2ffc3/output/x86_64-apple-darwin/bitcoin-4bba7ab2ffc3-osx-unsigned.tar.gz
  574aab5513038a80c6cac16eb927d7dcec27b880ffd313c6b56272ed577e2df3  guix-build-4bba7ab2ffc3/output/x86_64-apple-darwin/bitcoin-4bba7ab2ffc3-osx64.tar.gz
  ec7861c9840c2888022a81d5fbb807284c07f603053ba9cc200c103e26379e7f  guix-build-4bba7ab2ffc3/output/x86_64-linux-gnu/SHA256SUMS.part
  9d1d2fb313d15048ae6b10b9c50942a00ef8c65c367b25656810b3819fdc95ff  guix-build-4bba7ab2ffc3/output/x86_64-linux-gnu/bitcoin-4bba7ab2ffc3-x86_64-linux-gnu-debug.tar.gz
  d668065e2de147d352914f0d2f5769051f0ec0a29ce208979758724fe556cc04  guix-build-4bba7ab2ffc3/output/x86_64-linux-gnu/bitcoin-4bba7ab2ffc3-x86_64-linux-gnu.tar.gz
  aa1f2ce87f707d28c137775830da128bd2b49b20eb258ff46a78f1ada1516480  guix-build-4bba7ab2ffc3/output/x86_64-w64-mingw32/SHA256SUMS.part
  bcf3f19575662dadf3f77ca0bd5d4a3268314fd97c46f88679af1977d83863c5  guix-build-4bba7ab2ffc3/output/x86_64-w64-mingw32/bitcoin-4bba7ab2ffc3-win-unsigned.tar.gz
  c8d64700e03757a5f46ec04dc7e2cdf9435ebdee9e6cea5789475ca86461f912  guix-build-4bba7ab2ffc3/output/x86_64-w64-mingw32/bitcoin-4bba7ab2ffc3-win64-debug.zip
  92bd0cb7a43551e89910e8fabfb2915da03835ac074331436e1f159760ed8d19  guix-build-4bba7ab2ffc3/output/x86_64-w64-mingw32/bitcoin-4bba7ab2ffc3-win64-setup-unsigned.exe
  e414c9a500ebf49ef1f2625c6763b945a13d5f1d1c56463f642f325e054f87ed  guix-build-4bba7ab2ffc3/output/x86_64-w64-mingw32/bitcoin-4bba7ab2ffc3-win64.zip
  ```

ACKs for top commit:
  laanwj:
    ACK 4bba7ab
  hebasto:
    ACK 4bba7ab

Tree-SHA512: f0eb26860180c45ef169ea7fe70d43e68abf103185d5b9a1021d3c72e1cb0126809f43e56ec378430ab3625a09c025797fe1438360832101439c2b014287dc47
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Feb 24, 2022
4bba7ab build: upgrade depends Boost to 1.77.0 (Pasta)

Pull request description:

  This primarily improves support for external signing, as it includes
  multiple bugfixes for Boost Process. As well as various improvements to
  the multi-index library.

  bitcoin#23340 rebased.

  Guix build:
  ```bash
  bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  b5186404303e2a6573a6df404f943f6d172d4965bd9a78d7f9d1f7cf7080b774  guix-build-4bba7ab2ffc3/output/aarch64-linux-gnu/SHA256SUMS.part
  9d03756665fac8cb1e3af6623b8cede3032bad6cbc15739db5145c4813f0c2f9  guix-build-4bba7ab2ffc3/output/aarch64-linux-gnu/bitcoin-4bba7ab2ffc3-aarch64-linux-gnu-debug.tar.gz
  32897b5fda018d4fe57f65234da9620202de0b774ae4fa454309460ee451ef98  guix-build-4bba7ab2ffc3/output/aarch64-linux-gnu/bitcoin-4bba7ab2ffc3-aarch64-linux-gnu.tar.gz
  f64304b16fbfaf7a7330842bf8f535acacdcdd36ddf185f5dfcdbe184f05571f  guix-build-4bba7ab2ffc3/output/arm-linux-gnueabihf/SHA256SUMS.part
  f5cb4c742edf42aec2f64f97c727a8e325050d465ea58ff9c22f8b5b31073879  guix-build-4bba7ab2ffc3/output/arm-linux-gnueabihf/bitcoin-4bba7ab2ffc3-arm-linux-gnueabihf-debug.tar.gz
  0f834947a3eb2d802ba4d1d6dbd26fea9d3453bd8c2dedb06fcfbf1498b45433  guix-build-4bba7ab2ffc3/output/arm-linux-gnueabihf/bitcoin-4bba7ab2ffc3-arm-linux-gnueabihf.tar.gz
  389feef0bf716dd7ea7d72d755f999dbd2d3160f895a606ad6f4a14e97083a47  guix-build-4bba7ab2ffc3/output/arm64-apple-darwin/SHA256SUMS.part
  a9c791b6bcc2bbeff0c94f71dbd9967676559297e089079216253e303acd82cb  guix-build-4bba7ab2ffc3/output/arm64-apple-darwin/bitcoin-4bba7ab2ffc3-arm64-apple-darwin.tar.gz
  55cdef30941f3fc4716bae5be1230b529b171c5e2cd0c18cc57a15206d742a13  guix-build-4bba7ab2ffc3/output/arm64-apple-darwin/bitcoin-4bba7ab2ffc3-osx-unsigned.dmg
  5343499bd15ae59627d3b33259ac7ccec8c841c8bc27cd1a47b41389fae48ac3  guix-build-4bba7ab2ffc3/output/arm64-apple-darwin/bitcoin-4bba7ab2ffc3-osx-unsigned.tar.gz
  fbb99e7f3d5249b92c90ba312ac769adfc9813fb70468decd09f722826f48119  guix-build-4bba7ab2ffc3/output/dist-archive/bitcoin-4bba7ab2ffc3.tar.gz
  c5f466eb462dccea8daa10307ff140844f38097b198282600528acd486915e97  guix-build-4bba7ab2ffc3/output/powerpc64-linux-gnu/SHA256SUMS.part
  174c75cbf16f3ca593d1c684b597eb8dac483dc10ae3cd46cbff61d3f70e70a5  guix-build-4bba7ab2ffc3/output/powerpc64-linux-gnu/bitcoin-4bba7ab2ffc3-powerpc64-linux-gnu-debug.tar.gz
  1e6692f4876ba13847cd3722c6e2cd3ee886ebede6b12dffa01b1dbc55186358  guix-build-4bba7ab2ffc3/output/powerpc64-linux-gnu/bitcoin-4bba7ab2ffc3-powerpc64-linux-gnu.tar.gz
  dac7f60b99dfb96daf8c3c9a0b98d4ecc3a7ecf7ad6a8dfb879cb61aa4f2e429  guix-build-4bba7ab2ffc3/output/powerpc64le-linux-gnu/SHA256SUMS.part
  4cef32efcd9fa591a53ea5354d63e9d6c0d663ae7748599b34427f17ef462f1c  guix-build-4bba7ab2ffc3/output/powerpc64le-linux-gnu/bitcoin-4bba7ab2ffc3-powerpc64le-linux-gnu-debug.tar.gz
  d5ac47db91eb0232075a1138cc0ae212516e4f7fa022b2de181533d411a0d507  guix-build-4bba7ab2ffc3/output/powerpc64le-linux-gnu/bitcoin-4bba7ab2ffc3-powerpc64le-linux-gnu.tar.gz
  7eb67ea46c7ade1f51928648e664bc2295a96ae0e3f144cf6903f277334b228f  guix-build-4bba7ab2ffc3/output/riscv64-linux-gnu/SHA256SUMS.part
  b97d248731573ef3911f4d2750409615a940f975d9c4de783c76beb897a4dd53  guix-build-4bba7ab2ffc3/output/riscv64-linux-gnu/bitcoin-4bba7ab2ffc3-riscv64-linux-gnu-debug.tar.gz
  7d2b0cef4cc83dbf54cd1af18fe4cb7b7ea408747e30993c20e1012b1b628373  guix-build-4bba7ab2ffc3/output/riscv64-linux-gnu/bitcoin-4bba7ab2ffc3-riscv64-linux-gnu.tar.gz
  a45eb59edc5a1e8742dd9fce1a9916b43ab2894ff8f3c62d5110a9afa35cf9e9  guix-build-4bba7ab2ffc3/output/x86_64-apple-darwin/SHA256SUMS.part
  504efd5c1131407a3e3120e77a1abe1e183727d995e7cb944c9c8089518314a0  guix-build-4bba7ab2ffc3/output/x86_64-apple-darwin/bitcoin-4bba7ab2ffc3-osx-unsigned.dmg
  0f14f26d2074de96d078ea31ef249a6f9ba2db1fec86856496fca5ab2f517cb7  guix-build-4bba7ab2ffc3/output/x86_64-apple-darwin/bitcoin-4bba7ab2ffc3-osx-unsigned.tar.gz
  574aab5513038a80c6cac16eb927d7dcec27b880ffd313c6b56272ed577e2df3  guix-build-4bba7ab2ffc3/output/x86_64-apple-darwin/bitcoin-4bba7ab2ffc3-osx64.tar.gz
  ec7861c9840c2888022a81d5fbb807284c07f603053ba9cc200c103e26379e7f  guix-build-4bba7ab2ffc3/output/x86_64-linux-gnu/SHA256SUMS.part
  9d1d2fb313d15048ae6b10b9c50942a00ef8c65c367b25656810b3819fdc95ff  guix-build-4bba7ab2ffc3/output/x86_64-linux-gnu/bitcoin-4bba7ab2ffc3-x86_64-linux-gnu-debug.tar.gz
  d668065e2de147d352914f0d2f5769051f0ec0a29ce208979758724fe556cc04  guix-build-4bba7ab2ffc3/output/x86_64-linux-gnu/bitcoin-4bba7ab2ffc3-x86_64-linux-gnu.tar.gz
  aa1f2ce87f707d28c137775830da128bd2b49b20eb258ff46a78f1ada1516480  guix-build-4bba7ab2ffc3/output/x86_64-w64-mingw32/SHA256SUMS.part
  bcf3f19575662dadf3f77ca0bd5d4a3268314fd97c46f88679af1977d83863c5  guix-build-4bba7ab2ffc3/output/x86_64-w64-mingw32/bitcoin-4bba7ab2ffc3-win-unsigned.tar.gz
  c8d64700e03757a5f46ec04dc7e2cdf9435ebdee9e6cea5789475ca86461f912  guix-build-4bba7ab2ffc3/output/x86_64-w64-mingw32/bitcoin-4bba7ab2ffc3-win64-debug.zip
  92bd0cb7a43551e89910e8fabfb2915da03835ac074331436e1f159760ed8d19  guix-build-4bba7ab2ffc3/output/x86_64-w64-mingw32/bitcoin-4bba7ab2ffc3-win64-setup-unsigned.exe
  e414c9a500ebf49ef1f2625c6763b945a13d5f1d1c56463f642f325e054f87ed  guix-build-4bba7ab2ffc3/output/x86_64-w64-mingw32/bitcoin-4bba7ab2ffc3-win64.zip
  ```

ACKs for top commit:
  laanwj:
    ACK 4bba7ab
  hebasto:
    ACK 4bba7ab

Tree-SHA512: f0eb26860180c45ef169ea7fe70d43e68abf103185d5b9a1021d3c72e1cb0126809f43e56ec378430ab3625a09c025797fe1438360832101439c2b014287dc47
@bitcoin bitcoin locked and limited conversation to collaborators Feb 18, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants