build: Add CMake-based build system #25797

pull hebasto wants to merge 67 commits into bitcoin:master from hebasto:220807-cmake changing 77 files +4673 −143
  1. hebasto commented at 11:15 am on August 7, 2022: member

    Here are some benefits of using CMake in the Bitcoin Core project:

    • an opportunity to drop the build_msvc subdirectory from the repo altogether (being a cross-platform tool, CMake is able to create input files for a wide range of build systems, including Unix Makefiles and Visual Studio project files)
    • no hacks required to build dlls for Windows, even with DEBUG=1 (see #19772)
    • better maintainability (say bye to global variables)
    • easy integration with Qt 5
    • easy integration with Qt 6 in the nearest future (also see bitcoin/bitcoin#24798 and bitcoin/bitcoin#25191)

    More Qt-specific details see below.

    Also there is a non-technical/social benefit. Over time, the Autotools community shrinks, but CMake community grows. New contributors, who join this project in the future, will readily support a CMake-based system rather an Autotools-based one.


    Native building has been tested on the following OSes:

    • Ubuntu 22.04 (x86_64, aarch64~, backward compatible with Ubuntu Bionic 18.04 using adjusted invocation~)
    • macOS Monterey (x86_64, arm64)
    • FreeBSD 12.3
    • OpenBSD 7.1
    0cmake -S . -B build
    1cd build
    2make
    3make check
    4make install  # optional
    

    Native building on Windows (MSVC + vcpkg)

    Dependency packages are provided by the vcpkg package manager (“Mandatory ASLR” in Windows Security must be disabled to install qt5-* packages):

    0vcpkg --triplet=x64-windows-static install pkgconf boost-multi-index boost-process boost-signals2 boost-test libevent berkeleydb sqlite3 miniupnpc zeromq qt5-base qt5-tools
    

    To build on Windows with Visual Studio, a proper generator must be specified for a new build tree. The following example assumes using of “Developer Command Prompt for VS 2022” and CMake v3.21+.

    0cmake -G "Visual Studio 17 2022" -A x64 -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -S . -B build
    1cmake --build build --config Release
    

    HINT. To leverage Multi-ToolTask and use <N> CPU cores, run

    0cmake --build build --config Release -j <N> -- /p:CL_MPcount=<N>
    

    Cross building for Windows on Ubuntu 22.04

    0make -C depends HOST=x86_64-w64-mingw32
    1cmake --toolchain depends/x86_64-w64-mingw32/share/toolchain.cmake -S . -B build
    2cmake --build build
    

    Cross building for Windows on Ubuntu 22.04 with DEBUG=1, see #19772

    0make -C depends HOST=x86_64-w64-mingw32 DEBUG=1
    1cmake --toolchain depends/x86_64-w64-mingw32/share/toolchain.cmake -S . -B build
    2cmake --build build
    

    Cross building for macOS (Intel) on Ubuntu 22.04

    0make -C depends HOST=x86_64-apple-darwin
    1cmake --toolchain depends/x86_64-apple-darwin/share/toolchain.cmake -S . -B build
    2cmake --build build
    

    Cross building for macOS (Apple Silicon) on Ubuntu 22.04

    0make -C depends HOST=arm64-apple-darwin
    1cmake --toolchain depends/arm64-apple-darwin/share/toolchain.cmake -S . -B build
    2cmake --build build
    

    Cross building for Android using NDK r23 LTS on Ubuntu 22.04

    0export ANDROID_SDK=/home/hebasto/Android/Sdk
    1export ANDROID_NDK=${ANDROID_SDK}/ndk/23.2.8568313
    2export ANDROID_API_LEVEL=28
    3make -C depends ANDROID_TOOLCHAIN_BIN=${ANDROID_NDK}/toolchains/llvm/prebuilt/linux-x86_64/bin/ HOST=aarch64-linux-android
    4cmake --toolchain depends/aarch64-linux-android/share/toolchain.cmake -S . -B build
    5cmake --build build
    

    NOTE: Building in the source tree is not supported.


    Functional Tests

    Functional tests can be run in exactly the same way as when building with Autotools out of the source tree, i.e.:

    0./build/test/functional/test_runner.py
    

    Guix builds

    Cirrus CI – 16 of 16

    • lint [jammy]
    • tidy [jammy]
    • Win64 native [vs2022]
    • ARM [unit tests, no functional tests] [bullseye]
    • Win64 [unit tests, no gui tests, no boost::process, no functional tests] [jammy]
    • 32-bit + dash [gui] [CentOS 8]
    • [previous releases, uses qt5 dev package and some depends packages, DEBUG] [unsigned char] [buster]
    • [TSan, depends, gui] [jammy]
    • [MSan, depends] [focal]
    • [ASan + LSan + UBSan + integer, no depends, USDT] [jammy]
    • [fuzzer,address,undefined,integer, no depends] [jammy]
    • [multiprocess, i686, DEBUG] [focal]
    • [no wallet, libbitcoinkernel] [buster]
    • macOS 10.15 [gui, no tests] [focal]
    • macOS 13 native arm64 [gui, sqlite only] [no depends]
    • ARM64 Android APK [jammy]

    Additional notes.

    1. There is a branch/PR in my repo which includes Qt 6 integration and CMake-specific CI tasks.
    2. A similar PR has been open in https://github.com/bitcoin-core/secp256k1.

    The plan is to have it in the repo shortly after branching 24.x off, and make CMake-based build system a drop-in replacement of Autotools-based one during the next ~2 or 3~ release cycle~s~.


    Qt-specific details

    What happened before?

    CMake is the build system for Qt 6

    We made a big decision to start using CMake to build Qt 6 one and a half years ago.

    The Qt 5 build system was built on top of qmake. In Qt 6, we ported the build system to CMake.

    It is important to note that CMake has extensive support for Qt, including Qt-specific tools such as MOC, RCC, UIC.

    Why Qt 6 build system does matter if the Bitcoin Core GUI uses Qt 5?

    For release builds we use Qt 5.15.5 LTS, the latest Qt 5 version available under a free-software license.

    For dynamic linking users can use Qt 5.11.3+, which allows them to use packages provided in Debian Buster and Ubuntu Focal.

    On the other hand, Qt 6 packages are available in the following systems/package managers:

    As long as Qt GUI is a part of Bitcoin Core, it is inevitable to embrace Qt 6 support, sooner or later.

    Can we just adjust our current build system to handle Qt 6?

    The main problem with integration of Qt 6 into the current build system is lacking of pkg-config *.pc files for static builds (please note that a patch from QTBUG-86080 works for non-static builds only).

    To handle Qt 6 with our current build system we need to:

    • patch Qt, which looks like a non-trivial task, or
    • apply some nasty hacks to our own build system
    • keep in our repo the required *.pc files

    All approaches imply maintaining burden for a long time. And last two are pretty ugly :)


    Autotools – CMake Feature Parity Table

    Autotool-based build system (AT) features being listed according to the ./configure --help output.

    AT feature CM feature
    --prefix -DCMAKE_INSTALL_PREFIX
    --enable-c++20 -DCXX20
    --enable-shared -DBUILD_SHARED
    --enable-static -DBUILD_STATIC
    --disable-wallet -DENABLE_WALLET
    --enable-usdt -DWITH_USDT
    --enable-upnp-default -DENABLE_UPNP_DEFAULT
    --enable-natpmp-default -DENABLE_NATPMP_DEFAULT
    --disable-tests -DBUILD_TESTS
    --disable-gui-tests TBD
    --disable-bench -DBUILD_BENCH
    --enable-extended-functional-tests TBD
    --enable-fuzz -DFUZZ
    --enable-fuzz-binary -DBUILD_FUZZ_BINARY
    --disable-hardening -DHARDENING
    --enable-reduce-exports -DREDUCE_EXPORTS
    --disable-ccache -DCCACHE
    --enable-suppress-external-warnings N/A
    --enable-lcov TBD
    --enable-lcov-branch-coverage TBD
    --enable-threadlocal TBD
    --disable-asm -DASM
    --disable-zmq -DWITH_ZMQ
    --enable-multiprocess -DMULTIPROCESS
    --disable-man -DINSTALL_MAN
    --enable-debug -DCMAKE_BUILD_TYPE=Debug
    --enable-gprof TBD
    --enable-werror -DWERROR
    --enable-external-signer -DWITH_EXTERNAL_SIGNER
    --enable-lto TBD
    --enable-util-cli -DBUILD_CLI
    --enable-util-tx -DBUILD_TX
    --enable-util-wallet -DBUILD_WALLET_TOOL
    --enable-util-util -DBUILD_UTIL
    --enable-experimental-util-chainstate -DBUILD_UTIL_CHAINSTATE
    --with-seccomp -DWITH_SECCOMP
    --with-sqlite -DWITH_SQLITE
    --without-bdb -DWITH_BDB
    --with-miniupnpc -DWITH_MINIUPNPC
    --with-natpmp -DWITH_NATPMP
    --with-qrencode -DWITH_QRENCODE
    --with-libmultiprocess N/A
    --with-mpgen -DMPGEN_PREFIX
    --with-sanitizers -DSANITIZERS
    --with-utils individual options
    --with-libs individual options
    --with-experimental-kernel-lib -DBUILD_BITCOINKERNEL_LIB
    --with-daemon -DBUILD_DAEMON
    --with-gui -DWITH_GUI

    IRC meeting discussions:

  2. fanquake added the label Build system on Aug 7, 2022
  3. theStack commented at 3:57 pm on August 7, 2022: contributor

    Great to see that this PR is in the main repo now! 🚀

    I retested on OpenBSD 7.1 with the instructions from the PR description and unfortunately still have a BDB issue (similar to https://github.com/hebasto/bitcoin/pull/3#issuecomment-1175647461). The detection in the beginning detects that the installed BerkeleyDB version is too old (which is true) and disables legacy wallet support:

     0-- Found BerkeleyDB: /usr/include (Required is at least version "4.8")
     1CMake Warning at cmake/optional.cmake:69 (message):
     2  Found Berkeley DB (BDB) older than 4.8, disabling.
     3
     4  Passing "-DWITH_BDB=no" will suppress this warning.
     5
     6...
     7
     8Configure summary
     9=================
    10Build type ......................... RelHardened
    11Preprocessor defined macros:
    12CXX: /usr/local/bin/ccache /usr/bin/c++
    13Compile options:
    14Utility binaries:
    15  bitcoin-cli ...................... ON
    16  bitcoin-tx ....................... ON
    17  bitcoin-util ..................... ON
    18Wallet functionality ............... yes
    19  SQLite, descriptor wallets ....... yes
    20  Berkeley DB, legacy wallets ...... no
    21  wallet tool ...................... ON
    22Optional packages:
    23  GUI .............................. Qt5
    24  QR code (GUI) .................... yes
    25  external signer .................. no
    26  NAT-PMP .......................... no
    27  UPNP ............................. no
    28  ZeroMQ ........................... yes
    29  USDT tracing ..................... no
    30  experimental syscall sandbox ..... no
    

    Still in the course of compiling the wallet <db_cxx.h> is getting included (which is in turn included by src/wallet/bdb.h):

    0[ 28%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/walletdb.cpp.o
    1In file included from /home/honey/bitcoin_prrev/src/wallet/walletdb.cpp:18:
    2/home/honey/bitcoin_prrev/src/wallet/bdb.h:27:10: fatal error: 'db_cxx.h' file not found
    3#include <db_cxx.h>
    4         ^~~~~~~~~~
    51 error generated.
    

    It seems that USE_BDB is sill set for some reason, though the detection should have disabled it?

  4. jarolrod commented at 6:51 am on August 8, 2022: member
    concept ack
  5. hebasto force-pushed on Aug 8, 2022
  6. hebasto commented at 10:54 pm on August 8, 2022: member

    Updated 485bd54f26c061ff3aa21587f8d8fd6ca86b5980 -> 1d09ef577b2b5e6d13b83f5241bad037a0a8f7b8 (pr25797.01 -> pr25797.02):

    • fixed Berkeley DB detection on OpenBSD.
    • improved all cmake/modules/Find<Package>.cmake modules. @theStack

    I retested on OpenBSD 7.1 with the instructions from the PR description and unfortunately still have a BDB issue

    Thank you for sorrow testing. The issue should be fixed now.

  7. theStack commented at 12:29 pm on August 9, 2022: contributor

    @theStack

    I retested on OpenBSD 7.1 with the instructions from the PR description and unfortunately still have a BDB issue

    Thank you for sorrow testing. The issue should be fixed now.

    Retested again (commit 1d09ef577b2b5e6d13b83f5241bad037a0a8f7b8) on OpenBSD 7.1 with the configuration as shown in #25797#pullrequestreview-1064441935, now the build was successful ✅ 🍻 . The following binaries were emitted: bitcoind, bitcoin-cli, bitcoin-tx, bitcoin-util, bitcoin-wallet, bitcoin-qt and leveldbutil (is this last one needed? IIRC I never saw it in the course of building with autotools).

    Also ran the functional tests via ./build/test/functional/test_runner.py, everything passed as expected. Couldn’t find the test_bitcoin binary though, I’m assuming that unit-test build support with CMake is still under construction?

  8. hebasto force-pushed on Aug 9, 2022
  9. hebasto commented at 2:22 pm on August 9, 2022: member

    Updated 1d09ef577b2b5e6d13b83f5241bad037a0a8f7b8 -> 66c4ce440021004149779bb74207ce0c8bc93b2f (pr25797.02 -> pr25797.03):

    I’m assuming that unit-test build support with CMake is still under construction?

    It is, but not as a part of this PR. My intention is to keep the latter more or less digestible for reviewers.

  10. hebasto force-pushed on Aug 9, 2022
  11. luke-jr commented at 1:26 am on August 10, 2022: member

    Concept NACK. Our autotools build system is a mess, but this doesn’t appear to significantly improve it. I don’t think the benefits are worth the costs.

    (I realise this PR doesn’t remove autotools, but AIUI that’s the eventual intention.)

    an opportunity to drop the build_msvc subdirectory from the repo altogether

    I don’t see why CMake changes the situation around build_msvc. We could drop it today and tell Windows builders to use autotools just as well.

    Also there is a non-technical/social benefit. Over time, the Autotools community shrinks, but CMake community grows. New contributors, who join this project in the future, will readily support a CMake-based system rather an Autotools-based one.

    Do you have evidence of this? Autotools is fairly standard, and mostly just standard sh and make stuff (and m4, but that’s admittedly more of a downside). CMake breaks from the norm, and requires a domain-specific language.

  12. hebasto force-pushed on Aug 10, 2022
  13. hebasto commented at 7:45 am on August 10, 2022: member

    Updated 66c4ce440021004149779bb74207ce0c8bc93b2f -> e098ba80b6ec0debc62c32c65b72a518b126ed54 (pr25797.03 -> pr25797.04):

    • in-subtree bugfix been replaced with out-subtree workaround
    • fixed white spaces

    All changes above made the linter CI task happy now :tiger2:

  14. hebasto commented at 8:03 am on August 10, 2022: member

    an opportunity to drop the build_msvc subdirectory from the repo altogether

    I don’t see why CMake changes the situation around build_msvc. We could drop it today and tell Windows builders to use autotools just as well.

    You are talking about “to build on Windows”. But the idea is “to build with MSVC”. Being a cross-platform tool, CMake is able to create input files for a wide range of build systems, including Unix Makefiles and Visual Studio project files. @sipsorcery What do you think about this stuff?

  15. hebasto commented at 8:42 am on August 10, 2022: member

    Also there is a non-technical/social benefit. Over time, the Autotools community shrinks, but CMake community grows. New contributors, who join this project in the future, will readily support a CMake-based system rather an Autotools-based one.

    Do you have evidence of this?

    I do. There are open-source projects which have dropped Autotools, and there are no ones which do the opposite. Also we could ask people who graduated CS recently whether their curriculums encompassed Autotools and/or CMake (not an evidence, rather a hint).

    Autotools is fairly standard, and mostly just standard sh and make stuff (and m4, but that’s admittedly more of a downside).

    Moving “Autotools –> CMake” is very similar to “shell –> Python” which we have done recently.

    CMake breaks from the norm

    Which “the norm”?

    and requires a domain-specific language.

    Using a domain-specific language which serves its purpose much better than a general macro language is a benefit for reviewing and maintaining.

  16. sipsorcery commented at 9:01 am on August 10, 2022: member

    You are talking about “to build on Windows”. But the idea is “to build with MSVC”. Being a cross-platform tool, CMake is able to create input files for a wide range of build systems, including Unix Makefiles and Visual Studio project files.

    @sipsorcery What do you think about this stuff?

    The Visual Studio project files produced by CMake aren’t as clean as the hand rolled ones but in my experience they still build well (note the vcpkg dependecies generally use cmake).

    IMHO it’s worth having less clean VS project files if the eventual goal is to have a single build system.

    Concept ACK.

  17. hebasto commented at 9:34 am on August 10, 2022: member

    @luke-jr

    Concept NACK. Our autotools build system is a mess, but this doesn’t appear to significantly improve it. I don’t think the benefits are worth the costs.

    And this mess is going to get bigger:

    • we are about introducing the 4th hack to the Libtool
    • more hacks are required to bring Qt 6 support

    As you are a developer who is involved into the GUI development, could you share your vision of Qt 6 integration without migration to CMake?

  18. hebasto commented at 1:52 pm on August 10, 2022: member

    @dongcarl @fanquake @ryanofsky @theuni

    Your conceptual assessments of this PR will be much appreciated.

  19. achow101 commented at 2:52 pm on August 10, 2022: member

    Also we could ask people who graduated CS recently whether their curriculums encompassed Autotools and/or CMake (not an evidence, rather a hint).

    We handmade our Makefiles…

  20. DrahtBot commented at 4:57 pm on August 10, 2022: contributor

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

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    Concept NACK luke-jr, theuni
    Concept ACK sipsorcery, ryanofsky, vasild, RandyMcMillan, TheCharlatan
    Approach ACK adam2k
    Stale ACK fanquake

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #27771 (ci: Use docker image cache for “Win64 native [vs2022]” task by hebasto)
    • #27759 (Fix #includes in src/wallet by hebasto)
    • #27737 (ci: compile Clang and compiler-rt in msan jobs by fanquake)
    • #27724 (build: disable boost multi index safe mode in debug mode by willcl-ark)
    • #27710 (ci, iwyu: Update mappings by hebasto)
    • #27676 (macOS: Bump minimum required runtime version and prepare for building with upstream LLVM by theuni)
    • #27099 (build: produce a .zip for macOS distribution by fanquake)
    • #25972 (build: no-longer disable WARN_CXXFLAGS when CXXFLAGS is set by fanquake)
    • #21778 (build: LLVM 15 & LLD based macOS toolchain by fanquake)

    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.

  21. luke-jr commented at 8:26 pm on August 10, 2022: member

    You are talking about “to build on Windows”. But the idea is “to build with MSVC”. Being a cross-platform tool, CMake is able to create input files for a wide range of build systems, including Unix Makefiles and Visual Studio project files.

    autotools can be used with the MSVC compiler

    There are open-source projects which have dropped Autotools, and there are no ones which do the opposite.

    “No ones”? There are lots which adopt autotools. Otherwise it wouldn’t even exist…

    Also we could ask people who graduated CS recently whether their curriculums encompassed Autotools and/or CMake

    People to ask would be experienced open source developers, not novices who got scammed by colleges.

    Which “the norm”?

    Most open source software uses autotools.

    As you are a developer who is involved into the GUI development, could you share your vision of Qt 6 integration without migration to CMake?

    Seems easy enough to just do it the same as Qt 5 already is? pkg-config support was fixed in Qt 6.2.5.

  22. hebasto commented at 8:37 pm on August 10, 2022: member

    There are open-source projects which have dropped Autotools, and there are no ones which do the opposite.

    “No ones”? There are lots which adopt autotools. Otherwise it wouldn’t even exist…

    I mean, there are no projects which moved from non-Autotools to Autotools recent decade.

  23. hebasto commented at 8:39 pm on August 10, 2022: member

    pkg-config support was fixed in Qt 6.2.5.

    Not for static builds:

    Although it has some limitations, with qt_internal_add_qml_module if it specifies non-public deps these won’t be listed and with non-Qt requirements, notably in static builds, not being appended to the PkgConfig file.

  24. luke-jr commented at 9:02 pm on August 10, 2022: member
    Static builds are abnormal and only need to be supported for depends-based builds, where we can trivially patch it.
  25. hebasto commented at 9:08 pm on August 10, 2022: member

    Static builds are abnormal and only need to be supported for depends-based builds…

    “abnormal”? We deliver users static builds.

    we can trivially patch it

    I doubt about “trivially”. Anyway, your patch for Qt code will be much appreciated.

  26. fanquake commented at 11:51 am on August 12, 2022: member

    dongcarlvfanquake ryanofsky theuni Your conceptual assessments of this PR will be much appreciated.

    I am a Concept ~0/ACK for CMake.

    However I think if we are going to break every existing piece of Bitcoin Core related build infrastracture (build scripts, docker files, downstream projects, package managers etc), as well as obselete (external) build guides & documentation, we should be able to enumerate some more benefits to doing so.

    Here are some benefits of using CMake in the Bitcoin Core project:

    Looking at this list, there’s nothing interesting here for anyone that doesn’t care about the GUI, or Windows DEBUG depends builds; and given that this is the group which will more-than-likely be most impacted by this change, i.e compiling bitcoind + utils on Linux, we should be able to better justify a migration. Even starting with some rationale from something like “Why CMake?”.

    The plan is to have it in the repo shortly after branching 24.x off, and make CMake-based build system a drop-in replacement of Autotools-based one during the next 2 or 3 release cycles.

    Concept NACK on any approach that has as maintaining multiple build systems over multiple, or even a single release. That will be a maintainability / developer nightmare. If we are going to switch, we should just switch. CMake in, Autotools out, over a short period, ideally just after a branch off, so there is plenty of time for changes to settle and issues to be fixed before the next release.

  27. hebasto commented at 12:41 pm on August 12, 2022: member

    Looking at this list, there’s nothing interesting here for anyone that doesn’t care about the GUI…

    The GUI is a part of the Bitcoin Core project. Not caring about any part of the project won’t be helpful for it.

  28. adam2k commented at 8:25 pm on August 12, 2022: none

    Concept ACK e098ba80b6ec0debc62c32c65b72a518b126ed54

    I’m testing on macOS 12.5 M1 MacBook Pro and running into errors. It’s possible this is an issue with my system, but I exhausted any possibilities that I could think of.

    Are there additional setup steps to proceed these steps during your macOS testing?

     0$ cmake -S . -B build
     1
     2-- Found Qt, version 5.15.5
     3
     4
     5Configure summary
     6=================
     7Build type ......................... RelHardened
     8Preprocessor defined macros: MAC_OSX;OBJC_OLD_DISPATCH_PROTOTYPES=0
     9CXX: /opt/homebrew/bin/ccache /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
    10Compile options:
    11Utility binaries:
    12  bitcoin-cli ...................... ON
    13  bitcoin-tx ....................... ON
    14  bitcoin-util ..................... ON
    15Wallet functionality ............... yes
    16  SQLite, descriptor wallets ....... yes
    17  Berkeley DB, legacy wallets ...... yes
    18  wallet tool ...................... ON
    19Optional packages:
    20  GUI .............................. Qt5
    21  QR code (GUI) .................... yes
    22  external signer .................. no
    23  NAT-PMP .......................... yes
    24  UPNP ............................. yes
    25  ZeroMQ ........................... yes
    26  USDT tracing ..................... no
    27  experimental syscall sandbox ..... no
    28
    29
    30-- Configuring done
    31-- Generating done
    32-- Build files have been written to: /Users/adam2k/Documents/bitcoin/build
    33 adam2k@Adams-MacBook-Pro  ~/Documents/bitcoin   220807-cmake ± 
    34 adam2k@Adams-MacBook-Pro  ~/Documents/bitcoin   220807-cmake ±  cmake --build build
    35Consolidate compiler generated dependencies of target univalue
    36[  0%] Building CXX object src/univalue/CMakeFiles/univalue.dir/lib/univalue.cpp.o
    37error: option 'cf-protection=return' cannot be specified on this target
    38error: option 'cf-protection=branch' cannot be specified on this target
    392 errors generated.
    40make[2]: *** [src/univalue/CMakeFiles/univalue.dir/lib/univalue.cpp.o] Error 1
    41make[1]: *** [src/univalue/CMakeFiles/univalue.dir/all] Error 2
    42make: *** [all] Error 2
    
  29. michaelfolkson commented at 9:21 am on August 13, 2022: contributor

    There seems to be long running resistance to this in this repo and continued resistance expressed in the comments of this PR.

    Does libsecp256k1 (potentially, certainly seems less resistance there currently) adding CMake support have any impact on this discussion? A case of seeing if it gets merged in libsecp256k1, seeing if there are any problems with it, contributors getting comfortable with it etc? Or are they entirely separate discussions? i.e. libsecp256k1 could merge in CMake support, it could work fine but it would have no impact on the discussion here? Also would there be opposition to libsecp256k1 maintaining a different build system to this main Core repo or is that a non-issue?

  30. fanquake referenced this in commit 0bac72c455 on Aug 13, 2022
  31. hebasto commented at 11:23 am on August 14, 2022: member

    I’ve updated the PR description with the following Qt-specific details.

    What happened before?

    CMake is the build system for Qt 6

    We made a big decision to start using CMake to build Qt 6 one and a half years ago.

    The Qt 5 build system was built on top of qmake. In Qt 6, we ported the build system to CMake.

    It is important to note that CMake has extensive support for Qt, including Qt-specific tools such as MOC, RCC, UIC.

    Why Qt 6 build system does matter if the Bitcoin Core GUI uses Qt 5?

    For release builds we use Qt 5.15.5 LTS, the latest Qt 5 version available under a free-software license.

    For dynamic linking users can use Qt 5.11.3+, which allows them to use packages provided in Debian Buster and Ubuntu Focal.

    On the other hand, Qt 6 packages are available in the following systems/package managers:

    As long as Qt GUI is a part of Bitcoin Core, it is inevitable to embrace Qt 6 support, sooner or later.

    Can we just adjust our current build system to handle Qt 6?

    The main problem with integration of Qt 6 into the current build system is lacking of pkg-config *.pc files for static builds (please note that a patch from QTBUG-86080 works for non-static builds only).

    To handle Qt 6 with our current build system we need to:

    • patch Qt, which looks like a non-trivial task, or
    • apply some nasty hacks to our own build system
    • keep in our repo the required *.pc files
    • check Qt libraries manually

    All approaches imply maintaining burden for a long time. And last three are pretty ugly :)

  32. hebasto force-pushed on Aug 14, 2022
  33. hebasto commented at 4:33 pm on August 14, 2022: member

    Updated e098ba80b6ec0debc62c32c65b72a518b126ed54 -> 88d797f926cb0d874a30aa732dcc0221f78b007a (pr25797.04 -> pr25797.05):

    I’m testing on macOS 12.5 M1 MacBook Pro and running into errors.

    Thank you for testing! Should be fixed now :tiger2:

  34. maflcko referenced this in commit 2778cccf1c on Aug 15, 2022
  35. adam2k commented at 3:55 pm on August 15, 2022: none

    Updated e098ba8 -> 88d797f (pr25797.04 -> pr25797.05):

    @adam2k

    I’m testing on macOS 12.5 M1 MacBook Pro and running into errors.

    Thank you for testing! Should be fixed now 🐅

    Concept ACK 88d797f926cb0d874a30aa732dcc0221f78b007a

    Again, I’m testing on macOS 12.5 M1 MacBook Pro and the previous errors seem to be resolved.

     0$ cmake -S . -B build
     1-- Performing Test HAS_CXX_-pipe_FLAG
     2-- Performing Test HAS_CXX_-pipe_FLAG - Success
     3-- Performing Test HAS_CXX_-O2_FLAG
     4-- Performing Test HAS_CXX_-O2_FLAG - Success
     5-- Performing Test HAS_CXX_-g_FLAG
     6-- Performing Test HAS_CXX_-g_FLAG - Success
     7-- Performing Test HAS_CXX_-Wstack-protector_FLAG
     8-- Performing Test HAS_CXX_-Wstack-protector_FLAG - Success
     9-- Performing Test HAS_CXX_-fstack-protector-all_FLAG
    10-- Performing Test HAS_CXX_-fstack-protector-all_FLAG - Success
    11-- Performing Test HAS_CXX_-fcf-protection=full_FLAG
    12-- Performing Test HAS_CXX_-fcf-protection=full_FLAG - Failed
    13-- Found Qt, version 5.15.5
    14
    15
    16Configure summary
    17=================
    18Build type ......................... RelHardened
    19Preprocessor defined macros ........ MAC_OSX;OBJC_OLD_DISPATCH_PROTOTYPES=0
    20C++ compiler ....................... /opt/homebrew/bin/ccache /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
    21Compile options ....................
    22Utility binaries:
    23  bitcoin-cli ...................... ON
    24  bitcoin-tx ....................... ON
    25  bitcoin-util ..................... ON
    26Wallet functionality ............... yes
    27  SQLite, descriptor wallets ....... yes
    28  Berkeley DB, legacy wallets ...... yes
    29  wallet tool ...................... ON
    30Optional packages:
    31  GUI .............................. Qt5
    32  QR code (GUI) .................... yes
    33  external signer .................. no
    34  NAT-PMP .......................... yes
    35  UPNP ............................. yes
    36  ZeroMQ ........................... yes
    37  USDT tracing ..................... no
    38  experimental syscall sandbox ..... no
    39
    40
    41-- Configuring done
    42-- Generating done
    43-- Build files have been written to: /Users/adam2k/Documents/bitcoin/build
    

    Although, I am running into errors during the second step in the process when I get to the Linking CXX executable bitcoin-qt. I added the -v to gather more debug logs.

     0$ cmake --build build -v
     1...
     2Consolidate compiler generated dependencies of target bitcoin-qt
     3/Applications/Xcode.app/Contents/Developer/usr/bin/make  -f src/qt/CMakeFiles/bitcoin-qt.dir/build.make src/qt/CMakeFiles/bitcoin-qt.dir/build
     4[ 98%] Linking CXX executable bitcoin-qt
     5cd /Users/adam2k/Documents/bitcoin/build/src/qt && /opt/homebrew/Cellar/cmake/3.24.0/bin/cmake -E cmake_link_script CMakeFiles/bitcoin-qt.dir/link.txt --verbose=1
     6/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -pipe -O2 -g -Wstack-protector -fstack-protector-all -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/homebrew/opt/llvm/lib "CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o" "CMakeFiles/bitcoin-qt.dir/main.cpp.o" "CMakeFiles/bitcoin-qt.dir/__/init/bitcoin-qt.cpp.o" -o bitcoin-qt -F/opt/homebrew/opt/qt@5/lib  -Wl,-headerpad_max_install_names libbitcoinqt.a ../libbitcoin_node.a ../libbitcoin_common.a ../libbitcoin_consensus.a ../util/libbitcoin_util.a ../crypto/libbitcoin_crypto.a /opt/homebrew/opt/qt@5/lib/QtWidgets.framework/QtWidgets /opt/homebrew/opt/qt@5/lib/QtGui.framework/QtGui ../librpc_client.a /opt/homebrew/Cellar/qrencode/4.1.1/lib/libqrencode.dylib ../wallet/libbitcoin_wallet.a ../libbitcoin_common.a /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/lib/libsqlite3.tbd /opt/homebrew/opt/qt@5/lib/QtNetwork.framework/QtNetwork /opt/homebrew/opt/qt@5/lib/QtCore.framework/QtCore /opt/homebrew/opt/libnatpmp/lib/libnatpmp.dylib /opt/homebrew/lib/libminiupnpc.dylib /opt/homebrew/opt/berkeley-db@4/lib/libdb_cxx-4.8.dylib ../../libminisketch.a /opt/homebrew/Cellar/libevent/2.1.12/lib/libevent_pthreads.dylib ../zmq/libbitcoin_zmq.a ../leveldb/libleveldb.a ../crc32c/libcrc32c.a /opt/homebrew/Cellar/zeromq/4.3.4/lib/libzmq.dylib ../crypto/libbitcoin_crypto.a ../../libsecp256k1.a ../univalue/libunivalue.a -Wl,-headerpad_max_install_names /opt/homebrew/Cellar/libevent/2.1.12/lib/libevent.dylib
     7Undefined symbols for architecture arm64:
     8  "_NSClassFromString", referenced from:
     9      MacNotificationHandler::hasUserNotificationCenterSupport() in libbitcoinqt.a(macnotificationhandler.mm.o)
    10  "_OBJC_CLASS_$_NSApplication", referenced from:
    11      objc-class-ref in libbitcoinqt.a(macdockiconhandler.mm.o)
    12  "_OBJC_CLASS_$_NSBundle", referenced from:
    13      objc-class-ref in libbitcoinqt.a(macnotificationhandler.mm.o)
    14      __OBJC_$_CATEGORY_NSBundle_$_returnCorrectIdentifier in libbitcoinqt.a(macnotificationhandler.mm.o)
    15  "_OBJC_CLASS_$_NSProcessInfo", referenced from:
    16      objc-class-ref in libbitcoinqt.a(macos_appnap.mm.o)
    17  "_OBJC_CLASS_$_NSUserNotification", referenced from:
    18      objc-class-ref in libbitcoinqt.a(macnotificationhandler.mm.o)
    19  "_OBJC_CLASS_$_NSUserNotificationCenter", referenced from:
    20      objc-class-ref in libbitcoinqt.a(macnotificationhandler.mm.o)
    21  "___CFConstantStringClassReference", referenced from:
    22      CFString in libbitcoinqt.a(macos_appnap.mm.o)
    23      CFString in libbitcoinqt.a(macnotificationhandler.mm.o)
    24      CFString in libbitcoinqt.a(macnotificationhandler.mm.o)
    25  "_class_getInstanceMethod", referenced from:
    26      MacNotificationHandler::instance() in libbitcoinqt.a(macnotificationhandler.mm.o)
    27  "_class_replaceMethod", referenced from:
    28      setupDockClickHandler() in libbitcoinqt.a(macdockiconhandler.mm.o)
    29  "_method_exchangeImplementations", referenced from:
    30      MacNotificationHandler::instance() in libbitcoinqt.a(macnotificationhandler.mm.o)
    31  "_objc_alloc_init", referenced from:
    32      MacNotificationHandler::showNotification(QString const&, QString const&) in libbitcoinqt.a(macnotificationhandler.mm.o)
    33  "_objc_autoreleasePoolPop", referenced from:
    34      CAppNapInhibitor::CAppNapImpl::disableAppNap() in libbitcoinqt.a(macos_appnap.mm.o)
    35      CAppNapInhibitor::CAppNapImpl::enableAppNap() in libbitcoinqt.a(macos_appnap.mm.o)
    36  "_objc_autoreleasePoolPush", referenced from:
    37      CAppNapInhibitor::CAppNapImpl::disableAppNap() in libbitcoinqt.a(macos_appnap.mm.o)
    38      CAppNapInhibitor::CAppNapImpl::enableAppNap() in libbitcoinqt.a(macos_appnap.mm.o)
    39  "_objc_getClass", referenced from:
    40      MacNotificationHandler::instance() in libbitcoinqt.a(macnotificationhandler.mm.o)
    41  "_objc_msgSend", referenced from:
    42      setupDockClickHandler() in libbitcoinqt.a(macdockiconhandler.mm.o)
    43      ForceActivation() in libbitcoinqt.a(macdockiconhandler.mm.o)
    44      CAppNapInhibitor::CAppNapImpl::disableAppNap() in libbitcoinqt.a(macos_appnap.mm.o)
    45      CAppNapInhibitor::CAppNapImpl::enableAppNap() in libbitcoinqt.a(macos_appnap.mm.o)
    46      -[NSBundle(returnCorrectIdentifier) __bundleIdentifier] in libbitcoinqt.a(macnotificationhandler.mm.o)
    47      MacNotificationHandler::showNotification(QString const&, QString const&) in libbitcoinqt.a(macnotificationhandler.mm.o)
    48  "_objc_opt_class", referenced from:
    49      setupDockClickHandler() in libbitcoinqt.a(macdockiconhandler.mm.o)
    50  "_objc_opt_respondsToSelector", referenced from:
    51      CAppNapInhibitor::CAppNapImpl::disableAppNap() in libbitcoinqt.a(macos_appnap.mm.o)
    52      CAppNapInhibitor::CAppNapImpl::enableAppNap() in libbitcoinqt.a(macos_appnap.mm.o)
    53  "_objc_release", referenced from:
    54      CAppNapInhibitor::CAppNapImpl::enableAppNap() in libbitcoinqt.a(macos_appnap.mm.o)
    55      MacNotificationHandler::showNotification(QString const&, QString const&) in libbitcoinqt.a(macnotificationhandler.mm.o)
    56  "_objc_retain", referenced from:
    57      CAppNapInhibitor::CAppNapImpl::disableAppNap() in libbitcoinqt.a(macos_appnap.mm.o)
    58  "_sel_registerName", referenced from:
    59      setupDockClickHandler() in libbitcoinqt.a(macdockiconhandler.mm.o)
    60ld: symbol(s) not found for architecture arm64
    61clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
    62make[2]: *** [src/qt/bitcoin-qt] Error 1
    63make[1]: *** [src/qt/CMakeFiles/bitcoin-qt.dir/all] Error 2
    64make: *** [all] Error 2
    
  36. sidhujag referenced this in commit 830a309f13 on Aug 15, 2022
  37. hebasto force-pushed on Aug 15, 2022
  38. hebasto commented at 11:32 pm on August 15, 2022: member

    Updated 88d797f926cb0d874a30aa732dcc0221f78b007a -> 6e1dcc2ae5096dde327b71efb6bfa0bf120227e5 (pr25797.05 -> pr25797.06):

    • rebased on top of the #25836
    • fixed native building on Windows (MSVC + vcpkg). No longer needed to pre-build Qt :tiger2:

    Instructions for native building on Windows (MSVC + vcpkg) added to the PR description.

    cc @sipsorcery

  39. dongcarl commented at 5:29 pm on August 16, 2022: contributor
    @hebasto Could you give us an idea of the diff between the new CMake and the old autotools build systems from a user’s perspective? Have we achieved feature-parity yet?
  40. hebasto commented at 6:06 am on August 17, 2022: member

    @dongcarl

    Could you give us an idea of the diff between the new CMake and the old autotools build systems from a user’s perspective?

    1. The main difference is a directory structure. While the current Autotools-based build system (AT) supports out-of-source builds, most users make in-source builds. The new CMake-based build system (CM) does not support in-source builds. I consider this as a benefit. As a consequence, there is no make distclean in CM.

    2. Most of AT configure options are mapped to CM cache variable, for example:

    • --with-daemon –> -DBUILD_DAEMON
    • --enable-zmq –> -DWITH_ZMQ
    1. Some of AT configure options are implemented as custom build types in CM, for example:
    • --enable-hardening –> -DCMAKE_BUILD_TYPE=RelHardened
    1. User provided CC, CXX, CFLAGS, CXXFLAGS, LDFLAGS are supported by CM perfectly out of the box.

    2. Integration with our depends build subsystem has been implemented already:

    • CONFIG_SITE=$PWD/depends/<HOST>/share/config.site –> --toolchain depends/<HOST>/share/toolchain.cmake
    1. With CM users are able to use the same build system natively on a wider range of platforms, e.g., on Windows with MSVC.

    2. With CM the GUI users get Qt 6 support finally :tiger2:

    Have we achieved feature-parity yet?

    Not in this PR, to keep it in reviewable state. The full feature-parity is achievable with a couple follow ups.

  41. in CMakeLists.txt:139 in 6e1dcc2ae5 outdated
    134+  endif()
    135+endif()
    136+
    137+if(CMAKE_SYSTEM_NAME STREQUAL Linux)
    138+  if(CMAKE_SYSTEM_PROCESSOR STREQUAL arm)
    139+    add_compile_options(-Wno-psabi)
    


    fanquake commented at 8:18 am on August 17, 2022:
    We don’t currently suppress this in configure, why is it being added here?

    hebasto commented at 1:19 pm on August 17, 2022:
  42. in CMakeLists.txt:140 in 6e1dcc2ae5 outdated
    136+
    137+if(CMAKE_SYSTEM_NAME STREQUAL Linux)
    138+  if(CMAKE_SYSTEM_PROCESSOR STREQUAL arm)
    139+    add_compile_options(-Wno-psabi)
    140+  endif()
    141+  link_libraries(-Wl,-O2)
    


    fanquake commented at 8:19 am on August 17, 2022:
    We don’t currently add linker optimisation flags in configure, why are they being added here?

    hebasto commented at 0:49 am on August 18, 2022:
    Thanks! Updated.
  43. in CMakeLists.txt:173 in 6e1dcc2ae5 outdated
    157+    link_libraries(-Wl,--major-subsystem-version -Wl,6 -Wl,--minor-subsystem-version -Wl,1)
    158+  endif()
    159+endif()
    160+if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
    161+  add_definitions(-DMAC_OSX -DOBJC_OLD_DISPATCH_PROTOTYPES=0)
    162+  link_libraries(-Wl,-headerpad_max_install_names)
    


    fanquake commented at 8:23 am on August 17, 2022:
    Shouldn’t this link flag also be used when cross-compiling?

    hebasto commented at 8:29 pm on August 17, 2022:
    Why? This link flag is being processed after the if test $cross_compiling != "yes"; block end in the configure.ac.

    fanquake commented at 8:36 pm on August 17, 2022:
    Yes. Which means it gets used for both native and cross-compile builds.
  44. in CMakeLists.txt:259 in 6e1dcc2ae5 outdated
    255+if(CMAKE_CROSSCOMPILING)
    256+  message("Cross compiling for ................ ${CMAKE_SYSTEM_NAME}, ${CMAKE_SYSTEM_PROCESSOR}")
    257+endif()
    258+get_directory_property(definitions COMPILE_DEFINITIONS)
    259+message("Preprocessor defined macros ........ ${definitions}")
    260+message("C++ compiler ....................... ${CMAKE_CXX_COMPILER_LAUNCHER} ${CMAKE_CXX_COMPILER}")
    


    fanquake commented at 8:29 am on August 17, 2022:
    Cross-compiling for macOS, the “C++ compiler” output is /usr/bin/ccache /usr/bin/env. Not super helpful.

    adam2k commented at 6:58 pm on August 17, 2022:

    That output on macOS 12.5 is different for me

    0C++ compiler ....................... /opt/homebrew/bin/ccache /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
    

    hebasto commented at 7:42 pm on August 17, 2022:
    @adam2k You are building natively on macOS for macOS, while @fanquake cross builds on Linux for macOS. Right?

    hebasto commented at 8:19 pm on August 17, 2022:

    Cross-compiling for macOS, the “C++ compiler” output is /usr/bin/ccache /usr/bin/env. Not super helpful.

    This is caused by the #21552 bug. A possible fix has been suggested in #24620.


    adam2k commented at 7:34 pm on August 31, 2022:
    @hebasto yes, that’s right. I’m building natively on macOS for macOS.
  45. in CMakeLists.txt:261 in 6e1dcc2ae5 outdated
    257+endif()
    258+get_directory_property(definitions COMPILE_DEFINITIONS)
    259+message("Preprocessor defined macros ........ ${definitions}")
    260+message("C++ compiler ....................... ${CMAKE_CXX_COMPILER_LAUNCHER} ${CMAKE_CXX_COMPILER}")
    261+get_directory_property(compile_options COMPILE_OPTIONS)
    262+message("Compile options .................... ${compile_options}")
    


    fanquake commented at 8:29 am on August 17, 2022:
    Cross-compiling for macOS/Windows, the “Compile options” output is something like $<$<COMPILE_LANGUAGE:C>:-pipe>;$<$<COMPILE_LANGUAGE:C>:-std=c11>;$<$<COMPILE_LANGUAGE:C>:-O2>;$<$<COMPILE_LANGUAGE:CXX>:-pipe>;$<$<COMPILE_LANGUAGE:CXX>:-std=c++17>;$<$<COMPILE_LANGUAGE:CXX>:-O2>. Which isn’t readable.

    hebasto commented at 0:49 am on August 18, 2022:
    Thanks! Should be fixed now.
  46. in CMakeLists.txt:111 in 6e1dcc2ae5 outdated
    92+set(CMAKE_CXX_FLAGS_RELHARDENED "${release_cxx_flags} ${hardened_cxx_flags}" CACHE STRING
    93+  "Flags used by the C++ compiler during \"RelHardened\" builds."
    94+  FORCE
    95+)
    96+if(CMAKE_SYSTEM_NAME STREQUAL Linux)
    97+  set(hardened_linker_flags "-Wl,-z,relro -Wl,-z,now -Wl,-z,separate-code")
    


    fanquake commented at 8:45 am on August 17, 2022:
    Shouldn’t we check these flags are available, rather than assuming the user has as certain version of binutils?

    hebasto commented at 2:30 pm on August 18, 2022:
    Thanks! Updated.
  47. in CMakeLists.txt:113 in 6e1dcc2ae5 outdated
    94+  FORCE
    95+)
    96+if(CMAKE_SYSTEM_NAME STREQUAL Linux)
    97+  set(hardened_linker_flags "-Wl,-z,relro -Wl,-z,now -Wl,-z,separate-code")
    98+elseif(CMAKE_SYSTEM_NAME STREQUAL Windows)
    99+  set(hardened_linker_flags "-Wl,--enable-reloc-section -Wl,--dynamicbase -Wl,--nxcompat -Wl,--high-entropy-va")
    


    fanquake commented at 8:45 am on August 17, 2022:
    Same here.

    hebasto commented at 2:31 pm on August 18, 2022:
    Thanks! Updated.
  48. in CMakeLists.txt:118 in 6e1dcc2ae5 outdated
    82+  FORCE
    83+)
    84+# Define custom "RelHardened" build type
    85+set(hardened_cxx_flags "")
    86+try_append_cxxflag(hardened_cxx_flags "-Wstack-protector")
    87+try_append_cxxflag(hardened_cxx_flags "-fstack-protector-all")
    


    fanquake commented at 9:23 am on August 17, 2022:

    This test fails when cross-compiling for Windows, and we end up building without -fstack-protector-all.

    0/usr/lib/gcc/x86_64-w64-mingw32/11.2.1/../../../../x86_64-w64-mingw32/bin/ld: CMakeFiles/cmTC_c6384.dir/objects.a(src.cxx.obj):src.cxx:(.text+0x35): undefined reference to `__stack_chk_fail'
    1/usr/lib/gcc/x86_64-w64-mingw32/11.2.1/../../../../x86_64-w64-mingw32/bin/ld: CMakeFiles/cmTC_c6384.dir/objects.a(src.cxx.obj):src.cxx:(.rdata$.refptr.__stack_chk_guard[.refptr.__stack_chk_guard]+0x0): undefined reference to `__stack_chk_guard'
    

    hebasto commented at 0:51 am on August 18, 2022:
    Thanks! Fixed.
  49. fanquake commented at 9:29 am on August 17, 2022: member

    If I perform a depends build with NO_QT=1 NO_WALLET=1 NO_ZMQ=1 options. Cmake is warning about these packages being missing:

     0-- Could NOT find QT (missing: QT_DIR)
     1CMake Warning at cmake/optional_qt.cmake:60 (message):
     2  Qt not found, disabling.
     3
     4  To skip this warning check, use "-DWITH_GUI=no".
     5
     6Call Stack (most recent call first):
     7  CMakeLists.txt:181 (include)
     8
     9-- Could NOT find BerkeleyDB (missing: BerkeleyDB_LIBRARY BerkeleyDB_INCLUDE_DIR) (Required is at least version "4.8")
    10CMake Warning at cmake/optional.cmake:79 (message):
    11  Berkeley DB (BDB) required for legacy wallet support, but not found.
    12
    13  Passing "-DWITH_BDB=no" will suppress this warning.
    14
    15Call Stack (most recent call first):
    16  CMakeLists.txt:182 (include)
    17
    18-- Checking for module 'libzmq>=4'
    19--   No package 'libzmq' found
    20CMake Warning at cmake/optional.cmake:134 (message):
    21  libzmq not found, disabling.
    22
    23  To skip libzmq check, use "-DWITH_ZMQ=no".
    24
    25Call Stack (most recent call first):
    26  CMakeLists.txt:182 (include)
    

    We shouldn’t have to pass any options to suppress, as Cmake shouldn’t even be looking for these libs if we’ve opted out of in depends.

    Note how Cmake didn’t warn about a missing sqlite above. That seems to be because it’ll just grab the sqlite from the system to enable sqlite wallet support. This shouldn’t happen if I’m cross-compiling, or building from depends (regardless of NO_WALLET=1), and ultimately results in link errors:

    0[ 86%] Linking CXX executable bitcoin-wallet
    1ld: warning: ignoring file /usr/lib/x86_64-linux-gnu/libsqlite3.so, building for macOS-x86_64 but attempting to link with file built for unknown-unsupported file format ( 0x7F 0x45 0x4C 0x46 0x02 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 )
    2...
    3      wallet::SQLiteBatch::EraseKey(CDataStream&&) in libbitcoin_wallet.a(sqlite.cpp.o)
    4      wallet::SQLiteBatch::HasKey(CDataStream&&) in libbitcoin_wallet.a(sqlite.cpp.o)
    5      ...
    6ld: symbol(s) not found for architecture x86_64
    7clang: error: linker command failed with exit code 1 (use -v to see invocation)
    

    Testing a Windows cross compile currently fails for me:

     0make -C depends HOST=x86_64-w64-mingw32 NO_QT=1 NO_BDB=1 NO_UPNP=1 NO_ZMQ=1 NO_NATPMP=1
     1cmake --toolchain depends/x86_64-w64-mingw32/share/toolchain.cmake -S . -B build
     2cmake --build build -j9
     3...
     4/usr/bin/x86_64-w64-mingw32-ld: [ 97%] Linking CXX static library libbitcoin_node.a
     5cd /home/ubuntu/bitcoin/build/src && /usr/bin/cmake -P CMakeFiles/bitcoin_node.dir/cmake_clean_target.cmake
     6cd /home/ubuntu/bitcoin/build/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/bitcoin_node.dir/link.txt --verbose=1
     7/usr/bin/x86_64-w64-mingw32-ar qc libbitcoin_node.a CMakeFiles/bitcoin_node.dir/addrdb.cpp.obj CMakeFiles/bitcoin_node.dir/addrman.cpp.obj CMakeFiles/bitcoin_node.dir/banman.cpp.obj CMakeFiles/bitcoin_node.dir/blockencodings.cpp.obj CMakeFiles/bitcoin_node.dir/blockfilter.cpp.obj CMakeFiles/bitcoin_node.dir/chain.cpp.obj CMakeFiles/bitcoin_node.dir/consensus/tx_verify.cpp.obj CMakeFiles/bitcoin_node.dir/dbwrapper.cpp.obj CMakeFiles/bitcoin_node.dir/deploymentstatus.cpp.obj CMakeFiles/bitcoin_node.dir/flatfile.cpp.obj CMakeFiles/bitcoin_node.dir/httprpc.cpp.obj CMakeFiles/bitcoin_node.dir/httpserver.cpp.obj CMakeFiles/bitcoin_node.dir/i2p.cpp.obj CMakeFiles/bitcoin_node.dir/index/base.cpp.obj CMakeFiles/bitcoin_node.dir/index/blockfilterindex.cpp.obj CMakeFiles/bitcoin_node.dir/index/coinstatsindex.cpp.obj CMakeFiles/bitcoin_node.dir/index/txindex.cpp.obj CMakeFiles/bitcoin_node.dir/init.cpp.obj CMakeFiles/bitcoin_node.dir/kernel/chain.cpp.obj CMakeFiles/bitcoin_node.dir/kernel/checks.cpp.obj CMakeFiles/bitcoin_node.dir/kernel/coinstats.cpp.obj CMakeFiles/bitcoin_node.dir/kernel/context.cpp.obj CMakeFiles/bitcoin_node.dir/kernel/mempool_persist.cpp.obj CMakeFiles/bitcoin_node.dir/mapport.cpp.obj CMakeFiles/bitcoin_node.dir/net.cpp.obj CMakeFiles/bitcoin_node.dir/netgroup.cpp.obj CMakeFiles/bitcoin_node.dir/net_processing.cpp.obj CMakeFiles/bitcoin_node.dir/node/blockstorage.cpp.obj CMakeFiles/bitcoin_node.dir/node/caches.cpp.obj CMakeFiles/bitcoin_node.dir/node/chainstate.cpp.obj CMakeFiles/bitcoin_node.dir/node/coin.cpp.obj CMakeFiles/bitcoin_node.dir/node/connection_types.cpp.obj CMakeFiles/bitcoin_node.dir/node/context.cpp.obj CMakeFiles/bitcoin_node.dir/node/eviction.cpp.obj CMakeFiles/bitcoin_node.dir/node/interface_ui.cpp.obj CMakeFiles/bitcoin_node.dir/node/interfaces.cpp.obj CMakeFiles/bitcoin_node.dir/node/mempool_args.cpp.obj CMakeFiles/bitcoin_node.dir/node/mempool_persist_args.cpp.obj CMakeFiles/bitcoin_node.dir/node/miner.cpp.obj CMakeFiles/bitcoin_node.dir/node/minisketchwrapper.cpp.obj CMakeFiles/bitcoin_node.dir/node/psbt.cpp.obj CMakeFiles/bitcoin_node.dir/node/transaction.cpp.obj CMakeFiles/bitcoin_node.dir/node/validation_cache_args.cpp.obj CMakeFiles/bitcoin_node.dir/noui.cpp.obj CMakeFiles/bitcoin_node.dir/policy/fees.cpp.obj CMakeFiles/bitcoin_node.dir/policy/fees_args.cpp.obj CMakeFiles/bitcoin_node.dir/policy/packages.cpp.obj CMakeFiles/bitcoin_node.dir/policy/rbf.cpp.obj CMakeFiles/bitcoin_node.dir/policy/settings.cpp.obj CMakeFiles/bitcoin_node.dir/pow.cpp.obj CMakeFiles/bitcoin_node.dir/rest.cpp.obj CMakeFiles/bitcoin_node.dir/rpc/blockchain.cpp.obj CMakeFiles/bitcoin_node.dir/rpc/fees.cpp.obj CMakeFiles/bitcoin_node.dir/rpc/mempool.cpp.obj CMakeFiles/bitcoin_node.dir/rpc/mining.cpp.obj CMakeFiles/bitcoin_node.dir/rpc/net.cpp.obj CMakeFiles/bitcoin_node.dir/rpc/node.cpp.obj CMakeFiles/bitcoin_node.dir/rpc/output_script.cpp.obj CMakeFiles/bitcoin_node.dir/rpc/rawtransaction.cpp.obj CMakeFiles/bitcoin_node.dir/rpc/server.cpp.obj CMakeFiles/bitcoin_node.dir/rpc/server_util.cpp.obj CMakeFiles/bitcoin_node.dir/rpc/signmessage.cpp.obj CMakeFiles/bitcoin_node.dir/rpc/txoutproof.cpp.obj CMakeFiles/bitcoin_node.dir/script/sigcache.cpp.obj CMakeFiles/bitcoin_node.dir/shutdown.cpp.obj CMakeFiles/bitcoin_node.dir/signet.cpp.obj CMakeFiles/bitcoin_node.dir/timedata.cpp.obj CMakeFiles/bitcoin_node.dir/torcontrol.cpp.obj CMakeFiles/bitcoin_node.dir/txdb.cpp.obj CMakeFiles/bitcoin_node.dir/txmempool.cpp.obj CMakeFiles/bitcoin_node.dir/txorphanage.cpp.obj CMakeFiles/bitcoin_node.dir/txrequest.cpp.obj CMakeFiles/bitcoin_node.dir/validation.cpp.obj CMakeFiles/bitcoin_node.dir/validationinterface.cpp.obj CMakeFiles/bitcoin_node.dir/versionbits.cpp.obj CMakeFiles/bitcoin_node.dir/wallet/init.cpp.obj
     8CMakeFiles/bitcoinkernel.dir/objects.a(system.cpp.obj): in function `GetNumCores()':
     9/home/ubuntu/bitcoin/src/util/system.cpp:1415: undefined reference to `std::thread::hardware_concurrency()'
    10/usr/bin/x86_64-w64-mingw32-ld: /usr/bin/x86_64-w64-mingw32-ranlib libbitcoin_node.a
    11gmake[2]: Leaving directory '/home/ubuntu/bitcoin/build'
    

    Full log is here: https://gist.github.com/fanquake/095adeae6f874ed6065c40019068bfff.

  50. hebasto force-pushed on Aug 17, 2022
  51. hebasto commented at 1:19 pm on August 17, 2022: member

    Updated 6e1dcc2ae5096dde327b71efb6bfa0bf120227e5 -> d56e4d193b7266212686dab00f57a3adf3b11db0 (pr25797.06 -> pr25797.07):

    (addressing of other comments in progress)

  52. hebasto commented at 1:22 pm on August 17, 2022: member

    We shouldn’t have to pass any options to suppress, as Cmake shouldn’t even be looking for these libs if we’ve opted out of in depends.

    Fixed in the recent update.

  53. luke-jr commented at 2:59 pm on August 17, 2022: member

    The new CMake-based build system (CM) does not support in-source builds.

    This is a HUGE regression for development.

    We shouldn’t have to pass any options to suppress, as Cmake shouldn’t even be looking for these libs if we’ve opted out of in depends.

    Don’t some depends users want to build using those system libs (while using depends for other stuff)?

    On another note, I’ve noticed a lot of build system refactoring/NIH in Core has broken things that worked previously, and had to be fixed later. This indicates build system stuff, especially homegrown, is underreviewed. CMake might help this, or make it worse. If it’s going to help, I would expect to see it reflected in a higher than normal amount of code review on this PR.

  54. fanquake commented at 3:10 pm on August 17, 2022: member

    Don’t some depends users want to build using those system libs (while using depends for other stuff)?

    Only if you explicitly opt in. That shouldn’t be the default behaviour (would defeat the point of depends), and I hadn’t opted in here.

  55. theuni commented at 6:38 pm on August 17, 2022: member

    Concept ACK-ish, but only with 100% feature parity.

    This is the kind of work that’s easy enough to get 90% of the way there, but the remaining 10% will almost certainly be brutal.

    I’m in agreement about moving to something more maintainable than Autotools in the long-term, but I’m absolutely against merging this for the sake of the stated reasons: Qt6, MSVC, trendiness (note that I’ve switched to CMake for my own projects, so I certainly have nothing against it). No offense, but honestly I think it’s more reasonable to consider dropping those platforms than to cater our entire infrastructure to them. I share many of @luke-jr’s concerns as well.

    That said, I am very open to a feature-complete CMake port of our current build-system for the sake of modernization and future-proofing. But again, that means feature-parity and a focus on the high-priority targets. Sorry, but Qt6 and MSVC just aren’t that.

    I’m honestly not sure how to even begin reviewing this without some kind of 1:1 feature completion mapping. Our current build system does a whole lot more than just build binaries and libs.

    For example, comments like this don’t inspire much confidence

    I'm assuming that unit-test build support with CMake is still under construction?
    

    It is, but not as a part of this PR. My intention is to keep the latter more or less digestible for reviewers.

    Could you please advise how we can review this without simply testing it on each platform? That approach would likely take years of after-the-fact corner-case fixing. For example, I think it’d be reasonable to set “autotools/cmake binary output equivalents for all supported platforms, or detailed explanations as to why they differ” as a pretty obvious requirement for merge. Otherwise we’re just kinda hoping for no regressions, no?

    I don’t mean to be harsh with the above, I know how much time/effort work like this takes. But I’m afraid this will require some pretty intense planning and arguing to make it to the finish line.

    tl;dr: charts and graphs please :)

  56. ryanofsky commented at 7:13 pm on August 17, 2022: contributor

    This is the kind of work that’s easy enough to get 90% of the way there, but the remaining 10% will almost certainly be brutal.

    I’m probably naive, but I wonder what types of things might be difficult to implement with cmake.

    It would also be helpful if PR description mentioned what features autotools build supports that cmake build doesn’t support yet. Just skimming it wasn’t clear if this mostly needs more testing on different platforms or if it has some major missing features that need to be implemented still.

  57. theuni commented at 7:23 pm on August 17, 2022: member

    @ryanofsky I didn’t mean to imply that there’s anything that wouldn’t be possible with CMake, just that there’s a lot to get done other than vanilla builds. A long list of little stuff like profiling output, configurable shared/static builds, deployment targets (dmg/exe installer creation), etc. Many of those things may even be easier with CMake, there’s just a lot to account for.

    It would also be helpful if PR description mentioned what features autotools build supports that cmake build doesn’t support yet. Just skimming it wasn’t clear if this mostly needs more testing on different platforms or if it has some major missing features that need to be implemented still.

    Agreed, this is my ask as well. It could be that I skimmed too quickly, but I didn’t see those kinds of things addressed here yet.

  58. ryanofsky commented at 7:39 pm on August 17, 2022: contributor

    dongcarl fanquake ryanofsky theuni

    Your conceptual assessments of this PR will be much appreciated.

    Definitely major concept ACK from me. And the implementation seems very clean. I guess I can try getting multiprocess build to work with this since I don’t see a flag for it yet.

  59. ryanofsky commented at 8:05 pm on August 17, 2022: contributor

    Just to explain my concept ACK a little bit: I don’t think CMake build needs to add much of a maintenance burden and don’t think it needs to have parity with the autotools build. I think if we can start using CMake build for binary releases, then developers can switch to using cmake for all the cool new stuff (qt6, jetbrains, android, web IDEs, rust, bitcoin kernel) and autotools build can hang around in maintenance mode for the old boring stuff.

    I don’t think having two build systems should could much trouble for normal developers. Only difference is if you add or renaming a file or flag, you have to may have to make an extra edit.

    I also don’t think having two build systems should cause much trouble for people working on build features either, as long as we don’t insist on parity between two systems and are clear about which build system is used for binary releases.

  60. hebasto force-pushed on Aug 18, 2022
  61. hebasto commented at 0:48 am on August 18, 2022: member

    Updated d56e4d193b7266212686dab00f57a3adf3b11db0 -> 156afca1c03e2688417d1da313a475e58260d4ac (pr25797.07 -> pr25797.08):

    • addressed more of @fanquake’s comments, (addressing of other comments in progress)
    • improved and detailed configure summary
  62. fanquake commented at 9:37 am on August 18, 2022: member

    Doing a depends build of 156afca1c03e2688417d1da313a475e58260d4ac, on aarch64 Linux, currently fails with:

     0make -C depends -j9 NO_QT=1 NO_WALLET=1 NO_ZMQ=1 NO_UPNP=1 NO_NATPMP=1 CC=clang CXX=clang++
     1cmake --toolchain depends/aarch64-unknown-linux-gnu/share/toolchain.cmake -S . -B build
     2Wallet functionality:
     3  SQLite, descriptor wallets ....... auto
     4  Berkeley DB, legacy wallets ...... auto
     5  wallet tool ...................... OFF
     6...
     7cmake --build build -j9
     8Consolidate compiler generated dependencies of target univalue
     9[  0%] Building CXX object CMakeFiles/minisketch.dir/src/minisketch/src/fields/generic_1byte.cpp.o
    10[  0%] Building CXX object src/crypto/CMakeFiles/bitcoin_crypto.dir/aes.cpp.o
    11[  0%] Building CXX object src/crc32c/CMakeFiles/crc32c_arm64.dir/src/crc32c_arm64.cc.o
    12[  1%] Building CXX object CMakeFiles/minisketch.dir/src/minisketch/src/fields/generic_2bytes.cpp.o
    13[  1%] Building CXX object CMakeFiles/minisketch.dir/src/minisketch/src/minisketch.cpp.o
    14[  1%] Building CXX object CMakeFiles/minisketch.dir/src/minisketch/src/fields/generic_3bytes.cpp.o
    15clang-14: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument]
    16[  3%] Building CXX object src/crc32c/CMakeFiles/crc32c_sse42.dir/src/crc32c_sse42.cc.o
    17[  3%] Built target univalue
    18[  3%] Building C object CMakeFiles/secp256k1.dir/src/secp256k1/src/secp256k1.c.o
    19clang-14clang-14: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument]
    20clang-14: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument]
    21: error: argument unused during compilation: '-fstack-clash-protection' [-Werror,-Wunused-command-line-argument]
    22gmake[2]: *** [src/crc32c/CMakeFiles/crc32c_arm64.dir/build.make:76: src/crc32c/CMakeFiles/crc32c_arm64.dir/src/crc32c_arm64.cc.o] Error 1
    23gmake[1]: *** [CMakeFiles/Makefile2:543: src/crc32c/CMakeFiles/crc32c_arm64.dir/all] Error 2
    24gmake[1]: *** Waiting for unfinished jobs....
    25Consolidate compiler generated dependencies of target bitcoin_util
    26clang-14: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument]
    27[  3%] Building C object CMakeFiles/secp256k1.dir/src/secp256k1/src/precomputed_ecmult.c.o
    28clang-14: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument]
    29clang-14: error: argument unused during compilation: '-fstack-clash-protection' [-Werror,-Wunused-command-line-argument]
    30gmake[2]: *** [src/crc32c/CMakeFiles/crc32c_sse42.dir/build.make:76: src/crc32c/CMakeFiles/crc32c_sse42.dir/src/crc32c_sse42.cc.o] Error 1
    

    CXXFLAG detection marks -fstack-clash-protection as usable even though it’s unused:

     0Source file was:
     1int main() { return 0; }
     2Performing C++ SOURCE FILE Test CXX_SUPPORTS_FSTACK_CLASH_PROTECTION succeeded with the following output:
     3Change Dir: /home/fedora/bitcoin/build/CMakeFiles/CMakeTmp
     4
     5Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_c2ada/fast && /usr/bin/gmake  -f CMakeFiles/cmTC_c2ada.dir/build.make CMakeFiles/cmTC_c2ada.dir/build
     6gmake[1]: Entering directory '/home/fedora/bitcoin/build/CMakeFiles/CMakeTmp'
     7Building CXX object CMakeFiles/cmTC_c2ada.dir/src.cxx.o
     8/usr/bin/clang++ -DCXX_SUPPORTS_FSTACK_CLASH_PROTECTION  -fstack-clash-protection -std=c++17 -MD -MT CMakeFiles/cmTC_c2ada.dir/src.cxx.o -MF CMakeFiles/cmTC_c2ada.dir/src.cxx.o.d -o CMakeFiles/cmTC_c2ada.dir/src.cxx.o -c /home/fedora/bitcoin/build/CMakeFiles/CMakeTmp/src.cxx
     9clang-14: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument]
    10Linking CXX static library libcmTC_c2ada.a
    11/usr/bin/cmake -P CMakeFiles/cmTC_c2ada.dir/cmake_clean_target.cmake
    12/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c2ada.dir/link.txt --verbose=1
    13/usr/bin/llvm-ar qc libcmTC_c2ada.a CMakeFiles/cmTC_c2ada.dir/src.cxx.o
    14/usr/bin/llvm-ranlib libcmTC_c2ada.a
    15gmake[1]: Leaving directory '/home/fedora/bitcoin/build/CMakeFiles/CMakeTmp'
    

    Any reason you’re not using -Werror for flag checks like we do in configure?

    The build ultimately fails because -Werror is enabled for the crc32c build. Looks like we’ll need to turn off any flags we don’t want enabled by default (like -Werror) in the subproject CMake configurations.

    Note that I included the Wallet functionality snippet above, because even though I built depends with NO_WALLET=1, the configure summary says auto for sqlite/bdb, where it should say no.

  63. vasild commented at 10:31 am on August 18, 2022: contributor

    Concept ACK

    https://blog.jetbrains.com/clion/2020/06/dev-eco-cpp-2020/#project_models has some numbers on build systems’ popularity and trends.

  64. fanquake added the label Feature on Aug 18, 2022
  65. fanquake removed the label Feature on Aug 18, 2022
  66. hebasto force-pushed on Aug 18, 2022
  67. hebasto commented at 2:29 pm on August 18, 2022: member

    Updated 156afca1c03e2688417d1da313a475e58260d4ac -> e016b22e6c365194743f54a7111f44caf6051394 (pr25797.08 -> pr25797.09):

    • added the TryAppendLinkerFlag module
    • addressed more of @fanquake’s comments, (addressing of other comments in progress)
  68. theuni commented at 2:55 pm on August 18, 2022: member

    Just to explain my concept ACK a little bit: I don’t think CMake build needs to add much of a maintenance burden and don’t think it needs to have parity with the autotools build. I think if we can start using CMake build for binary releases, then developers can switch to using cmake for all the cool new stuff (qt6, jetbrains, android, web IDEs, rust, bitcoin kernel) and autotools build can hang around in maintenance mode for the old boring stuff.

    I don’t think having two build systems should could much trouble for normal developers. Only difference is if you add or renaming a file or flag, you have to may have to make an extra edit.

    I also don’t think having two build systems should cause much trouble for people working on build features either, as long as we don’t insist on parity between two systems and are clear about which build system is used for binary releases.

    I beg you not to trivialize this way. The buildsystem has major implications for how work is done, namely large refactoring projects like libkernel. Maintaining two build systems may only make one-off PRs a little tougher, but it’s guaranteed to significantly impede more interesting (and important) long-term efforts. Given the burnout and long-term developer attrition we’ve seen lately, that seems exactly backwards prioritization to me. Sure I’m biased towards the big cleanup projects, but at as I said above I think the project would benefit from dropping features and scope rather than adding/expanding. Sure, IDE integration and new platforms and bells and whistles would be nice, but this has whiffs of Zawinski’s Law to me.

    Call me a cranky old git, but as much as I’d like a more modern infrastructure, I’m changing/editing my support to a NACK for CMake until it’s clear that the implications are better understood by everyone involved/affected. I don’t understand the support/concept ACKs that this is receiving when so much of the concept (or even a roadmap) is still absent.

    And all that is without even mentioning the new overhead of adding what’s essentially a new language that we have no history of reviewing/supporting in this project. Please consider the growing pains.

    I support @hebasto’s work here, but I think this PR was opened too early. Personally, I’d suggest taking a step back and making a plan before throwing it up for a committee-style discussion. I’d be happy to take another look at this if/when there’s a thoughtful roadmap/feature matrix attached. Until then I’m honestly not sure what we’re discussing here so I’ll keep out.

  69. ryanofsky commented at 3:03 pm on August 18, 2022: contributor

    it’s guaranteed to significantly impede more interesting (and important) long-term efforts.

    My point is that this is only true if you require parity between the two build systems. I think it’s fine (and preferable) if libbitcoinkernel and other newer projects target cmake only, and just keep autotools build working in maintenance mode. Of course if any autotools-lovers want to step up and contribute new features to the autotools build they should be free to do that, too.

  70. ryanofsky commented at 3:36 pm on August 18, 2022: contributor

    @theuni, I think you not making a clear enough distinction between maintaining a build system, and adding new features to a build system. I can attest to the difference personally. For everyday development, my interaction with autotools is very pleasant. It is very easy to maintain makefiles during normal c++ development as flags are switched or files are added and moved around. By contrast, implementing multiprocess support where I was adding a new build feature to autotools was a painful process that was very difficult to get right, and even had subtle bugs that were uncovered years after original code was written (#25214).

    I think we both agree that requiring new features to be implemented in two build systems would be a major setback to development. But your solution to that would be to ban use of a build system that would make development easier. My solution would be to choose one build system to use for binary releases, and drop the requirement that the both systems need to have feature parity for other types of development. For development purposes, it’s fine to say that we have two build systems, and you are free to use the one your prefer. Build system X supports features A B and C, system Y supports features A B and D. If there is a build feature which your preferred build system is missing, you are welcome to submit a patch.

    I think new IDEs and new development tools tend to use cmake, and tend not use or even support autotools. I think we will make onboarding of new developers more difficult by feverishly clinging to autotools, and make existing developers less productive and code less safe if we can’t benefit from using new tools. I also think adding new build features easier using cmake, but obviously this is subjective, and a reason why I think we shouldn’t be demanding feature parity.

  71. theuni commented at 3:56 pm on August 18, 2022: member

    @ryanofsky Please re-read my comments and please don’t twist my words. Nowhere to I advocate for autotools. I hate it. it’s dated and awful. In each comment I’ve advocated FOR CMake. I use, like, and prefer it.

    I’m just begging that we not hand-wave the very real pain of switching or maintaining two, and figure out a way to do it right. I’m on your side here, really.

  72. theuni commented at 4:23 pm on August 18, 2022: member

    @ryanofsky as for partial/incremental support of CMake, I suppose my hesitation (which I should’ve made more clear) is that neither a (partial) build-system switch or a long-term feature merge happen overnight, nor in a vacuum. Realistically they’ll overlap. It’s easy to say “just use CMake for the new stuff”, but for long-lived projects, that unfortunately will mean supporting both (or one awkwardly) during the dev/work/comment/merge periods.

    For the CMake buildsystem to become supported for release, I would expect that to take no less than 6months to a year. Maybe I’m over-estimating, but that’s exactly what I’m trying to flesh out here. When I alluded to the 90%/10% work above, that’s what I was getting at. Getting to the point where the binaries build is one milestone, but getting to the point where we have that process fully integrated and we’re ready to ship those deterministic/hardened/etc. binaries with all tests passing and happy downstreams is another. It’s doable and we SHOULD do it, but it will take time and process and people-power. And during that time, it will be an extra burden for long-lived projects.

  73. hebasto commented at 4:29 pm on August 18, 2022: member

    @theuni

    I’d be happy to take another look at this if/when there’s a … feature matrix attached.

    Is the following table a move in the right direction?

    Autotools – CMake Feature Parity Table

    Autotool-based build system (AT) features being listed according to the ./configure --help output.

    AT feature CM feature
    --enable-c++20 TBD
    --disable-wallet -DENABLE_WALLET
    --enable-usdt -DWITH_USDT
    --enable-upnp-default -DENABLE_UPNP_DEFAULT
    --enable-natpmp-default -DENABLE_NATPMP_DEFAULT
    --disable-tests TBD
    --disable-gui-tests TBD
    --disable-bench TBD
    --enable-extended-functional-tests TBD
    --enable-fuzz TBD
    --enable-fuzz-binary TBD
    --disable-hardening -DCMAKE_BUILD_TYPE=RelHardened
    --enable-reduce-exports -DREDUCE_EXPORTS
    --disable-ccache -DUSE_CCACHE
    --enable-suppress-external-warnings TBD
    --enable-lcov TBD
    --enable-lcov-branch-coverage TBD
    --enable-threadlocal TBD
    --disable-asm TBD
    --disable-zmq -DWITH_ZMQ
    --enable-multiprocess TBD
    --disable-man TBD
    --enable-debug TBD
    --enable-gprof TBD
    --enable-werror TBD
    --enable-external-signer -DWITH_EXTERNAL_SIGNER
    --enable-lto TBD
    --enable-util-cli -DBUILD_CLI
    --enable-util-tx -DBUILD_TX
    --enable-util-wallet -DBUILD_WALLET_TOOL
    --enable-util-util -DBUILD_UTIL
    --enable-experimental-util-chainstate TBD
    --with-seccomp -DWITH_SECCOMP
    --with-sqlite -DWITH_SQLITE
    --without-bdb -DWITH_BDB
    --with-miniupnpc -DWITH_MINIUPNPC
    --with-natpmp -DWITH_NATPMP
    --with-qrencode -DWITH_QRENCODE
    --with-libmultiprocess TBD
    --with-mpgen TBD
    --with-sanitizers TBD
    --with-utils individual options
    --with-libs TBD
    --with-experimental-kernel-lib TBD
    --with-daemon -DBUILD_DAEMON
    --with-gui -DWITH_GUI
  74. theuni commented at 4:48 pm on August 18, 2022: member

    @hebasto Yes thanks, that’s a huge help! One other helpful set of features to add would be convenience targets used by release processes/ci/etc. There are lots, but make deploy and make check are the two most obvious that come to mind.

    Edit: s/release/deploy/

    Edit2: Also --enable-shared and --enable-static are biggies for the libs in that they add lots of build complexity.

  75. ryanofsky commented at 5:38 pm on August 18, 2022: contributor

    @ryanofsky Please re-read my comments and please don’t twist my words. Nowhere to I advocate for autotools. I hate it. it’s dated and awful. In each comment I’ve advocated FOR CMake. I use, like, and prefer it.

    Sorry, it’s a really bad thing to misrepresent someone’s position and I was not trying to do that. I wasn’t trying to say you personally prefer autotools, just that, as I see it, the bitcoin core project is unproductively stuck clinging to autotools, and costs of adding cmake support should be small as long as we (1) choose one build system to use for official releases (2) allow each build system to have different features for other development and don’t insist on parity

  76. theuni commented at 5:53 pm on August 18, 2022: member

    Sorry, it’s a really bad thing to misrepresent someone’s position and I was not trying to do that. I wasn’t trying to say you personally prefer autotools, just that, as I see it, the bitcoin core project is unproductively stuck clinging to autotools, and costs of adding cmake support should be small as long as we (1) choose one build system to use for official releases (2) allow each build system to have different features for other development and don’t insist on parity

    Thanks. And it’s understandable that I’m pretty much synonymous with autotools around here, since I did that to us.

    Agree to disagree on 2), as I believe problems with this approach will expose themselves as @hebasto plods on. But I’ll try to keep the discussion productive.

  77. theuni commented at 6:08 pm on August 18, 2022: member

    (2) allow each build system to have different features for other development and don’t insist on parity

    More specifically, I don’t think that a flag-day switch-over would be the only way to do this. But maybe I’ve been misrepresenting your “some stuff here, some stuff there” approach as well. So maybe we should drill down some.

    I took your approach to mean something like (using a made-up but maybe realistic example): “CMake builds the release binaries, but autotools continues to handle the c-i for a while”. I think this would be a bad idea. I jumped to that conclusion because @hebasto mentioned hooking up the unit tests in a follow-up PR. I think that would be a very unwise approach.

    However, if (once the feature matrix is more built out) we can agree on a set of essentials (I would say release binaries, c-i, everyday dev features, not sure what else), then something like a feature-freeze for autotools and a promise to move over the remaining less critical features (for ex profiling, coverage, etc) over the course of a release cycle.. I could see that as realistic. So I guess that relies on a few things happening:

    • a minimum viable set of features being 100% complete, tested, and working with CMake
    • a clear direction of feature movement (away from frozen autotools to CMake)
    • a plan/promise to move the remaining features
    • a sunset plan for autotools

    Again, the absence of those things here is what leads me to believe that this work is jumping the gun. But instead of grumping, I should’ve just laid that out. Turns out it took some fighting for that to materialize for me. Thank you for your patience :)

  78. hebasto marked this as a draft on Aug 18, 2022
  79. hebasto commented at 8:12 pm on August 18, 2022: member
    Converted to a draft until achievement of essential features parity.
  80. hebasto force-pushed on Aug 19, 2022
  81. hebasto commented at 12:19 pm on August 19, 2022: member

    Updated e016b22e6c365194743f54a7111f44caf6051394 -> 99793951bb06819aa626f7813e7d6f0a26ebd205 (pr25797.09 -> pr25797.10):

    Any reason you’re not using -Werror for flag checks like we do in configure?

    Fixed. Actually, it is that file’s job, but it needs to be updated with the “argument unused during compilation” case.

    The build ultimately fails because -Werror is enabled for the crc32c build. Looks like we’ll need to turn off any flags we don’t want enabled by default (like -Werror) in the subproject CMake configurations.

    As the crc32c project modifies the CMAKE_CXX_FLAGS variable directly, it must be fixed within the project (a bad CMake practice case – global compiler flags instead of binding them to targets).

  82. theuni commented at 3:10 pm on August 26, 2022: member

    As the crc32c project modifies the CMAKE_CXX_FLAGS variable directly, it must be fixed within the project (a bad CMake practice case – global compiler flags instead of binding them to targets).

    Any reason not to PR a fix for this upstream?

  83. da2ce7 commented at 10:38 pm on August 28, 2022: none

    Interesting. Many open-source project have considered meson a very lightweight, effective, and well-maintained build system.

    Have you compared or contrasted CMake with Meson?

  84. hebasto commented at 10:40 pm on August 28, 2022: member

    @da2ce7

    Have you compared or contrasted CMake with Meson?

    From the PR description:

    CMake is the build system for Qt 6

  85. da2ce7 commented at 10:49 pm on August 28, 2022: none

    @da2ce7

    Have you compared or contrasted CMake with Meson?

    From the PR description:

    CMake is the build system for Qt 6

    I believe the QT module for meson supports Qt 6 also: https://github.com/mesonbuild/meson/blob/master/mesonbuild/modules/qt.py

    In many ways I think that the ideals of meson align closer than cmake for bitcoin. (light-weight, more auditable, and faster, while still being activity maintained and popular).

  86. luke-jr commented at 11:09 pm on August 28, 2022: member

    meson is annoying to me as a user (for other software). I have to re-patch it every release.

    But in any case, other build systems seem off-topic here. Suggest opening a new issue if you really want to push meson.

  87. eli-schwartz commented at 11:27 pm on August 28, 2022: none

    meson is annoying to me as a user (for other software). I have to re-patch it every release.

    Aside: Why would you need to patch any software “every release”? If you’re maintaining a private rolling patchset on top of Meson, shouldn’t this be contributed upstream?

  88. hebasto commented at 11:40 am on August 29, 2022: member

    As the crc32c project modifies the CMAKE_CXX_FLAGS variable directly, it must be fixed within the project (a bad CMake practice case – global compiler flags instead of binding them to targets).

    I was wrong. We can override the -Werror option in the CMAKE_CXX_FLAGS variable, which is local in the crc32c directory scope, with the -Wno-error option in the COMPILE_OPTIONS property of the crc32c directory. @theuni

    Any reason not to PR a fix for this upstream?

    A patch doesn’t look to be trivial as the CMAKE_CXX_FLAGS variable does affect the following check_cxx_compiler_flag commands.

  89. hebasto force-pushed on Aug 29, 2022
  90. hebasto commented at 10:30 pm on August 29, 2022: member

    Updated 99793951bb06819aa626f7813e7d6f0a26ebd205 -> 943e5ceeaaba706560cfbd23023e7cd8be151d6f (pr25797.10 -> pr25797.11):

    • rebased
    • added draft implementation for test_bitcoin executable
    • a few other improvements
  91. hebasto force-pushed on Aug 30, 2022
  92. hebasto commented at 1:41 pm on August 30, 2022: member

    Updated 943e5ceeaaba706560cfbd23023e7cd8be151d6f -> 24dc55b03ce11cc5a51d4973993058bb7b77ae9f (pr25797.11 -> pr25797.12):

    • rebased
    • added the check target, use as usually – make check
    • fixed linter errors

    The PR description has been updated.

  93. hebasto commented at 1:50 pm on August 30, 2022: member

    I’m assuming that unit-test build support with CMake is still under construction?

    It is, but not as a part of this PR. My intention is to keep the latter more or less digestible for reviewers.

    Could you please advise how we can review this without simply testing it on each platform? @theStack @theuni

    The make check has been implemented now :tiger2:

  94. hebasto force-pushed on Aug 30, 2022
  95. hebasto commented at 6:59 pm on August 30, 2022: member

    Updated 24dc55b03ce11cc5a51d4973993058bb7b77ae9f -> efe98def733c39e18dc2b0032787fe6dda503ab5 (pr25797.12 -> pr25797.13):

    • rebased on top of the recent changes in the build system
    • fixed linking on macOS
  96. hebasto commented at 7:01 pm on August 30, 2022: member

    @adam2k

    Although, I am running into errors during the second step in the process when I get to the Linking CXX executable bitcoin-qt.

    Thank you for testing! Linking on macOS should be fixed now.

  97. in cmake/optional.cmake:81 in efe98def73 outdated
    76+        if(ALLOW_INCOMPATIBLE_BDB)
    77+          message(WARNING "BDB (legacy) wallets opened by this build will not be portable!")
    78+        else()
    79+          message(WARNING "BDB (legacy) wallets opened by this build would not be portable!\n"
    80+                          "If this is intended, pass \"-DALLOW_INCOMPATIBLE_BDB=ON\".\n"
    81+                          "Passing \"-DWITH_BDB=no\" will suppress this warning.\n")
    


    vasild commented at 3:46 pm on August 31, 2022:

    Is the only difference in the text of the warning message, if ALLOW_INCOMPATIBLE_BDB is defined or not? I would expect the build to fail if bdb 5.3 is found and ALLOW_INCOMPATIBLE_BDB is not defined. Also, the warnings look a bit too alarming in the cmake output, especially given that I have specified -DALLOW_INCOMPATIBLE_BDB=ON. Consider the below or feel free to ignore:

     0--- i/cmake/optional.cmake
     1+++ w/cmake/optional.cmake
     2@@ -69,19 +69,19 @@ if(ENABLE_WALLET)
     3   if(NOT WITH_BDB STREQUAL "no")
     4     find_package(BerkeleyDB 4.8)
     5     if(BerkeleyDB_FOUND)
     6       set(WITH_BDB yes)
     7       set(USE_BDB ON)
     8       if(NOT BerkeleyDB_VERSION VERSION_EQUAL 4.8)
     9-        message(WARNING "Found Berkeley DB (BDB) other than 4.8.")
    10+        message(STATUS "Found Berkeley DB (BDB) other than 4.8.")
    11         if(ALLOW_INCOMPATIBLE_BDB)
    12-          message(WARNING "BDB (legacy) wallets opened by this build will not be portable!")
    13+          message(STATUS "BDB (legacy) wallets opened by this build will not be portable!")
    14         else()
    15-          message(WARNING "BDB (legacy) wallets opened by this build would not be portable!\n"
    16+          message(FATAL_ERROR "BDB (legacy) wallets opened by this build would not be portable!\n"
    17                           "If this is intended, pass \"-DALLOW_INCOMPATIBLE_BDB=ON\".\n"
    18-                          "Passing \"-DWITH_BDB=no\" will suppress this warning.\n")
    19+                          "Passing \"-DWITH_BDB=no\" will suppress this check.\n")
    20         endif()
    21       endif()
    

    hebasto commented at 10:12 am on September 1, 2022:

    There is a rough consensus among build system people here that the new CMake-based system should follow the current Autotools-based one as close as possible.

    These lines follow https://github.com/bitcoin/bitcoin/blob/fa5c224d444802dabec5841009e029b9754c92f1/build-aux/m4/bitcoin_find_bdb48.m4#L56-L66

    which was recently updated in #23168.

  98. adam2k commented at 8:16 pm on August 31, 2022: none

    Thanks for the fix @hebasto!

    Approach ACK efe98def733c39e18dc2b0032787fe6dda503ab5

    I don’t have as much background as others commenting here, so take my ACK as QA on the build and run process on an M1 Mac.

    0Hardware Overview:
    1
    2  Model Name:	MacBook Pro
    3  Model Identifier:	MacBookPro18,3
    4  Chip:	Apple M1 Pro
    5  Total Number of Cores:	8 (6 performance and 2 efficiency)
    6  Memory:	32 GB
    
     0$ make
     1...
     2[ 78%] Built target bitcoinqt
     3[ 78%] Automatic MOC and UIC for target bitcoin-qt
     4[ 78%] Built target bitcoin-qt_autogen
     5[ 78%] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
     6[ 78%] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
     7[ 78%] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/__/init/bitcoin-qt.cpp.o
     8[ 79%] Linking CXX executable bitcoin-qt
     9[ 79%] Built target bitcoin-qt
    10...
    11[100%] Linking CXX executable test_bitcoin
    12[100%] Built target test_bitcoin
    
    0$ make check
    1...
    2108/108 Test [#105](/bitcoin-bitcoin/105/): wallet_tests:../wallet/test/wallet_tests.cpp ................................   Passed   12.83 sec
    3
    4100% tests passed, 0 tests failed out of 108
    5
    6Total Test time (real) =  18.36 sec
    7[100%] Built target check
    
  99. hebasto force-pushed on Sep 1, 2022
  100. hebasto commented at 3:36 pm on September 1, 2022: member

    Updated efe98def733c39e18dc2b0032787fe6dda503ab5 -> 10c404eb22d48cf7472ecde6571e276ecb0b3975 (pr25797.13 -> pr25797.14):

    • added the WERROR option
    • fixed BDB search on FreeBSD (thanks to @vasild for reporting this issue on IRC and working on a fix)
    • other improvements and fixes
  101. hebasto force-pushed on Sep 20, 2022
  102. hebasto commented at 9:21 pm on September 20, 2022: member

    Updated 10c404eb22d48cf7472ecde6571e276ecb0b3975 -> f4908a81baf9db9d4b1239856901743bb5a7404e (pr25797.14 -> pr25797.15):

    • added the CXX20 option
    • use -DCMAKE_BUILD_TYPE=Debug as Autotools’s --enable-debug
    • other improvements and fixes

    The PR description has been amended with an example of cross-building for Windows with DEBUG=1 which is broken in Autotools-based build system.

  103. hebasto force-pushed on Sep 24, 2022
  104. hebasto commented at 8:58 pm on September 24, 2022: member

    Updated f4908a81baf9db9d4b1239856901743bb5a7404e -> e518752dde040626e8833124107210a980c713fb (pr25797.15 -> pr25797.16):

    • added the BUILD_BENCH option
    • added the INSTALL_MAN option
  105. hebasto force-pushed on Sep 25, 2022
  106. hebasto commented at 8:55 pm on September 25, 2022: member

    Updated e518752dde040626e8833124107210a980c713fb -> c2c5553c2e02e75be0a87e4522329b792cf23a25 (pr25797.16 -> pr25797.17):

    • added the BUILD_SHARED option
    • added the BUILD_STATIC option
    • added the BUILD_UTIL_CHAINSTATE option @theuni @TheCharlatan Your feedback regarding the recent updates will be much appreciated.
  107. hebasto force-pushed on Sep 27, 2022
  108. hebasto commented at 3:35 pm on September 27, 2022: member

    Updated c2c5553c2e02e75be0a87e4522329b792cf23a25 -> b08c83db15e5fc2cfe1d075854b6cb481432f1d3 (pr25797.17 -> pr25797.18).

    Building of libbitcoinconsensus and libbitcoinkernel now works for any reasonable configuration, including shared and/or static, native for Linux, macOS, Windows or cross-building.

    Also an issue, which was similar to #25947, has been fixed.

  109. hebasto force-pushed on Oct 1, 2022
  110. hebasto force-pushed on Oct 2, 2022
  111. DrahtBot added the label Needs rebase on Oct 3, 2022
  112. hebasto force-pushed on Oct 5, 2022
  113. DrahtBot removed the label Needs rebase on Oct 5, 2022
  114. hebasto force-pushed on Oct 11, 2022
  115. hebasto commented at 8:42 am on October 12, 2022: member

    Updated b4ffc79603c73a73df0fc734e2825450920de929 -> 43c9e77b6c158874831aba61e2861060137a209e (pr25797.20 -> pr25797.21):

    • rebased
    • the “Win64 native [vs2022]” CI task converted to CMake (cc @sipsorcery)
  116. DrahtBot added the label Needs rebase on Oct 13, 2022
  117. hebasto force-pushed on Oct 19, 2022
  118. hebasto commented at 9:04 am on October 19, 2022: member
    Rebased 43c9e77b6c158874831aba61e2861060137a209e -> 8a1fd1984100911ddfc16175a66ca45cac36de32 (pr25797.21 -> pr25797.22).
  119. DrahtBot removed the label Needs rebase on Oct 19, 2022
  120. hebasto force-pushed on Oct 23, 2022
  121. hebasto commented at 9:51 am on October 23, 2022: member

    Updated 8a1fd1984100911ddfc16175a66ca45cac36de32 -> 14c3cd04db7168478cbbd0294d3de8c892c67b45 (pr25797.22 -> pr25797.23):

    • rebased
    • bugfixes
    • improvements
  122. hebasto force-pushed on Oct 23, 2022
  123. hebasto force-pushed on Oct 31, 2022
  124. hebasto commented at 11:45 am on October 31, 2022: member

    Updated d6c6114845d9199e9e4cf56e5d2a4a5103034c14 -> d4965750cb24a853d19114799babafb72676f8e2 (pr25797.24 -> pr25797.25):

    • rebased
    • bugfixes
    • improvements
  125. fanquake referenced this in commit d08b63baa0 on Nov 1, 2022
  126. hebasto force-pushed on Nov 1, 2022
  127. hebasto commented at 8:48 am on November 1, 2022: member
    Rebased d4965750cb24a853d19114799babafb72676f8e2 -> fdaea87660acdf5d76182f313a7add5ea0b2fd98 (pr25797.25 -> pr25797.26) on top of the #26373 to make the test/lint/git-subtree-check.sh lint script happy.
  128. sidhujag referenced this in commit 0d85218568 on Nov 1, 2022
  129. hebasto force-pushed on Nov 3, 2022
  130. hebasto force-pushed on Nov 3, 2022
  131. hebasto commented at 6:09 pm on November 3, 2022: member

    Updated fdaea87660acdf5d76182f313a7add5ea0b2fd98 -> db8632f872b73d42aa1b2c73ecf2647b9f3c4df0 (pr25797.26 -> pr25797.27):

    • rebased
    • fixed CMake 3.10 compatibility issues

    Guix builds for all Linux hosts are available now.

  132. hebasto force-pushed on Nov 8, 2022
  133. hebasto commented at 2:39 pm on November 8, 2022: member

    Guix builds on x86_64:

     0c58be75a724bd60c56d8a1b0480ff596b29430e4b5b55e901eb787c1809b040d  guix-build-2d258107b571/output/aarch64-linux-gnu/SHA256SUMS.part
     14900d846afb99419c7e43940fc0fde830cde42fea23f4dac68dbb3e280d397b3  guix-build-2d258107b571/output/aarch64-linux-gnu/bitcoin-2d258107b571-aarch64-linux-gnu-debug.tar.gz
     261c5b5a95e6fbce0bfbc49cdd4cf5b64992fb2307531fe16f313da39d0e780de  guix-build-2d258107b571/output/aarch64-linux-gnu/bitcoin-2d258107b571-aarch64-linux-gnu.tar.gz
     3e13d1450756b56d094a948c8939f0657f3ee1ac688d3c3914afcbd192a843ec9  guix-build-2d258107b571/output/arm-linux-gnueabihf/SHA256SUMS.part
     49b42766eedeef981e40be5d8d568ba02c84b3b238a532f6ce587ea6f129b3e8a  guix-build-2d258107b571/output/arm-linux-gnueabihf/bitcoin-2d258107b571-arm-linux-gnueabihf-debug.tar.gz
     508ec85b271da0f9635af02bfc058e77096ba9092137068955e8e2d3f4542b8a2  guix-build-2d258107b571/output/arm-linux-gnueabihf/bitcoin-2d258107b571-arm-linux-gnueabihf.tar.gz
     65a9bb233e3f36514bf7688db2e21656bb93e239dd251553aa144f47c31138d08  guix-build-2d258107b571/output/arm64-apple-darwin/SHA256SUMS.part
     7f183ff9670aad8584268c8d941dfd9259b0329a1b5793cf324c6908266fcf05a  guix-build-2d258107b571/output/arm64-apple-darwin/bitcoin-2d258107b571-arm64-apple-darwin-unsigned.dmg
     847e5caaab3d7f46a85f6beaa90f3b3c9b7f709499462f014664236a18ea9b108  guix-build-2d258107b571/output/arm64-apple-darwin/bitcoin-2d258107b571-arm64-apple-darwin-unsigned.tar.gz
     9cbc92e630d47c5d3ef47de7b0e03f74257ee9c2b37505e64f9a6a15c8899499d  guix-build-2d258107b571/output/arm64-apple-darwin/bitcoin-2d258107b571-arm64-apple-darwin.tar.gz
    1077e7d0cfceb99540e6edc4a0a33e4b347a0873c636be0a2388d0fd25f189d8ba  guix-build-2d258107b571/output/dist-archive/bitcoin-2d258107b571.tar.gz
    11bb320880d72f23f68d6a81cb73179b4e39330c9413e7c7712b5421ec5e63c889  guix-build-2d258107b571/output/powerpc64-linux-gnu/SHA256SUMS.part
    124b82844ff411fc91ec90efec91d44cadd3683fb082f623aa2bc05b4226f4042a  guix-build-2d258107b571/output/powerpc64-linux-gnu/bitcoin-2d258107b571-powerpc64-linux-gnu-debug.tar.gz
    133b8077f819ad6368a7bad5a77a9b5df65acbe6b9ef981d8fd9317522c693dc99  guix-build-2d258107b571/output/powerpc64-linux-gnu/bitcoin-2d258107b571-powerpc64-linux-gnu.tar.gz
    145851b4127ad6c898bd817e20d1ed82e425bd8944db8a9325426790511ec3ddfe  guix-build-2d258107b571/output/powerpc64le-linux-gnu/SHA256SUMS.part
    1548e0f599217a850e300efa4a623817ea9eb4ed6126be69c64944d2244159b42e  guix-build-2d258107b571/output/powerpc64le-linux-gnu/bitcoin-2d258107b571-powerpc64le-linux-gnu-debug.tar.gz
    16cfd05fe5358b816c4b841c67d39376b6d57ce9dfad3a28f3470e88f149598378  guix-build-2d258107b571/output/powerpc64le-linux-gnu/bitcoin-2d258107b571-powerpc64le-linux-gnu.tar.gz
    17d5f59ee98e32afeefad09e49103913ffe0a084837fac6be037e244590c988e03  guix-build-2d258107b571/output/riscv64-linux-gnu/SHA256SUMS.part
    186a3f61ba145b245fd49478efeae247c401f12554aed6ac07df618dc1d1b38468  guix-build-2d258107b571/output/riscv64-linux-gnu/bitcoin-2d258107b571-riscv64-linux-gnu-debug.tar.gz
    199308468239e3915a43347011fe4bf56382c84093b42a9443acdba33352b5453f  guix-build-2d258107b571/output/riscv64-linux-gnu/bitcoin-2d258107b571-riscv64-linux-gnu.tar.gz
    20e819271d918e9df8cb99188123ff7476674b60eed363c8a0b90df7ddca4e072e  guix-build-2d258107b571/output/x86_64-apple-darwin/SHA256SUMS.part
    2117e103e6844629b70a57894ada0b49a7c296ac868a0bb4969535135e573899c7  guix-build-2d258107b571/output/x86_64-apple-darwin/bitcoin-2d258107b571-x86_64-apple-darwin-unsigned.dmg
    22e3a3c09e8b1ea70aede28a12c6c945c03a98712a148c73ff8cd0a487ed9ee095  guix-build-2d258107b571/output/x86_64-apple-darwin/bitcoin-2d258107b571-x86_64-apple-darwin-unsigned.tar.gz
    23812fcd5a02bc5b18c8a10724393e20d9256597ac6eb5f2f4869933ef0a2370a4  guix-build-2d258107b571/output/x86_64-apple-darwin/bitcoin-2d258107b571-x86_64-apple-darwin.tar.gz
    24415679743fd23edea683ae407c8f4e4b888c11128062cf3b580a9488653976aa  guix-build-2d258107b571/output/x86_64-linux-gnu/SHA256SUMS.part
    252d12a909dd88ffb27464f9c58cf8e0e4cc7411740c437f59b564e311d68e9141  guix-build-2d258107b571/output/x86_64-linux-gnu/bitcoin-2d258107b571-x86_64-linux-gnu-debug.tar.gz
    267cb247a192cf057d39e336657f8b9a4a190ef492acfc5f55a00c319fa7781b68  guix-build-2d258107b571/output/x86_64-linux-gnu/bitcoin-2d258107b571-x86_64-linux-gnu.tar.gz
    27074fad654665bece50efe8ceca8dfc044ececb3189bf56d1d07ac50d5b3699b6  guix-build-2d258107b571/output/x86_64-w64-mingw32/SHA256SUMS.part
    280cfa618db540b54799c7c0f5c19ebf51d6d1d6dddda552099f936ad49b5f4ebd  guix-build-2d258107b571/output/x86_64-w64-mingw32/bitcoin-2d258107b571-win64-debug.zip
    2957360aec700e67dc1993669008b29267916fb9986f2157a9c3aade46c134c50e  guix-build-2d258107b571/output/x86_64-w64-mingw32/bitcoin-2d258107b571-win64-setup-unsigned.exe
    30658ecc8f096ca2336ebf42b5898b7605bec77196191578daa38a56cd491fe2ca  guix-build-2d258107b571/output/x86_64-w64-mingw32/bitcoin-2d258107b571-win64-unsigned.tar.gz
    31d1df5ff7cd47f4baf7c6846229ad1fc24849742831916d4e7bc5c6b80a812626  guix-build-2d258107b571/output/x86_64-w64-mingw32/bitcoin-2d258107b571-win64.zip
    
  134. maflcko added the label DrahtBot Guix build requested on Nov 8, 2022
  135. maflcko referenced this in commit 44ca5d5e87 on Nov 9, 2022
  136. sidhujag referenced this in commit 9296034a34 on Nov 9, 2022
  137. hebasto force-pushed on Nov 9, 2022
  138. hebasto force-pushed on Nov 9, 2022
  139. hebasto force-pushed on Nov 10, 2022
  140. hebasto force-pushed on Nov 11, 2022
  141. hebasto force-pushed on Nov 11, 2022
  142. hebasto force-pushed on Nov 11, 2022
  143. hebasto commented at 10:06 pm on November 11, 2022: member

    Updated (pr25797.33):

  144. hebasto force-pushed on Nov 12, 2022
  145. hebasto commented at 1:48 pm on November 12, 2022: member

    Guix builds:

     052832f54f426c0cf5af8de29c721c97bb4719822e1ad15c13bba19c3e27eecbf  guix-build-22ca7396ce14/output/aarch64-linux-gnu/SHA256SUMS.part
     1b688f1943508b53a4ab9717b5602667b5fd0eaaa3f748b565553745ecb5e2a59  guix-build-22ca7396ce14/output/aarch64-linux-gnu/bitcoin-22ca7396ce14-aarch64-linux-gnu-debug.tar.gz
     2dc49db0237f1f4cd530aff692fd9216b418356f7ec78c646ed3b7d92a3f611f1  guix-build-22ca7396ce14/output/aarch64-linux-gnu/bitcoin-22ca7396ce14-aarch64-linux-gnu.tar.gz
     3eb1160121252cfa11d0c442a5361867383c865a2ae06e9bde7f74403eee87631  guix-build-22ca7396ce14/output/arm-linux-gnueabihf/SHA256SUMS.part
     4bc74674499eda7848939c419626f8060df49065b4c59867273b0e4de9771ff87  guix-build-22ca7396ce14/output/arm-linux-gnueabihf/bitcoin-22ca7396ce14-arm-linux-gnueabihf-debug.tar.gz
     51072d500c3bc3ac0eacbe83c480ad59f3bab9623104110775a2cae8add3b8b5b  guix-build-22ca7396ce14/output/arm-linux-gnueabihf/bitcoin-22ca7396ce14-arm-linux-gnueabihf.tar.gz
     631bb7fc6133b89f278467c4e013ebb4f2cdbd128be51c823f746166584faf9d5  guix-build-22ca7396ce14/output/arm64-apple-darwin/SHA256SUMS.part
     7957f06f3fc73e5511e7fdc359c5f3b54fc6a02dac2a30c54a17b54c3435d1b99  guix-build-22ca7396ce14/output/arm64-apple-darwin/bitcoin-22ca7396ce14-arm64-apple-darwin-unsigned.dmg
     8d1031ce7e0c5cf39d6ca714e0fc173a09cbee4d8f5b879a391829c265c73c054  guix-build-22ca7396ce14/output/arm64-apple-darwin/bitcoin-22ca7396ce14-arm64-apple-darwin-unsigned.tar.gz
     93f47536fc946828c83c873b7b3151a757ebab0d09236230b8fe21398202793a6  guix-build-22ca7396ce14/output/arm64-apple-darwin/bitcoin-22ca7396ce14-arm64-apple-darwin.tar.gz
    1024978bcaa13a6ec4cca2dbbf3171bbb1b0db562b84299ada6821ad628d366583  guix-build-22ca7396ce14/output/dist-archive/bitcoin-22ca7396ce14.tar.gz
    111c1ebde18fde86ecffe6d7637deca5443cf9491d7dc28b53d9aae2b28cbb0870  guix-build-22ca7396ce14/output/powerpc64-linux-gnu/SHA256SUMS.part
    12fb69f7374e32e2c9725df08251cd86564b5ee751b61d9b43630ef730ec451300  guix-build-22ca7396ce14/output/powerpc64-linux-gnu/bitcoin-22ca7396ce14-powerpc64-linux-gnu-debug.tar.gz
    13076664d13654653e0db1706a3624c01d5d23a4ab0490b5eacc5f6d050cd53cb5  guix-build-22ca7396ce14/output/powerpc64-linux-gnu/bitcoin-22ca7396ce14-powerpc64-linux-gnu.tar.gz
    1421ee21c5bf45fe32373615682a3da6a196530ef5af9f6627dee653bfc81e9975  guix-build-22ca7396ce14/output/powerpc64le-linux-gnu/SHA256SUMS.part
    15361a811774b669f7157c6cd55c9ac821f8b93aff10348dc93ef8e284705b7e99  guix-build-22ca7396ce14/output/powerpc64le-linux-gnu/bitcoin-22ca7396ce14-powerpc64le-linux-gnu-debug.tar.gz
    16b9c6688e1eca7b845205d46614828e03115f5116aeb0da9fbad4964eaf0a089f  guix-build-22ca7396ce14/output/powerpc64le-linux-gnu/bitcoin-22ca7396ce14-powerpc64le-linux-gnu.tar.gz
    17b105397484b320d719153e3d8901deac54a94fb212391fc673427e1ba4392e5a  guix-build-22ca7396ce14/output/riscv64-linux-gnu/SHA256SUMS.part
    18c83aea30a43de251f41c762cdc74a742f4ccf4872e9ec90b1128e6b22d543342  guix-build-22ca7396ce14/output/riscv64-linux-gnu/bitcoin-22ca7396ce14-riscv64-linux-gnu-debug.tar.gz
    199c7fbc84c2fe1a13b9a8513518ef2cf7619cb0d955c2e608dea54a24996a77ff  guix-build-22ca7396ce14/output/riscv64-linux-gnu/bitcoin-22ca7396ce14-riscv64-linux-gnu.tar.gz
    20e6468e171b4565276f49540e83e632c4610251f9ff2aac99259b630465d38c19  guix-build-22ca7396ce14/output/x86_64-apple-darwin/SHA256SUMS.part
    2168f8f7b7c1faa68ee0c3e16e5d981efb898c0c47139e4b13cddbb037f59f5da8  guix-build-22ca7396ce14/output/x86_64-apple-darwin/bitcoin-22ca7396ce14-x86_64-apple-darwin-unsigned.dmg
    22fe23d0ab05b060438f68245b3e9094746bffa82e3aca6b49784b6b4f9b58f3e9  guix-build-22ca7396ce14/output/x86_64-apple-darwin/bitcoin-22ca7396ce14-x86_64-apple-darwin-unsigned.tar.gz
    23a09de4ecf300c4597f4f57e61a70197fa739f2bffb2511f6e6f0cca04b8ba778  guix-build-22ca7396ce14/output/x86_64-apple-darwin/bitcoin-22ca7396ce14-x86_64-apple-darwin.tar.gz
    24f8bfa10c142fbe13984c70c6f6ccc8072ae51d967d6d7d05f74e5eaad3e92527  guix-build-22ca7396ce14/output/x86_64-linux-gnu/SHA256SUMS.part
    25639ed8090d8c0fe41ba9e0fd9f01ad811fa0935ff03f5adb542d3beca5083610  guix-build-22ca7396ce14/output/x86_64-linux-gnu/bitcoin-22ca7396ce14-x86_64-linux-gnu-debug.tar.gz
    260c198c0fd19f5b2ba8e6796148389d9a82399ce60ad99e6ee471696db40bc473  guix-build-22ca7396ce14/output/x86_64-linux-gnu/bitcoin-22ca7396ce14-x86_64-linux-gnu.tar.gz
    273acef415941b8c9ed25e24a7687e3c1de26521e5cb9e13ecc66659e81502bf90  guix-build-22ca7396ce14/output/x86_64-w64-mingw32/SHA256SUMS.part
    286be35017e1ccce2ec006f3ce1dbb5510837e3b2c875efb9f42340db742fc0a80  guix-build-22ca7396ce14/output/x86_64-w64-mingw32/bitcoin-22ca7396ce14-win64-debug.zip
    298a81fcbdc679025f24565156501f0f3e521d7baa88c216bf1a20751b8a906516  guix-build-22ca7396ce14/output/x86_64-w64-mingw32/bitcoin-22ca7396ce14-win64-setup-unsigned.exe
    305ecba9102b88bcb863830b111392ef28063fc69248bb40e798755e250fcd3649  guix-build-22ca7396ce14/output/x86_64-w64-mingw32/bitcoin-22ca7396ce14-win64-unsigned.tar.gz
    31351d98273b73a8548b736347adcf8774cfe78c258309f64ff2417e7c2fe0ff1f  guix-build-22ca7396ce14/output/x86_64-w64-mingw32/bitcoin-22ca7396ce14-win64.zip
    
  146. hebasto force-pushed on Nov 13, 2022
  147. hebasto commented at 8:57 pm on November 13, 2022: member

    Updated 22ca7396ce1407b47f6ece5167f95c50509475ab -> f7ed9f9398c6a587018faa16af86bb48c3150dc6 (pr25797.34 -> pr25797.35):

    Guix builds:

     0cadfa7b74983799b45dac13ab6e3737634ae7f2417f88c1c24578b1bab7ba328  guix-build-f7ed9f9398c6/output/aarch64-linux-gnu/SHA256SUMS.part
     1fa969c0908b4cb81b79fa919d5502446976a8cca21b6ced56b99b05d39c1fd2d  guix-build-f7ed9f9398c6/output/aarch64-linux-gnu/bitcoin-f7ed9f9398c6-aarch64-linux-gnu-debug.tar.gz
     20f6902081fdc6c57a41581c81719eb54a18f036bdb8761c6db6ab146709ac9f5  guix-build-f7ed9f9398c6/output/aarch64-linux-gnu/bitcoin-f7ed9f9398c6-aarch64-linux-gnu.tar.gz
     349bdd3992d93207fd5b5ea9cda8d5dc3fceb65817ce61f89031814de56b705eb  guix-build-f7ed9f9398c6/output/arm-linux-gnueabihf/SHA256SUMS.part
     425d895ffe694368800ffe13e210f48446d04e28ae4451f7191bfedc79fd9ac2e  guix-build-f7ed9f9398c6/output/arm-linux-gnueabihf/bitcoin-f7ed9f9398c6-arm-linux-gnueabihf-debug.tar.gz
     597ddc3125ead3b652e798b4b45ac2fa86f7325a01f5d42a6418f5c8cb530822e  guix-build-f7ed9f9398c6/output/arm-linux-gnueabihf/bitcoin-f7ed9f9398c6-arm-linux-gnueabihf.tar.gz
     621ee91cc8eb48a9f1aca5c18ec93c5f03a99a942dcf09dd08accc128ceea2ad6  guix-build-f7ed9f9398c6/output/arm64-apple-darwin/SHA256SUMS.part
     718cc268dd33ffcd32585f53283bacb7171fc10641e3e26e1cd1f47b1f2db8406  guix-build-f7ed9f9398c6/output/arm64-apple-darwin/bitcoin-f7ed9f9398c6-arm64-apple-darwin-unsigned.dmg
     8bf63c940e6219160a973adfd7d1b28e3da801f4b520b67081c6d8ef89824f505  guix-build-f7ed9f9398c6/output/arm64-apple-darwin/bitcoin-f7ed9f9398c6-arm64-apple-darwin-unsigned.tar.gz
     976d6dbbf5c94abc0c2c6e0289ec8d61c22e28f8d46554bdc9820e679d65d3600  guix-build-f7ed9f9398c6/output/arm64-apple-darwin/bitcoin-f7ed9f9398c6-arm64-apple-darwin.tar.gz
    10d27ce78ad5ceb3b32173c37477d1d13d425fcd62c3d311682890a6c66fe6cd3b  guix-build-f7ed9f9398c6/output/dist-archive/bitcoin-f7ed9f9398c6.tar.gz
    116f50dc81f9355ee950258ab41f4699eb5832799106db372e3453033df5890438  guix-build-f7ed9f9398c6/output/powerpc64-linux-gnu/SHA256SUMS.part
    12d9eaf2acb164874fdd10482f4ed406e799779127164aa8bc3b7e7421449c0675  guix-build-f7ed9f9398c6/output/powerpc64-linux-gnu/bitcoin-f7ed9f9398c6-powerpc64-linux-gnu-debug.tar.gz
    13256ec2ff854c9245849d213dfcedcef42f0e5ffa32f166e6bfd79b20e4826b63  guix-build-f7ed9f9398c6/output/powerpc64-linux-gnu/bitcoin-f7ed9f9398c6-powerpc64-linux-gnu.tar.gz
    14aad9d8341121480484b234f4b388a4c012a1a17e3d37dae287d4731305257cdd  guix-build-f7ed9f9398c6/output/powerpc64le-linux-gnu/SHA256SUMS.part
    15f4db4e916b401e9c36d0716412dc97a6781322d21ffd4695258400650b9bf7b6  guix-build-f7ed9f9398c6/output/powerpc64le-linux-gnu/bitcoin-f7ed9f9398c6-powerpc64le-linux-gnu-debug.tar.gz
    16ede35d7e5edbf3e22a98bf1dc7e0b7d7c0cb2785be72725e0ff41c27484de413  guix-build-f7ed9f9398c6/output/powerpc64le-linux-gnu/bitcoin-f7ed9f9398c6-powerpc64le-linux-gnu.tar.gz
    17a98ed30e2b9664e17d644a61f0029320f43e10fa4a6427d274c2a3f590064f21  guix-build-f7ed9f9398c6/output/riscv64-linux-gnu/SHA256SUMS.part
    181bc0949f5df2981d542dfc66899c71bbd3675f0f32939ac0318724570e9dcfae  guix-build-f7ed9f9398c6/output/riscv64-linux-gnu/bitcoin-f7ed9f9398c6-riscv64-linux-gnu-debug.tar.gz
    193361a2c8813cac0060f66e6234741aca2183ce55d09d1b2edbfa60a71ac62b66  guix-build-f7ed9f9398c6/output/riscv64-linux-gnu/bitcoin-f7ed9f9398c6-riscv64-linux-gnu.tar.gz
    20a937ce1d200b6bc17399fede527a019619cebd955b05ccc106d4afa5aa556b96  guix-build-f7ed9f9398c6/output/x86_64-apple-darwin/SHA256SUMS.part
    2127fe9256c9a007e72d6e13ddf1dcf7a0bfb567d5b2f48dd1b165de7bcd263d82  guix-build-f7ed9f9398c6/output/x86_64-apple-darwin/bitcoin-f7ed9f9398c6-x86_64-apple-darwin-unsigned.dmg
    2266034f0ea1d5f686d3414a1afbc2bf9382bac3a5b9630b2b7c6567787cb10a06  guix-build-f7ed9f9398c6/output/x86_64-apple-darwin/bitcoin-f7ed9f9398c6-x86_64-apple-darwin-unsigned.tar.gz
    236059c3fc0da479313f14a1a4d7c36c31298c26c7c95f5bc5b657fcb5e9cb3b42  guix-build-f7ed9f9398c6/output/x86_64-apple-darwin/bitcoin-f7ed9f9398c6-x86_64-apple-darwin.tar.gz
    24abce2647002aefc89122f9a7ea2a43c2d247645e5c4f79b5af3ae02b32093ab3  guix-build-f7ed9f9398c6/output/x86_64-linux-gnu/SHA256SUMS.part
    25b154d572eb7685cdf68da707a34d68ebc99ae84fe1d72f0103252a777ac7c113  guix-build-f7ed9f9398c6/output/x86_64-linux-gnu/bitcoin-f7ed9f9398c6-x86_64-linux-gnu-debug.tar.gz
    2671acc448615b5cfe584363e8af658918188cb0de4cf1fb3f5c142a2f1e3b2882  guix-build-f7ed9f9398c6/output/x86_64-linux-gnu/bitcoin-f7ed9f9398c6-x86_64-linux-gnu.tar.gz
    270fd696057066c4c4f7917775c4fea3c98321842100f53328ecd25b049e2991c1  guix-build-f7ed9f9398c6/output/x86_64-w64-mingw32/SHA256SUMS.part
    28cc51d66f6ac3036e0fb83f1aeadea98894eb62c468370e2cb9cc3102be5ffff6  guix-build-f7ed9f9398c6/output/x86_64-w64-mingw32/bitcoin-f7ed9f9398c6-win64-debug.zip
    29111aa29051931e1911d87d5e26c5a85b1ac1721cce6d70ffd8bc9308f694b6a9  guix-build-f7ed9f9398c6/output/x86_64-w64-mingw32/bitcoin-f7ed9f9398c6-win64-setup-unsigned.exe
    3001e8039fab1597940113e22214789b2434fd783e8de58361f0d1505fd8f82ff7  guix-build-f7ed9f9398c6/output/x86_64-w64-mingw32/bitcoin-f7ed9f9398c6-win64-unsigned.tar.gz
    317a1470d41d8fe319d3be18cc339ed80696589c09c091d45d7e41294bdd56ddf6  guix-build-f7ed9f9398c6/output/x86_64-w64-mingw32/bitcoin-f7ed9f9398c6-win64.zip
    
  148. jarolrod commented at 2:58 am on November 15, 2022: member

    GUIX hashes

    x86:

     020f02048691ca60d9e4a7202cfc7607cbd16e616df81ccf346a8e09b91d94134  guix-build-219866feca50/output/aarch64-linux-gnu/SHA256SUMS.part
     173e722a001c303ca27762ceedffb53e092b22e3c5ff2130bc42cb9f42423433a  guix-build-219866feca50/output/aarch64-linux-gnu/bitcoin-219866feca50-aarch64-linux-gnu-debug.tar.gz
     2b35a5e5295469aa3e4a99faba16f32b4a236014f1048f2602c0ed118279aec9f  guix-build-219866feca50/output/aarch64-linux-gnu/bitcoin-219866feca50-aarch64-linux-gnu.tar.gz
     39edacfaefa0eacd629488ec24ee8c9225b1f3bfc11c1f4bb2cd918fb04c7ed01  guix-build-219866feca50/output/arm-linux-gnueabihf/SHA256SUMS.part
     43d83a9d4a6726ea0cd075d43d33924c844b5fec21e5b09136cd69eddcee61539  guix-build-219866feca50/output/arm-linux-gnueabihf/bitcoin-219866feca50-arm-linux-gnueabihf-debug.tar.gz
     51975b67418b7e8c353c3656af47a32640ba26257b60daaee2e03181f2e6bcf09  guix-build-219866feca50/output/arm-linux-gnueabihf/bitcoin-219866feca50-arm-linux-gnueabihf.tar.gz
     6982557aa54df13656f79514ff0b3407674c72f7712eaa77054b2d2179500f044  guix-build-219866feca50/output/arm64-apple-darwin/SHA256SUMS.part
     79ddf8d105ca71e8b2c6cb412ebc7096a8b73683196d582cf41829d4efd08970d  guix-build-219866feca50/output/arm64-apple-darwin/bitcoin-219866feca50-arm64-apple-darwin-unsigned.dmg
     869ce578e761179caa5c89b3b6904a18306c6a2a71ccae8cd8319b19b0e77433f  guix-build-219866feca50/output/arm64-apple-darwin/bitcoin-219866feca50-arm64-apple-darwin-unsigned.tar.gz
     95d5f45579f878deb83d9c1efc90dc731c385645d0d0741733aa7069219f17ee3  guix-build-219866feca50/output/arm64-apple-darwin/bitcoin-219866feca50-arm64-apple-darwin.tar.gz
    105ff1b74f04033cce9bd81381f22dad7cce6cdd6f9a904660df4bb972f0f90a64  guix-build-219866feca50/output/dist-archive/bitcoin-219866feca50.tar.gz
    117007509d189f6e72dcec499c21863ac971394b20895ef787c97ee7334c4f03a9  guix-build-219866feca50/output/powerpc64-linux-gnu/SHA256SUMS.part
    12da6bba4dadec94c67373daf3e1c8360ffc2c106c9b3ed745e4377ec24614001d  guix-build-219866feca50/output/powerpc64-linux-gnu/bitcoin-219866feca50-powerpc64-linux-gnu-debug.tar.gz
    136c2eddecb33dc1a8fce980c6093188be19ba8d4bbe7ea391bfd5655d884e9563  guix-build-219866feca50/output/powerpc64-linux-gnu/bitcoin-219866feca50-powerpc64-linux-gnu.tar.gz
    14edbe01931488033808ac143b8d0e5e908e600ba7adaa70762b5554ba8b2ddede  guix-build-219866feca50/output/powerpc64le-linux-gnu/SHA256SUMS.part
    1537028a694608ea5de486a25814adcafea371686a0eb6293f1afa6f8da37823a4  guix-build-219866feca50/output/powerpc64le-linux-gnu/bitcoin-219866feca50-powerpc64le-linux-gnu-debug.tar.gz
    166bf6896934a96cd3ed088822af1ab236ffb75d56ca3c1607edf313ff88d0636d  guix-build-219866feca50/output/powerpc64le-linux-gnu/bitcoin-219866feca50-powerpc64le-linux-gnu.tar.gz
    17b28d61a9be932b35b39e71651df787d132cf3a84b2057da037478dab9afa0d51  guix-build-219866feca50/output/riscv64-linux-gnu/SHA256SUMS.part
    18d7f8a8db3e6b663f2f16584e0ae3e053f53ac28ab9eb04421bed6c30e490a8dd  guix-build-219866feca50/output/riscv64-linux-gnu/bitcoin-219866feca50-riscv64-linux-gnu-debug.tar.gz
    19ab9fc807d237d7d3e3ba48af2f8907c669c6282bcd6dfda68523505976d093fc  guix-build-219866feca50/output/riscv64-linux-gnu/bitcoin-219866feca50-riscv64-linux-gnu.tar.gz
    20d583f668b9e81bc38b5a21121b0713337bd9ace9aeb32638cc8e1838e821c25d  guix-build-219866feca50/output/x86_64-apple-darwin/SHA256SUMS.part
    215582c5c7625d12165774ad2bf9e8b86bae6623870802e2b56f1b46daec46f03f  guix-build-219866feca50/output/x86_64-apple-darwin/bitcoin-219866feca50-x86_64-apple-darwin-unsigned.dmg
    224229782794fc915d65a29a7efc084246a46a31719e912e3d0d676e6ab21e5aed  guix-build-219866feca50/output/x86_64-apple-darwin/bitcoin-219866feca50-x86_64-apple-darwin-unsigned.tar.gz
    235eb722711acf9b0a7020c8291123c42f4c93bde0e075ce943493a36eb81567db  guix-build-219866feca50/output/x86_64-apple-darwin/bitcoin-219866feca50-x86_64-apple-darwin.tar.gz
    2479688f6bb82cbc68ce9e0a5f33d3cab5c4b6dc962255287005c4899890f67986  guix-build-219866feca50/output/x86_64-linux-gnu/SHA256SUMS.part
    2516c8f915c3387422e04be20f1161853721a607d7bf46e0cab0a944d927e1e7ab  guix-build-219866feca50/output/x86_64-linux-gnu/bitcoin-219866feca50-x86_64-linux-gnu-debug.tar.gz
    26e8ab83d38a7ffb261dadb6ba6216321569bc560e9f60f9468781e91fbdf8c4b5  guix-build-219866feca50/output/x86_64-linux-gnu/bitcoin-219866feca50-x86_64-linux-gnu.tar.gz
    27317c549a71c20766a632a19f7d555b05c40adb4ac9a63926524ec117227679c6  guix-build-219866feca50/output/x86_64-w64-mingw32/SHA256SUMS.part
    28da29a3e4895097e8c65e1c3eb5fb968c142d97a2c0024285c9cd9c9bf08cd407  guix-build-219866feca50/output/x86_64-w64-mingw32/bitcoin-219866feca50-win64-debug.zip
    29913dd6b18ee709131cb67d903beec86eb98b430f4632b2a423c25baffe6d363d  guix-build-219866feca50/output/x86_64-w64-mingw32/bitcoin-219866feca50-win64-setup-unsigned.exe
    3034dbeda2d684595de8a3b171ff79fc50d9287df9e153bd332a93cccfb4f1fe3c  guix-build-219866feca50/output/x86_64-w64-mingw32/bitcoin-219866feca50-win64-unsigned.tar.gz
    319e1d73e552eec44fde06d82b5eb72d7f077d68a826c6827f179ca6c25d66ad17  guix-build-219866feca50/output/x86_64-w64-mingw32/bitcoin-219866feca50-win64.zip
    

    arm64:

     020f02048691ca60d9e4a7202cfc7607cbd16e616df81ccf346a8e09b91d94134  guix-build-219866feca50/output/aarch64-linux-gnu/SHA256SUMS.part
     173e722a001c303ca27762ceedffb53e092b22e3c5ff2130bc42cb9f42423433a  guix-build-219866feca50/output/aarch64-linux-gnu/bitcoin-219866feca50-aarch64-linux-gnu-debug.tar.gz
     2b35a5e5295469aa3e4a99faba16f32b4a236014f1048f2602c0ed118279aec9f  guix-build-219866feca50/output/aarch64-linux-gnu/bitcoin-219866feca50-aarch64-linux-gnu.tar.gz
     39edacfaefa0eacd629488ec24ee8c9225b1f3bfc11c1f4bb2cd918fb04c7ed01  guix-build-219866feca50/output/arm-linux-gnueabihf/SHA256SUMS.part
     43d83a9d4a6726ea0cd075d43d33924c844b5fec21e5b09136cd69eddcee61539  guix-build-219866feca50/output/arm-linux-gnueabihf/bitcoin-219866feca50-arm-linux-gnueabihf-debug.tar.gz
     51975b67418b7e8c353c3656af47a32640ba26257b60daaee2e03181f2e6bcf09  guix-build-219866feca50/output/arm-linux-gnueabihf/bitcoin-219866feca50-arm-linux-gnueabihf.tar.gz
     6982557aa54df13656f79514ff0b3407674c72f7712eaa77054b2d2179500f044  guix-build-219866feca50/output/arm64-apple-darwin/SHA256SUMS.part
     79ddf8d105ca71e8b2c6cb412ebc7096a8b73683196d582cf41829d4efd08970d  guix-build-219866feca50/output/arm64-apple-darwin/bitcoin-219866feca50-arm64-apple-darwin-unsigned.dmg
     869ce578e761179caa5c89b3b6904a18306c6a2a71ccae8cd8319b19b0e77433f  guix-build-219866feca50/output/arm64-apple-darwin/bitcoin-219866feca50-arm64-apple-darwin-unsigned.tar.gz
     95d5f45579f878deb83d9c1efc90dc731c385645d0d0741733aa7069219f17ee3  guix-build-219866feca50/output/arm64-apple-darwin/bitcoin-219866feca50-arm64-apple-darwin.tar.gz
    105ff1b74f04033cce9bd81381f22dad7cce6cdd6f9a904660df4bb972f0f90a64  guix-build-219866feca50/output/dist-archive/bitcoin-219866feca50.tar.gz
    117007509d189f6e72dcec499c21863ac971394b20895ef787c97ee7334c4f03a9  guix-build-219866feca50/output/powerpc64-linux-gnu/SHA256SUMS.part
    12da6bba4dadec94c67373daf3e1c8360ffc2c106c9b3ed745e4377ec24614001d  guix-build-219866feca50/output/powerpc64-linux-gnu/bitcoin-219866feca50-powerpc64-linux-gnu-debug.tar.gz
    136c2eddecb33dc1a8fce980c6093188be19ba8d4bbe7ea391bfd5655d884e9563  guix-build-219866feca50/output/powerpc64-linux-gnu/bitcoin-219866feca50-powerpc64-linux-gnu.tar.gz
    14edbe01931488033808ac143b8d0e5e908e600ba7adaa70762b5554ba8b2ddede  guix-build-219866feca50/output/powerpc64le-linux-gnu/SHA256SUMS.part
    1537028a694608ea5de486a25814adcafea371686a0eb6293f1afa6f8da37823a4  guix-build-219866feca50/output/powerpc64le-linux-gnu/bitcoin-219866feca50-powerpc64le-linux-gnu-debug.tar.gz
    166bf6896934a96cd3ed088822af1ab236ffb75d56ca3c1607edf313ff88d0636d  guix-build-219866feca50/output/powerpc64le-linux-gnu/bitcoin-219866feca50-powerpc64le-linux-gnu.tar.gz
    17b28d61a9be932b35b39e71651df787d132cf3a84b2057da037478dab9afa0d51  guix-build-219866feca50/output/riscv64-linux-gnu/SHA256SUMS.part
    18d7f8a8db3e6b663f2f16584e0ae3e053f53ac28ab9eb04421bed6c30e490a8dd  guix-build-219866feca50/output/riscv64-linux-gnu/bitcoin-219866feca50-riscv64-linux-gnu-debug.tar.gz
    19ab9fc807d237d7d3e3ba48af2f8907c669c6282bcd6dfda68523505976d093fc  guix-build-219866feca50/output/riscv64-linux-gnu/bitcoin-219866feca50-riscv64-linux-gnu.tar.gz
    20d583f668b9e81bc38b5a21121b0713337bd9ace9aeb32638cc8e1838e821c25d  guix-build-219866feca50/output/x86_64-apple-darwin/SHA256SUMS.part
    215582c5c7625d12165774ad2bf9e8b86bae6623870802e2b56f1b46daec46f03f  guix-build-219866feca50/output/x86_64-apple-darwin/bitcoin-219866feca50-x86_64-apple-darwin-unsigned.dmg
    224229782794fc915d65a29a7efc084246a46a31719e912e3d0d676e6ab21e5aed  guix-build-219866feca50/output/x86_64-apple-darwin/bitcoin-219866feca50-x86_64-apple-darwin-unsigned.tar.gz
    235eb722711acf9b0a7020c8291123c42f4c93bde0e075ce943493a36eb81567db  guix-build-219866feca50/output/x86_64-apple-darwin/bitcoin-219866feca50-x86_64-apple-darwin.tar.gz
    2479688f6bb82cbc68ce9e0a5f33d3cab5c4b6dc962255287005c4899890f67986  guix-build-219866feca50/output/x86_64-linux-gnu/SHA256SUMS.part
    2516c8f915c3387422e04be20f1161853721a607d7bf46e0cab0a944d927e1e7ab  guix-build-219866feca50/output/x86_64-linux-gnu/bitcoin-219866feca50-x86_64-linux-gnu-debug.tar.gz
    26e8ab83d38a7ffb261dadb6ba6216321569bc560e9f60f9468781e91fbdf8c4b5  guix-build-219866feca50/output/x86_64-linux-gnu/bitcoin-219866feca50-x86_64-linux-gnu.tar.gz
    27317c549a71c20766a632a19f7d555b05c40adb4ac9a63926524ec117227679c6  guix-build-219866feca50/output/x86_64-w64-mingw32/SHA256SUMS.part
    28da29a3e4895097e8c65e1c3eb5fb968c142d97a2c0024285c9cd9c9bf08cd407  guix-build-219866feca50/output/x86_64-w64-mingw32/bitcoin-219866feca50-win64-debug.zip
    29913dd6b18ee709131cb67d903beec86eb98b430f4632b2a423c25baffe6d363d  guix-build-219866feca50/output/x86_64-w64-mingw32/bitcoin-219866feca50-win64-setup-unsigned.exe
    3034dbeda2d684595de8a3b171ff79fc50d9287df9e153bd332a93cccfb4f1fe3c  guix-build-219866feca50/output/x86_64-w64-mingw32/bitcoin-219866feca50-win64-unsigned.tar.gz
    319e1d73e552eec44fde06d82b5eb72d7f077d68a826c6827f179ca6c25d66ad17  guix-build-219866feca50/output/x86_64-w64-mingw32/bitcoin-219866feca50-win64.zip
    
  149. DrahtBot commented at 10:29 pm on November 17, 2022: contributor

    Guix builds

    File commit 82fe672ea078371cfa7a504cba87e52a782235fa(master) commit 8d2b589a2b22461d5031e0cfc80cd73835158ccd(master and this pull)
    SHA256SUMS.part b38f95d08b23616f... ba10ed64adedb83a...
    *-aarch64-linux-gnu-debug.tar.gz 9fa913450e29fc50... c32e47efad6e3420...
    *-aarch64-linux-gnu.tar.gz 260e9625075e4f19... 14c3b3d64e5b65bb...
    *-arm-linux-gnueabihf-debug.tar.gz 0bba99f7f5bec889... 0909cfc9eff7f479...
    *-arm-linux-gnueabihf.tar.gz fbf3a25ee9fc9e78... d1406926a4c2ed53...
    *-arm64-apple-darwin-unsigned.dmg 0bffc27fd303170b... 0f520318a7396437...
    *-arm64-apple-darwin-unsigned.tar.gz 433f72313857bbaf... 5d37af408e704fb4...
    *-arm64-apple-darwin.tar.gz 37b77895351f7522... 27e2076e71f51400...
    *-powerpc64-linux-gnu-debug.tar.gz 8a93308bb6fc5390... b8de829c361f9851...
    *-powerpc64-linux-gnu.tar.gz 5c12db2cb10b0e1b... f81b953612b70b4a...
    *-powerpc64le-linux-gnu-debug.tar.gz 169f2a89a43bdefc... 99132b8c994d2fbb...
    *-powerpc64le-linux-gnu.tar.gz 6ed11e729af32b1b... 64cdf4cb02f4c338...
    *-riscv64-linux-gnu-debug.tar.gz 3fff971d326647fa... b491fa1d3aafeeaa...
    *-riscv64-linux-gnu.tar.gz 23d9c5727d6cbcda... aa2227918d00d2b8...
    *-win64-debug.zip 900a6616c2cb833e... 4a7a47a510a9f85f...
    *-win64-setup-unsigned.exe e8fe580806aeb211... 18e423930fd72430...
    *-win64-unsigned.tar.gz 6d4cf146144b002c... cec5d1d704268791...
    *-win64.zip 90b2a0eacdf61f6c... ce3f65aca8016c9e...
    *-x86_64-apple-darwin-unsigned.dmg 1db55013b34b61d0... 6b1a3fa7804fba40...
    *-x86_64-apple-darwin-unsigned.tar.gz 52faa476c3df42ab... 12ef0f09feb05ce2...
    *-x86_64-apple-darwin.tar.gz 3bf6525ff9b6dc24... 7b6b64f5c9321e0a...
    *-x86_64-linux-gnu-debug.tar.gz 8a104738429e1a8f... 7d3a3f72eea40d45...
    *-x86_64-linux-gnu.tar.gz 37670b512a9f2c4e... d589d97ccdea8f29...
    *.tar.gz abc53833a9a002b4... f11828e42a0edd22...
    guix_build.log 5f09579d30fe2ea9... d1742a13aeac140e...
    guix_build.log.diff 13b1535f67b9424c...
  150. DrahtBot removed the label DrahtBot Guix build requested on Nov 17, 2022
  151. hebasto force-pushed on Nov 22, 2022
  152. hebasto commented at 4:37 pm on November 22, 2022: member

    Updated f7ed9f9398c6a587018faa16af86bb48c3150dc6 -> 6dfed1e708fa874870d9880d6348836577239223 (pr25797.35 -> pr25797.36):

    • rebased
    • fixed maxOS-specific minor bugs
    • improved multi-configuration handling for dependencies (MSVC)
  153. hebasto force-pushed on Nov 23, 2022
  154. hebasto force-pushed on Nov 23, 2022
  155. hebasto force-pushed on Nov 23, 2022
  156. hebasto force-pushed on Nov 23, 2022
  157. hebasto force-pushed on Nov 25, 2022
  158. hebasto force-pushed on Nov 25, 2022
  159. hebasto force-pushed on Nov 25, 2022
  160. RandyMcMillan commented at 5:37 pm on November 25, 2022: contributor
    concept ACK
  161. hebasto force-pushed on Nov 25, 2022
  162. hebasto commented at 8:11 pm on November 25, 2022: member

    Updated up to pr25797.39:

    Guix builds:

     020f02048691ca60d9e4a7202cfc7607cbd16e616df81ccf346a8e09b91d94134  guix-build-219866feca50/output/aarch64-linux-gnu/SHA256SUMS.part
     173e722a001c303ca27762ceedffb53e092b22e3c5ff2130bc42cb9f42423433a  guix-build-219866feca50/output/aarch64-linux-gnu/bitcoin-219866feca50-aarch64-linux-gnu-debug.tar.gz
     2b35a5e5295469aa3e4a99faba16f32b4a236014f1048f2602c0ed118279aec9f  guix-build-219866feca50/output/aarch64-linux-gnu/bitcoin-219866feca50-aarch64-linux-gnu.tar.gz
     39edacfaefa0eacd629488ec24ee8c9225b1f3bfc11c1f4bb2cd918fb04c7ed01  guix-build-219866feca50/output/arm-linux-gnueabihf/SHA256SUMS.part
     43d83a9d4a6726ea0cd075d43d33924c844b5fec21e5b09136cd69eddcee61539  guix-build-219866feca50/output/arm-linux-gnueabihf/bitcoin-219866feca50-arm-linux-gnueabihf-debug.tar.gz
     51975b67418b7e8c353c3656af47a32640ba26257b60daaee2e03181f2e6bcf09  guix-build-219866feca50/output/arm-linux-gnueabihf/bitcoin-219866feca50-arm-linux-gnueabihf.tar.gz
     6982557aa54df13656f79514ff0b3407674c72f7712eaa77054b2d2179500f044  guix-build-219866feca50/output/arm64-apple-darwin/SHA256SUMS.part
     79ddf8d105ca71e8b2c6cb412ebc7096a8b73683196d582cf41829d4efd08970d  guix-build-219866feca50/output/arm64-apple-darwin/bitcoin-219866feca50-arm64-apple-darwin-unsigned.dmg
     869ce578e761179caa5c89b3b6904a18306c6a2a71ccae8cd8319b19b0e77433f  guix-build-219866feca50/output/arm64-apple-darwin/bitcoin-219866feca50-arm64-apple-darwin-unsigned.tar.gz
     95d5f45579f878deb83d9c1efc90dc731c385645d0d0741733aa7069219f17ee3  guix-build-219866feca50/output/arm64-apple-darwin/bitcoin-219866feca50-arm64-apple-darwin.tar.gz
    105ff1b74f04033cce9bd81381f22dad7cce6cdd6f9a904660df4bb972f0f90a64  guix-build-219866feca50/output/dist-archive/bitcoin-219866feca50.tar.gz
    117007509d189f6e72dcec499c21863ac971394b20895ef787c97ee7334c4f03a9  guix-build-219866feca50/output/powerpc64-linux-gnu/SHA256SUMS.part
    12da6bba4dadec94c67373daf3e1c8360ffc2c106c9b3ed745e4377ec24614001d  guix-build-219866feca50/output/powerpc64-linux-gnu/bitcoin-219866feca50-powerpc64-linux-gnu-debug.tar.gz
    136c2eddecb33dc1a8fce980c6093188be19ba8d4bbe7ea391bfd5655d884e9563  guix-build-219866feca50/output/powerpc64-linux-gnu/bitcoin-219866feca50-powerpc64-linux-gnu.tar.gz
    14edbe01931488033808ac143b8d0e5e908e600ba7adaa70762b5554ba8b2ddede  guix-build-219866feca50/output/powerpc64le-linux-gnu/SHA256SUMS.part
    1537028a694608ea5de486a25814adcafea371686a0eb6293f1afa6f8da37823a4  guix-build-219866feca50/output/powerpc64le-linux-gnu/bitcoin-219866feca50-powerpc64le-linux-gnu-debug.tar.gz
    166bf6896934a96cd3ed088822af1ab236ffb75d56ca3c1607edf313ff88d0636d  guix-build-219866feca50/output/powerpc64le-linux-gnu/bitcoin-219866feca50-powerpc64le-linux-gnu.tar.gz
    17b28d61a9be932b35b39e71651df787d132cf3a84b2057da037478dab9afa0d51  guix-build-219866feca50/output/riscv64-linux-gnu/SHA256SUMS.part
    18d7f8a8db3e6b663f2f16584e0ae3e053f53ac28ab9eb04421bed6c30e490a8dd  guix-build-219866feca50/output/riscv64-linux-gnu/bitcoin-219866feca50-riscv64-linux-gnu-debug.tar.gz
    19ab9fc807d237d7d3e3ba48af2f8907c669c6282bcd6dfda68523505976d093fc  guix-build-219866feca50/output/riscv64-linux-gnu/bitcoin-219866feca50-riscv64-linux-gnu.tar.gz
    20d583f668b9e81bc38b5a21121b0713337bd9ace9aeb32638cc8e1838e821c25d  guix-build-219866feca50/output/x86_64-apple-darwin/SHA256SUMS.part
    215582c5c7625d12165774ad2bf9e8b86bae6623870802e2b56f1b46daec46f03f  guix-build-219866feca50/output/x86_64-apple-darwin/bitcoin-219866feca50-x86_64-apple-darwin-unsigned.dmg
    224229782794fc915d65a29a7efc084246a46a31719e912e3d0d676e6ab21e5aed  guix-build-219866feca50/output/x86_64-apple-darwin/bitcoin-219866feca50-x86_64-apple-darwin-unsigned.tar.gz
    235eb722711acf9b0a7020c8291123c42f4c93bde0e075ce943493a36eb81567db  guix-build-219866feca50/output/x86_64-apple-darwin/bitcoin-219866feca50-x86_64-apple-darwin.tar.gz
    2479688f6bb82cbc68ce9e0a5f33d3cab5c4b6dc962255287005c4899890f67986  guix-build-219866feca50/output/x86_64-linux-gnu/SHA256SUMS.part
    2516c8f915c3387422e04be20f1161853721a607d7bf46e0cab0a944d927e1e7ab  guix-build-219866feca50/output/x86_64-linux-gnu/bitcoin-219866feca50-x86_64-linux-gnu-debug.tar.gz
    26e8ab83d38a7ffb261dadb6ba6216321569bc560e9f60f9468781e91fbdf8c4b5  guix-build-219866feca50/output/x86_64-linux-gnu/bitcoin-219866feca50-x86_64-linux-gnu.tar.gz
    27317c549a71c20766a632a19f7d555b05c40adb4ac9a63926524ec117227679c6  guix-build-219866feca50/output/x86_64-w64-mingw32/SHA256SUMS.part
    28da29a3e4895097e8c65e1c3eb5fb968c142d97a2c0024285c9cd9c9bf08cd407  guix-build-219866feca50/output/x86_64-w64-mingw32/bitcoin-219866feca50-win64-debug.zip
    29913dd6b18ee709131cb67d903beec86eb98b430f4632b2a423c25baffe6d363d  guix-build-219866feca50/output/x86_64-w64-mingw32/bitcoin-219866feca50-win64-setup-unsigned.exe
    3034dbeda2d684595de8a3b171ff79fc50d9287df9e153bd332a93cccfb4f1fe3c  guix-build-219866feca50/output/x86_64-w64-mingw32/bitcoin-219866feca50-win64-unsigned.tar.gz
    319e1d73e552eec44fde06d82b5eb72d7f077d68a826c6827f179ca6c25d66ad17  guix-build-219866feca50/output/x86_64-w64-mingw32/bitcoin-219866feca50-win64.zip
    
  163. DrahtBot added the label Needs rebase on Dec 2, 2022
  164. willcl-ark commented at 11:12 am on January 18, 2023: member

    Whilst I could get this to build pretty easily (nice work!) I had difficulty with FindBerkeleyDB.cmake picking up my BDB4.8 build from the default location in my source directory on Ubuntu 22.04.

     0$ pwd
     1/home/will/src/bitcoin
     2$ ./contrib/install_db4.sh `pwd`
     3# outputs db4 directory in /home/will/src/bitcoin/db4
     4$ cmake -S . -B build
     5 ...
     6-- Could NOT find BerkeleyDB (missing: BerkeleyDB_LIBRARY BerkeleyDB_INCLUDE_DIR) (Required is at least version "4.8")
     7CMake Warning at cmake/optional.cmake:65 (message):
     8  Berkeley DB (BDB) required for legacy wallet support, but not found.
     9
    10  Passing "-DWITH_BDB=OFF" will suppress this warning.
    11
    12Call Stack (most recent call first):
    13  CMakeLists.txt:420 (include)
    

    In in order to fix I applied this patch:

     0diff --git a/cmake/module/FindBerkeleyDB.cmake b/cmake/module/FindBerkeleyDB.cmake
     1index 144120126..b1321d5fb 100644
     2--- a/cmake/module/FindBerkeleyDB.cmake
     3+++ b/cmake/module/FindBerkeleyDB.cmake
     4@@ -13,7 +13,7 @@ endif()
     5 
     6 find_path(BerkeleyDB_INCLUDE_DIR
     7   NAMES db.h
     8-  HINTS ${bdb4_brew_prefix}/include
     9+  HINTS ${bdb4_brew_prefix}/include $ENV{BerkeleyDB_INCLUDE_DIR}
    10   PATH_SUFFIXES 4.8 48 4 db4 5 5.3 db5
    11 )
    12 
    13@@ -43,7 +43,7 @@ if(MSVC)
    14 else()
    15   find_library(BerkeleyDB_LIBRARY
    16     NAMES db_cxx-4.8 libdb48 db4_cxx db_cxx db_cxx-5
    17-    HINTS ${bdb4_brew_prefix}/lib
    18+    HINTS ${bdb4_brew_prefix}/lib $ENV{BerkeleyDB_LIBRARY}
    19   )
    20   set(BerkeleyDB_required BerkeleyDB_LIBRARY)
    21 endif()
    

    So that it could pick up exported BDB env vars BerkeleyDB_INCLUDE_DIR and BerkeleyDB_LIBRARY.

    I am curious if I was doing something wrong, as it doesn’t seem like anyone else had this issue? I am on commit 219866feca50ba1c87388ed118b76f3cb3e41714

  165. hebasto commented at 2:20 pm on January 20, 2023: member

    @willcl-ark

    Whilst I could get this to build pretty easily (nice work!) I had difficulty with FindBerkeleyDB.cmake picking up my BDB4.8 build from the default location in my source directory on Ubuntu 22.04.

    In the light of #26834 it seems reasonable to postpone your patch. WDYT?

  166. hebasto force-pushed on Jan 20, 2023
  167. hebasto commented at 3:18 pm on January 20, 2023: member

    Updated up to pr25797.40:

    • rebased
    • added proper finding of python
  168. DrahtBot removed the label Needs rebase on Jan 20, 2023
  169. willcl-ark commented at 4:01 pm on January 20, 2023: member

    In the light of #26834 it seems reasonable to postpone your patch. WDYT?

    I think it still needs some tweaking, perhaps…

    It might not be the most elegant but I was able to get it working “automagically” with:

     0diff --git a/cmake/module/FindBerkeleyDB.cmake b/cmake/module/FindBerkeleyDB.cmake
     1index 144120126..4b581ae75 100644
     2--- a/cmake/module/FindBerkeleyDB.cmake
     3+++ b/cmake/module/FindBerkeleyDB.cmake
     4@@ -13,7 +13,7 @@ endif()
     5 
     6 find_path(BerkeleyDB_INCLUDE_DIR
     7   NAMES db.h
     8-  HINTS ${bdb4_brew_prefix}/include
     9+  HINTS ${bdb4_brew_prefix}/include BDB_INCLUDE
    10   PATH_SUFFIXES 4.8 48 4 db4 5 5.3 db5
    11 )
    12 
    13@@ -43,7 +43,7 @@ if(MSVC)
    14 else()
    15   find_library(BerkeleyDB_LIBRARY
    16     NAMES db_cxx-4.8 libdb48 db4_cxx db_cxx db_cxx-5
    17-    HINTS ${bdb4_brew_prefix}/lib
    18+    HINTS ${bdb4_brew_prefix}/lib BDB_LIBS
    19   )
    20   set(BerkeleyDB_required BerkeleyDB_LIBRARY)
    21 endif()
    22diff --git a/depends/toolchain.cmake.in b/depends/toolchain.cmake.in
    23index 291918497..791b52b1e 100644
    24--- a/depends/toolchain.cmake.in
    25+++ b/depends/toolchain.cmake.in
    26@@ -74,6 +74,8 @@ set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
    27 set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
    28 set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
    29 set(QT_CROSS_LIBS_PATH "${CMAKE_FIND_ROOT_PATH}/lib")
    30+set(BDB_LIBS "${CMAKE_FIND_ROOT_PATH}/lib")
    31+set(BDB_INCLUDE "${CMAKE_FIND_ROOT_PATH}/include")
    32 set(PKG_CONFIG_PATH "${CMAKE_FIND_ROOT_PATH}/lib/pkgconfig")
    33 if("@allow_host_packages@" STREQUAL "1")
    34   set(DEPENDS_ALLOW_HOST_PACKAGES TRUE)
    

    …by running the following:

    0make -C depends/ NO_BOOST=1 NO_LIBEVENT=1 NO_QT=1 NO_SQLITE=1 NO_NATPMP=1 NO_ZMQ=1 NO_UPNP=1 NO_USDT=1 ALLOW_HOST_PACKAGES=1
    1cmake --toolchain depends/x86_64-pc-linux-gnu/share/toolchain.cmake -S . -B build
    

    I don’t see how it is supposed to pick up the depends BDB lib/include directories otherwise? Are these lines supposed to be handling adding */lib and */include type directories automatically (I couldn’t find much documentation on them).

    I also didn’t test this patch with any of the CI builds or anything, only on my machine.

  170. hebasto commented at 5:05 pm on January 20, 2023: member

    @willcl-ark

    …by running the following:

    0make -C depends/ NO_BOOST=1 NO_LIBEVENT=1 NO_QT=1 NO_SQLITE=1 NO_NATPMP=1 NO_ZMQ=1 NO_UPNP=1 NO_USDT=1 ALLOW_HOST_PACKAGES=1
    1cmake --toolchain depends/x86_64-pc-linux-gnu/share/toolchain.cmake -S . -B build
    

    Hmm. On my Ubuntu 22.04 with this PR unpatched branch:

    0$ make -j 16 -C depends NO_BOOST=1 NO_LIBEVENT=1 NO_QT=1 NO_SQLITE=1 NO_NATPMP=1 NO_UPNP=1 NO_ZMQ=1 NO_USDT=1 ALLOW_HOST_PACKAGES=1
    1...
    2copying packages: bdb
    3to: /home/hebasto/git/bitcoin/depends/x86_64-pc-linux-gnu
    4make: Leaving directory '/home/hebasto/git/bitcoin/depends'
    5$ cmake --toolchain depends/x86_64-pc-linux-gnu/share/toolchain.cmake -S . -B build
    6...
    7-- Found BerkeleyDB: /home/hebasto/git/bitcoin/depends/x86_64-pc-linux-gnu/lib/libdb_cxx-4.8.a (found suitable version "4.8", minimum required is "4.8")
    8...
    

    Do you have a clean build environment? Maybe rm -rf build would help?

  171. hebasto commented at 5:11 pm on January 20, 2023: member

    Are these lines supposed to be handling adding */lib and */include type directories automatically (I couldn’t find much documentation on them).

    find_library, for example, uses lib as a path component in its searching procedure.

  172. hebasto force-pushed on Jan 20, 2023
  173. hebasto commented at 5:52 pm on January 20, 2023: member

    @willcl-ark

    Following an approach promoted by @fanquake in #26834, you could also specify a path to the BDB package in a CMake-specfic way as follows:

    0$ make -C depends NO_BOOST=1 NO_LIBEVENT=1 NO_QT=1 NO_SQLITE=1 NO_NATPMP=1 NO_UPNP=1 NO_ZMQ=1 NO_USDT=1
    1$ export BerkeleyDB_ROOT=/home/hebasto/git/bitcoin/depends/x86_64-pc-linux-gnu
    2$ cmake -S . -B build
    
  174. willcl-ark commented at 8:05 pm on January 20, 2023: member

    Do you have a clean build environment?

    Correct! It’s now working without patch, cool. I’m really enjoying cmake so far.

  175. hebasto force-pushed on Jan 22, 2023
  176. hebasto commented at 1:06 pm on January 22, 2023: member

    Updated up to pr25797.42:

    Guix builds:

     03f3c58ad29f91fe9ec97e9ed2fb98c6448150b0f9905df986c35a15a5d90a5d5  guix-build-d3e1ecc1f982/output/aarch64-linux-gnu/SHA256SUMS.part
     1e13930bec76db2493fd68f74427bf4c4d1b14ca6d9af4903bd186beb038115c3  guix-build-d3e1ecc1f982/output/aarch64-linux-gnu/bitcoin-d3e1ecc1f982-aarch64-linux-gnu-debug.tar.gz
     2b7cf6e6da2aeab202a060264d2f202b95df7d2afb632c27f8c9c8b152490a916  guix-build-d3e1ecc1f982/output/aarch64-linux-gnu/bitcoin-d3e1ecc1f982-aarch64-linux-gnu.tar.gz
     3efd4eb6865afe549a4362813820c49eb0fbfcca28d322cb70287127204714467  guix-build-d3e1ecc1f982/output/arm-linux-gnueabihf/SHA256SUMS.part
     415dc508e612599977d078774a38e49b549ade8fc3df0574d356225fd70f33e92  guix-build-d3e1ecc1f982/output/arm-linux-gnueabihf/bitcoin-d3e1ecc1f982-arm-linux-gnueabihf-debug.tar.gz
     5d6e9bfeb94276c1bb20d0f8ea10d437df2e6c4a7f1d1704a91931259ee87f4b5  guix-build-d3e1ecc1f982/output/arm-linux-gnueabihf/bitcoin-d3e1ecc1f982-arm-linux-gnueabihf.tar.gz
     67c4b9b52de53cc1c5355499d76d59e25361b4c31acd06f4a8a9cb87a0bfd9149  guix-build-d3e1ecc1f982/output/arm64-apple-darwin/SHA256SUMS.part
     7099849168eba8229f6e5e4a3e26028ed823519b8a5e1a59fd773579b60a4d646  guix-build-d3e1ecc1f982/output/arm64-apple-darwin/bitcoin-d3e1ecc1f982-arm64-apple-darwin-unsigned.dmg
     86976eb243d7416737453a1296dcf8fe2e03574f9570f102fb9f21fdbd1f7bde3  guix-build-d3e1ecc1f982/output/arm64-apple-darwin/bitcoin-d3e1ecc1f982-arm64-apple-darwin-unsigned.tar.gz
     91a11032ec819a50854933fcc77271afccd675ec39c8b6b8b31a820a8d1136884  guix-build-d3e1ecc1f982/output/arm64-apple-darwin/bitcoin-d3e1ecc1f982-arm64-apple-darwin.tar.gz
    10996136522d71cb8a783ab6c20e3b87d261af569a0eaa53591c7ffc310cd138e8  guix-build-d3e1ecc1f982/output/dist-archive/bitcoin-d3e1ecc1f982.tar.gz
    11dcfd0451c99310a753b9858f478cbd1626312afc7411f132fb27477df1973cb4  guix-build-d3e1ecc1f982/output/powerpc64-linux-gnu/SHA256SUMS.part
    123ee13edc14c70df7c26174c0a2b7da27b1b15ba793329a6d8e2c0bac469ade06  guix-build-d3e1ecc1f982/output/powerpc64-linux-gnu/bitcoin-d3e1ecc1f982-powerpc64-linux-gnu-debug.tar.gz
    13311ae30fde9095833087780f1f4515efdf042eaa1d736ef51632b7dac347cd88  guix-build-d3e1ecc1f982/output/powerpc64-linux-gnu/bitcoin-d3e1ecc1f982-powerpc64-linux-gnu.tar.gz
    1423fbdcafff4872477f4f424a930eb53788d0602d3e644e57cfb2671601f1ca2e  guix-build-d3e1ecc1f982/output/powerpc64le-linux-gnu/SHA256SUMS.part
    158a6ca54e70de0f3abb679c120320469e061c5c645dbfc43be68ac9e3c87402aa  guix-build-d3e1ecc1f982/output/powerpc64le-linux-gnu/bitcoin-d3e1ecc1f982-powerpc64le-linux-gnu-debug.tar.gz
    1666823db1433352a8a6652059346461dfc0f787b12d77a7c96075a06300fcf418  guix-build-d3e1ecc1f982/output/powerpc64le-linux-gnu/bitcoin-d3e1ecc1f982-powerpc64le-linux-gnu.tar.gz
    1745ebdc988ccb9bc4068cc427c2b7c7bc216e8b31848971fb57f70bf1697979d0  guix-build-d3e1ecc1f982/output/riscv64-linux-gnu/SHA256SUMS.part
    189daddf8e4391d2477d7bf75acd2882678de797c8c0cea13e63971fcfac609c23  guix-build-d3e1ecc1f982/output/riscv64-linux-gnu/bitcoin-d3e1ecc1f982-riscv64-linux-gnu-debug.tar.gz
    19441541534423bfa2c75b2b788b810ddc7f5d141e58e4e13df74bc37a1d070f20  guix-build-d3e1ecc1f982/output/riscv64-linux-gnu/bitcoin-d3e1ecc1f982-riscv64-linux-gnu.tar.gz
    207b0d130f3c340aca6833e2e95cb26bbe1adeb4126775bdd066c4c1ffa819d6b4  guix-build-d3e1ecc1f982/output/x86_64-apple-darwin/SHA256SUMS.part
    21bbe6b1ee94d9ddf4d40cc5f0c0d651756c64dae5d543bfe62150bd5b55361b27  guix-build-d3e1ecc1f982/output/x86_64-apple-darwin/bitcoin-d3e1ecc1f982-x86_64-apple-darwin-unsigned.dmg
    22c1b12006279e118a9f58fc7f91f8e014ce7205b832a9cbcbd2550d1f60bd9c5a  guix-build-d3e1ecc1f982/output/x86_64-apple-darwin/bitcoin-d3e1ecc1f982-x86_64-apple-darwin-unsigned.tar.gz
    2336f3dcb8036a87994ad4cca0998d2891f9688b32f25013f0788ae9b25c5d3b88  guix-build-d3e1ecc1f982/output/x86_64-apple-darwin/bitcoin-d3e1ecc1f982-x86_64-apple-darwin.tar.gz
    240cee6a8091c25d623ce5a771e053b7660a1926e0d62f396558751553e4938319  guix-build-d3e1ecc1f982/output/x86_64-linux-gnu/SHA256SUMS.part
    252cf690c18d12971fa16a20a7466da3c3d0ecb169ee8cec47a911c668137ce228  guix-build-d3e1ecc1f982/output/x86_64-linux-gnu/bitcoin-d3e1ecc1f982-x86_64-linux-gnu-debug.tar.gz
    2685715720ae3ff7bab1d9e81b0fd34e2a8c81378a6891b247f54f318fe5c571c5  guix-build-d3e1ecc1f982/output/x86_64-linux-gnu/bitcoin-d3e1ecc1f982-x86_64-linux-gnu.tar.gz
    27c0724d850a0ea52d26514d6a1dd3459c454156af7c90fd4ce94d1ccfe8e3256c  guix-build-d3e1ecc1f982/output/x86_64-w64-mingw32/SHA256SUMS.part
    28db582b997e99836da6925b6bbbb43078bdcae4e4d286073179f42af044f490fa  guix-build-d3e1ecc1f982/output/x86_64-w64-mingw32/bitcoin-d3e1ecc1f982-win64-debug.zip
    2984c32041bd40966ec49bbaf100204331ef87bd5c9d3238c8d69fe285974f0bb6  guix-build-d3e1ecc1f982/output/x86_64-w64-mingw32/bitcoin-d3e1ecc1f982-win64-setup-unsigned.exe
    30cdb5e4b2dea7e0aa17c9d9bf9ddae061ffe7638217d86bdd2fb080bced488521  guix-build-d3e1ecc1f982/output/x86_64-w64-mingw32/bitcoin-d3e1ecc1f982-win64-unsigned.tar.gz
    31e7c70ec3c80c0b4ce72f1b5b9027939dc8aa7e9b8514ff1504216f4b9a51b580  guix-build-d3e1ecc1f982/output/x86_64-w64-mingw32/bitcoin-d3e1ecc1f982-win64.zip
    

    @ryanofsky

    I guess I can try getting multiprocess build to work with this since I don’t see a flag for it yet.

    Implemented now :)

  177. hebasto force-pushed on Jan 22, 2023
  178. hebasto force-pushed on Jan 24, 2023
  179. hebasto force-pushed on Jan 24, 2023
  180. TheCharlatan commented at 2:56 pm on January 30, 2023: contributor

    Concept ACK

    Also we could ask people who graduated CS recently whether their curriculums encompassed Autotools and/or CMake

    Autotools in HPC/physics with Fortran 77, cmake in CS. I think that says it all.

    I’ll list my arguments that I have not seen in this discussion before:

    • Using interactive configuring with ccmake is a breeze, testing this PR with it is very enjoyable
    • Modern IDEs have great cmake support and poor autotools support. Many require an additional compilation database for autotools projects
    • Out of tree builds are easier to manage

    I am a bit confused about the semantics that distinguish if something is a module or a script in the cmake subdirectory. What is the logic there?

  181. hebasto commented at 3:27 pm on January 30, 2023: member

    @TheCharlatan

    I am a bit confused about the semantics that distinguish if something is a module or a script in the cmake subdirectory. What is the logic there?

    • cmake/module:

      • find modules
      • helper functions
    • cmake/script:

      • code generation scripts which are supposed to be processed in script mode, i.e., cmake -P <script>. Also see cmake/module/GenerateHeaders.cmake.
  182. DrahtBot added the label Needs rebase on Jan 31, 2023
  183. hebasto force-pushed on Feb 1, 2023
  184. DrahtBot removed the label Needs rebase on Feb 1, 2023
  185. DrahtBot added the label Needs rebase on Feb 2, 2023
  186. hebasto force-pushed on Feb 2, 2023
  187. DrahtBot removed the label Needs rebase on Feb 2, 2023
  188. DrahtBot added the label Needs rebase on Feb 2, 2023
  189. hebasto force-pushed on Feb 3, 2023
  190. DrahtBot removed the label Needs rebase on Feb 3, 2023
  191. hebasto force-pushed on Feb 7, 2023
  192. hebasto commented at 1:26 pm on February 7, 2023: member

    Updated up to pr25797.48:

    Guix builds:

     0197c847bcf39b51d7941a34bc41382a0c12290703bb27190f97a6ca9140ae953  guix-build-59cb4dd8f852/output/aarch64-linux-gnu/SHA256SUMS.part
     1a5332e286cf1ff01aaa07a60665a1784c0e17ce18a993c0764c10e7684908e5e  guix-build-59cb4dd8f852/output/aarch64-linux-gnu/bitcoin-59cb4dd8f852-aarch64-linux-gnu-debug.tar.gz
     23f1a1e913f2a58d179b2fb29ac7390fe9d5347d8fa13a0417a2bd2e0298385be  guix-build-59cb4dd8f852/output/aarch64-linux-gnu/bitcoin-59cb4dd8f852-aarch64-linux-gnu.tar.gz
     32feb1f5188baf65ea4b9dabf108d4860a1edd87be0a66a310219d9fa74d18802  guix-build-59cb4dd8f852/output/arm-linux-gnueabihf/SHA256SUMS.part
     451b3bf47130bc7dcd309385daf425fdb1f7b8db674ccb88666cf5a5c0a22bcf5  guix-build-59cb4dd8f852/output/arm-linux-gnueabihf/bitcoin-59cb4dd8f852-arm-linux-gnueabihf-debug.tar.gz
     5d7d7c6c0269cc822a168705ab5893d3cc79ef13fb266eedf5194e3ee767bae34  guix-build-59cb4dd8f852/output/arm-linux-gnueabihf/bitcoin-59cb4dd8f852-arm-linux-gnueabihf.tar.gz
     696a5513c1b364c5823d6e6058eea7c2700cfc821fc174ecb2a9aeec329f3ed45  guix-build-59cb4dd8f852/output/arm64-apple-darwin/SHA256SUMS.part
     746341521fc7952954dbb28cc3ce47a261949bc543df78969a6135dd8dc49050a  guix-build-59cb4dd8f852/output/arm64-apple-darwin/bitcoin-59cb4dd8f852-arm64-apple-darwin-unsigned.dmg
     84674a096eadf90d820d0ad9f2fe708fe1c8b7e6d2b0d4534e3c5a4738aea7c77  guix-build-59cb4dd8f852/output/arm64-apple-darwin/bitcoin-59cb4dd8f852-arm64-apple-darwin-unsigned.tar.gz
     9377af6c8f5891c675a9110c1c038b82079d2fdba7cb6a4e74050efaf8a6da7db  guix-build-59cb4dd8f852/output/arm64-apple-darwin/bitcoin-59cb4dd8f852-arm64-apple-darwin.tar.gz
    101e20bdecb33db04aaa0fac770b4778b5a5082b8bb7c2f357ed1f142f2a8b446a  guix-build-59cb4dd8f852/output/dist-archive/bitcoin-59cb4dd8f852.tar.gz
    113832a919f604c48a8f763946be3a0f7df9c358ac01580ebb1d03562ad2a8de33  guix-build-59cb4dd8f852/output/powerpc64-linux-gnu/SHA256SUMS.part
    124cb439509bfab37dc78ce39605b44468eb3db66ebf6831d4682612de4ddceca7  guix-build-59cb4dd8f852/output/powerpc64-linux-gnu/bitcoin-59cb4dd8f852-powerpc64-linux-gnu-debug.tar.gz
    13a0605a0e0520b46a107c16eb83a8f9ea0c5a8aa0ff4894a0192938dffc18e5e4  guix-build-59cb4dd8f852/output/powerpc64-linux-gnu/bitcoin-59cb4dd8f852-powerpc64-linux-gnu.tar.gz
    140e2663bcc7ec2eefd84aeacad7c2222df8c4834172412c7e8b75834b8d3cbab9  guix-build-59cb4dd8f852/output/powerpc64le-linux-gnu/SHA256SUMS.part
    15ce2d0382b199742d19e77aaa673cc4647078ba7b351fb04fe703881105bee710  guix-build-59cb4dd8f852/output/powerpc64le-linux-gnu/bitcoin-59cb4dd8f852-powerpc64le-linux-gnu-debug.tar.gz
    161293c1e8e85767c6f65efd463cdf0c638015581a41c862006002a069c780fedd  guix-build-59cb4dd8f852/output/powerpc64le-linux-gnu/bitcoin-59cb4dd8f852-powerpc64le-linux-gnu.tar.gz
    179fc46fafcc3842938428c7970d5e3c9880929486066b3b21d9b9f7ff42f84eae  guix-build-59cb4dd8f852/output/riscv64-linux-gnu/SHA256SUMS.part
    189e8baf08603e25835cf89981dc5e2a0591269f2ef1d1e4b1aabe822f192ae882  guix-build-59cb4dd8f852/output/riscv64-linux-gnu/bitcoin-59cb4dd8f852-riscv64-linux-gnu-debug.tar.gz
    1900f84ee31d35624563d80a7615b8bf4d7971086b105edfaaa6274f4246d8f3a1  guix-build-59cb4dd8f852/output/riscv64-linux-gnu/bitcoin-59cb4dd8f852-riscv64-linux-gnu.tar.gz
    20f67a438290ccb401b00d2f3cf41897f8159ec070123175b37040b59f123ebc7c  guix-build-59cb4dd8f852/output/x86_64-apple-darwin/SHA256SUMS.part
    219912ea7c4fb802f63a0de7d97d0a3375abe9e802562c9a1c1cfbaf5cca7eaebc  guix-build-59cb4dd8f852/output/x86_64-apple-darwin/bitcoin-59cb4dd8f852-x86_64-apple-darwin-unsigned.dmg
    22c3858c98f3aae74a1b062540fe914bdcaba62b46b970c9816e99058af4e2e879  guix-build-59cb4dd8f852/output/x86_64-apple-darwin/bitcoin-59cb4dd8f852-x86_64-apple-darwin-unsigned.tar.gz
    230c3d97a420196a1265e5a0beead2b88ee74f0302ff0a8f8ea1441eadde546521  guix-build-59cb4dd8f852/output/x86_64-apple-darwin/bitcoin-59cb4dd8f852-x86_64-apple-darwin.tar.gz
    24b825a5d2e743a47afa5c0624470dea4a0917f0bef721a8401c00b14e4d6c78b3  guix-build-59cb4dd8f852/output/x86_64-linux-gnu/SHA256SUMS.part
    2581d90e4b2eb102f2b6d1c3e59b97b36bc50fa8aff1ff40b49afade9759f073ed  guix-build-59cb4dd8f852/output/x86_64-linux-gnu/bitcoin-59cb4dd8f852-x86_64-linux-gnu-debug.tar.gz
    269b737a4ca1c32e828ba1764abd27efc911f5e4c89684ee46b4932f77af7ffe44  guix-build-59cb4dd8f852/output/x86_64-linux-gnu/bitcoin-59cb4dd8f852-x86_64-linux-gnu.tar.gz
    27d200ffe02765d63cac5171abaa1fd4d89e6c13595001bccd9a83d04d6f2381f3  guix-build-59cb4dd8f852/output/x86_64-w64-mingw32/SHA256SUMS.part
    28891f138df29fe4783150d5b56d34665ebc2e8c5b12de633502a7fcb0aea240de  guix-build-59cb4dd8f852/output/x86_64-w64-mingw32/bitcoin-59cb4dd8f852-win64-debug.zip
    296efb468a97da5c2caba361d69e120a2826cb74d082b6c2b7e92ef684dbafd032  guix-build-59cb4dd8f852/output/x86_64-w64-mingw32/bitcoin-59cb4dd8f852-win64-setup-unsigned.exe
    307792e109d09ee227f6b90772edd3a85c50bfbb3165e4676d610f7cfab8a86d25  guix-build-59cb4dd8f852/output/x86_64-w64-mingw32/bitcoin-59cb4dd8f852-win64-unsigned.tar.gz
    31e5d70a7c70c3274575d9ca7654994f3f0dcda97336c7317a63905b352485296e  guix-build-59cb4dd8f852/output/x86_64-w64-mingw32/bitcoin-59cb4dd8f852-win64.zip
    
  193. hebasto force-pushed on Feb 8, 2023
  194. in .cirrus.yml:320 in b82d2f1c57 outdated
    315@@ -315,6 +316,8 @@ task:
    316   << : *MAIN_TEMPLATE
    317   container:
    318     image: ubuntu:focal
    319+    cpu: 2
    320+    memory: 8G
    


    maflcko commented at 9:00 am on February 8, 2023:
    not sure if related, but those changes to this file can probably be split up, including the bump to jammy below

    hebasto commented at 1:34 pm on February 8, 2023:

    not sure if related, but those changes to this file can probably be split up

    It will be no longer required after #27062.

    including the bump to jammy below

    That is related to CMake, as Android’s NDK 23 expects CMake 3.19+, while Ubuntu Focal provides 3.16.


    maflcko commented at 1:54 pm on February 8, 2023:
    Ok. I mean that the NDK can be bumped regardless. I don’t expect that anyone is building for android, and if they did, it should be fine to just require the latest Ubuntu LTS, which is Jammy, independent of cmake changes.

    hebasto commented at 2:18 pm on February 8, 2023:

    Ok. I mean that the NDK can be bumped regardless. I don’t expect that anyone is building for android, and if they did, it should be fine to just require the latest Ubuntu LTS, which is Jammy, independent of cmake changes.

    See #27063.

  195. maflcko referenced this in commit dc905f6c2a on Feb 9, 2023
  196. DrahtBot added the label Needs rebase on Feb 9, 2023
  197. hebasto referenced this in commit 9c83f07844 on Feb 23, 2023
  198. hebasto referenced this in commit 38604b728e on Mar 2, 2023
  199. hebasto referenced this in commit 9ca357893f on Mar 31, 2023
  200. hebasto force-pushed on Apr 2, 2023
  201. hebasto force-pushed on Apr 2, 2023
  202. hebasto commented at 4:46 pm on April 2, 2023: member

    Updated up to pr25797.50:

    • rebased on the current cmake-staging branch (first 19 out of a total of 74 commits)
    • some CI regressions need to be fixed

    Guix builds:

     01fb441c811d3f919aeed3f356173a222221c6fcfe0986e45666c04f24c2cb197  guix-build-53c369f5a10b/output/aarch64-linux-gnu/SHA256SUMS.part
     183ef29ad6f9878b54288e11004801ce005a9af862fd7c6d11a4b3cce3bf6f52a  guix-build-53c369f5a10b/output/aarch64-linux-gnu/bitcoin-53c369f5a10b-aarch64-linux-gnu-debug.tar.gz
     2ee1358b96b59ca348455fa97ef2159c9c5dc60a2e83262521af765178ae5f4a4  guix-build-53c369f5a10b/output/aarch64-linux-gnu/bitcoin-53c369f5a10b-aarch64-linux-gnu.tar.gz
     337a5c0f2d034acf7edff55f05e45d8c94bbcc16a1fd45a780d498b52ed1cefa5  guix-build-53c369f5a10b/output/arm-linux-gnueabihf/SHA256SUMS.part
     4691b4be50a51c0b70626ee46b74f1727941f3a2b75779f40a5ede1e8e4a3f94e  guix-build-53c369f5a10b/output/arm-linux-gnueabihf/bitcoin-53c369f5a10b-arm-linux-gnueabihf-debug.tar.gz
     5159c0b91d164a5f4efb15c12e08edd817a53340d218970b025bbe96452d92353  guix-build-53c369f5a10b/output/arm-linux-gnueabihf/bitcoin-53c369f5a10b-arm-linux-gnueabihf.tar.gz
     6e515da9fa33370cad6d79912ce27c099e462d5c49bb1a0497e249a87913bd63a  guix-build-53c369f5a10b/output/arm64-apple-darwin/SHA256SUMS.part
     7c5c1ba82b8548510ca7d16c5a6a15792609ba9aec99c3126d3499ef5d915e372  guix-build-53c369f5a10b/output/arm64-apple-darwin/bitcoin-53c369f5a10b-arm64-apple-darwin-unsigned.dmg
     855269fcaed6ad641c58edf2021eba54b82162c7e295811a7ea02376180bbcfd7  guix-build-53c369f5a10b/output/arm64-apple-darwin/bitcoin-53c369f5a10b-arm64-apple-darwin-unsigned.tar.gz
     948fa57916464242fc04b7cd8a1ea84c43e01b082e43c91e73f167a0d9a2b3b5e  guix-build-53c369f5a10b/output/arm64-apple-darwin/bitcoin-53c369f5a10b-arm64-apple-darwin.tar.gz
    10ea4e12e81706efac9f44e989bfead204261612d36deac5f9d153a04375012251  guix-build-53c369f5a10b/output/dist-archive/bitcoin-53c369f5a10b.tar.gz
    111d2a92d9df9a0068954c6a602f0de9ee21e8aad427477aad308ccf5a073ab3c5  guix-build-53c369f5a10b/output/powerpc64-linux-gnu/SHA256SUMS.part
    1261f285f16e9b0037ae209da5cbb5151cf450066be55bfa124c82f9803267dc7d  guix-build-53c369f5a10b/output/powerpc64-linux-gnu/bitcoin-53c369f5a10b-powerpc64-linux-gnu-debug.tar.gz
    13e7bba264c1701b58db163159f310c94da6c341e8b2edab3d68bdd5b1274229dc  guix-build-53c369f5a10b/output/powerpc64-linux-gnu/bitcoin-53c369f5a10b-powerpc64-linux-gnu.tar.gz
    14e485bbf2703cd4f9b24aa78d4d4c67b743db419252a17e82b8996c7ec40d3648  guix-build-53c369f5a10b/output/powerpc64le-linux-gnu/SHA256SUMS.part
    159efbb4d3c7c57136eed38ca69c43729ee4ddfb043c63bcbc07b6d44bdde4cdfb  guix-build-53c369f5a10b/output/powerpc64le-linux-gnu/bitcoin-53c369f5a10b-powerpc64le-linux-gnu-debug.tar.gz
    1634e422d150d88f988a82cd397518ad744ccda217ee4864d21bf4552be976e9a7  guix-build-53c369f5a10b/output/powerpc64le-linux-gnu/bitcoin-53c369f5a10b-powerpc64le-linux-gnu.tar.gz
    173965d444b6c0d73d80d6e1959e6f8250d6308e48b8606f3d1a6e5b9d68a35871  guix-build-53c369f5a10b/output/riscv64-linux-gnu/SHA256SUMS.part
    1802f6bf3e3cf7bef864b6beaf51ed9d434fbebba7794cfdcd52ed7272598d7668  guix-build-53c369f5a10b/output/riscv64-linux-gnu/bitcoin-53c369f5a10b-riscv64-linux-gnu-debug.tar.gz
    1943d664eeadd297b14bd0c9a3ff7b3e3333c92c23d1079135fd980b8992670125  guix-build-53c369f5a10b/output/riscv64-linux-gnu/bitcoin-53c369f5a10b-riscv64-linux-gnu.tar.gz
    20941448c54e1513f47f1f26e1298c9f26ac6caafe7f5daebe724e779ff92e22a8  guix-build-53c369f5a10b/output/x86_64-apple-darwin/SHA256SUMS.part
    21108684d4c7b1348fdb71301cd0a23a516ccb9277421afa912ca8cd4119a6c8fc  guix-build-53c369f5a10b/output/x86_64-apple-darwin/bitcoin-53c369f5a10b-x86_64-apple-darwin-unsigned.dmg
    22abc084e314f689a53c1e17c9344e6da68d9b7049ff9d2861c43b6b27afeb0ae0  guix-build-53c369f5a10b/output/x86_64-apple-darwin/bitcoin-53c369f5a10b-x86_64-apple-darwin-unsigned.tar.gz
    23e5e1ed73a2f49b2ab0097d63ff63f9ad90946f6de2b19fc167e328062fb2131c  guix-build-53c369f5a10b/output/x86_64-apple-darwin/bitcoin-53c369f5a10b-x86_64-apple-darwin.tar.gz
    2410399e8116d3f3b12c3cb39f51d59f1ea608be7179bc89c8a0ca7c308e4bbc4f  guix-build-53c369f5a10b/output/x86_64-linux-gnu/SHA256SUMS.part
    2580101112c02778c5363451b84fbf38d7a831ffd464ea8c77fe601355baee7e34  guix-build-53c369f5a10b/output/x86_64-linux-gnu/bitcoin-53c369f5a10b-x86_64-linux-gnu-debug.tar.gz
    26ea76edaed0ea3fb8ce6488674db357cb9e2ea6ebabb0286f88b362771697a509  guix-build-53c369f5a10b/output/x86_64-linux-gnu/bitcoin-53c369f5a10b-x86_64-linux-gnu.tar.gz
    27e4cb7d579dbecf3044621a9f99b1037527d879e6b603916b8d7f9a2adb8b5f7d  guix-build-53c369f5a10b/output/x86_64-w64-mingw32/SHA256SUMS.part
    28e3855ecad6f2ba0e145026cca9a2f85480c6f1b6b1d8e969d48174ed6e47260b  guix-build-53c369f5a10b/output/x86_64-w64-mingw32/bitcoin-53c369f5a10b-win64-debug.zip
    295e53d7d71481698b0816ca2a48cc72d712bdfc04dc027f669acf2bb96200a2d2  guix-build-53c369f5a10b/output/x86_64-w64-mingw32/bitcoin-53c369f5a10b-win64-setup-unsigned.exe
    30add543ac6b319e8c2c389408f7cad9aa63356aa03364150b88768bfa41b1f5bd  guix-build-53c369f5a10b/output/x86_64-w64-mingw32/bitcoin-53c369f5a10b-win64-unsigned.tar.gz
    31e66df3311aa6246089c4aa3778f65ffc5536a7f0e9a5d421bade5ee20a57b110  guix-build-53c369f5a10b/output/x86_64-w64-mingw32/bitcoin-53c369f5a10b-win64.zip
    
  203. DrahtBot removed the label Needs rebase on Apr 2, 2023
  204. hebasto force-pushed on Apr 2, 2023
  205. hebasto commented at 8:42 pm on April 2, 2023: member
    • some CI regressions need to be fixed

    The “previous releases” CI task has been fixed.

  206. hebasto force-pushed on Apr 2, 2023
  207. hebasto commented at 0:23 am on April 3, 2023: member
    • some CI regressions need to be fixed

    The “fuzzer” and “multiprocess” CI tasks have been fixed.

  208. hebasto force-pushed on Apr 3, 2023
  209. hebasto force-pushed on Apr 3, 2023
  210. hebasto force-pushed on Apr 3, 2023
  211. hebasto force-pushed on Apr 3, 2023
  212. hebasto commented at 12:40 pm on April 3, 2023: member
    • some CI regressions need to be fixed

    The “tidy” and “TSan” CI tasks have been fixed.

  213. hebasto force-pushed on Apr 3, 2023
  214. hebasto force-pushed on Apr 3, 2023
  215. hebasto commented at 9:15 pm on April 3, 2023: member

    Rebased due to the conflict with bitcoin/bitcoin#27254.

    All CI tasks are :green_circle:

    Guix builds:

     0aa34dfbb1956fa04b56efa3cbbc798d75f62141787ea01e28796c3c7fc1743d4  guix-build-7f09e7118a59/output/aarch64-linux-gnu/SHA256SUMS.part
     1a7ceb4b814eb41558c5b8dcbe57e443505dac96181b9727fac235197ed729ef8  guix-build-7f09e7118a59/output/aarch64-linux-gnu/bitcoin-7f09e7118a59-aarch64-linux-gnu-debug.tar.gz
     2b336955cf07c04c69cc03040fab63a5c862c7eb984ae56ddbec9b45345f1af99  guix-build-7f09e7118a59/output/aarch64-linux-gnu/bitcoin-7f09e7118a59-aarch64-linux-gnu.tar.gz
     388a7c5b582888fd1cbb2f782f7db66461b922ac0f8dc2cf16883907531182f9c  guix-build-7f09e7118a59/output/arm-linux-gnueabihf/SHA256SUMS.part
     4eb1a39583367b0d6d7e4dd85442c6a1e892cd3cc15f362b4472837487aaebb6f  guix-build-7f09e7118a59/output/arm-linux-gnueabihf/bitcoin-7f09e7118a59-arm-linux-gnueabihf-debug.tar.gz
     598deb1f76780144c4c6a52ed1c96b5f682a70e3ca18218e138e7c87334499deb  guix-build-7f09e7118a59/output/arm-linux-gnueabihf/bitcoin-7f09e7118a59-arm-linux-gnueabihf.tar.gz
     69e3a0de508a3072eab71357245e6419daa4a93ba909680751b36b4f5f235d3d1  guix-build-7f09e7118a59/output/arm64-apple-darwin/SHA256SUMS.part
     7ef98cd91204b5a43cd8cfd89e5d1634c05cc8c6af1fc03dbabd4cff5ebf83a36  guix-build-7f09e7118a59/output/arm64-apple-darwin/bitcoin-7f09e7118a59-arm64-apple-darwin-unsigned.dmg
     87dd49be111f58c2b3f016ef041b49733b491c83a99e9d454d717e6ed7e61e769  guix-build-7f09e7118a59/output/arm64-apple-darwin/bitcoin-7f09e7118a59-arm64-apple-darwin-unsigned.tar.gz
     95c6c24cc472f38b59c736b897d8660a008fe904cc8ebf69a07ec417b937a2e66  guix-build-7f09e7118a59/output/arm64-apple-darwin/bitcoin-7f09e7118a59-arm64-apple-darwin.tar.gz
    10b7051454f59839dacc7b6eec12d55157e40671e3d853f696845cc69e3537f5aa  guix-build-7f09e7118a59/output/dist-archive/bitcoin-7f09e7118a59.tar.gz
    11dab842b8fd5204d03968687a5d2f3d9a9ca123110ef337d717ffe834f8dadea8  guix-build-7f09e7118a59/output/powerpc64-linux-gnu/SHA256SUMS.part
    129c298807bd893f89fa1eab5bf006377f9a3d5ad9f14bcd339bc4b35fb8437133  guix-build-7f09e7118a59/output/powerpc64-linux-gnu/bitcoin-7f09e7118a59-powerpc64-linux-gnu-debug.tar.gz
    1332c93b1e3abe40639c36e7481c7110f46cfb5b93f1209b36143392edaa2c3f01  guix-build-7f09e7118a59/output/powerpc64-linux-gnu/bitcoin-7f09e7118a59-powerpc64-linux-gnu.tar.gz
    141457f1ace9b0a2a9da4fa63e9786aa82d266bc86ce17d56d05a80bf3ab2ba7c0  guix-build-7f09e7118a59/output/powerpc64le-linux-gnu/SHA256SUMS.part
    1529dd12bd6e3513468a5100bd57b0b181b673b1ef14c7c6a075d838a3cc1a10bc  guix-build-7f09e7118a59/output/powerpc64le-linux-gnu/bitcoin-7f09e7118a59-powerpc64le-linux-gnu-debug.tar.gz
    16c4a3c945adcd1ed73c8361baf5e769f01913c4fea1443c111798a49cf70c3fa7  guix-build-7f09e7118a59/output/powerpc64le-linux-gnu/bitcoin-7f09e7118a59-powerpc64le-linux-gnu.tar.gz
    17c216f19d31006cff568c20c4de94f62ba77447dc563e6667c855ffa171d67027  guix-build-7f09e7118a59/output/riscv64-linux-gnu/SHA256SUMS.part
    188384074d1f33fb6ab148866c75448cb5ff642018df9f4ebeb20d912796a5921f  guix-build-7f09e7118a59/output/riscv64-linux-gnu/bitcoin-7f09e7118a59-riscv64-linux-gnu-debug.tar.gz
    19ed97103a771f54a0653d71bbf40c67be01dc6847f0241cf416c36cb78736ed89  guix-build-7f09e7118a59/output/riscv64-linux-gnu/bitcoin-7f09e7118a59-riscv64-linux-gnu.tar.gz
    20fced51a5449bb20afd87bb806666c1977a232eec437b4c05db2d399943dedd32  guix-build-7f09e7118a59/output/x86_64-apple-darwin/SHA256SUMS.part
    215e78bec524968a10bac4378bf97ee33f07083ae02758d3d9f0af193865e557cd  guix-build-7f09e7118a59/output/x86_64-apple-darwin/bitcoin-7f09e7118a59-x86_64-apple-darwin-unsigned.dmg
    22673139580ea513f008864248f6cba44f55f1ae789424f09908763ca83f40e59e  guix-build-7f09e7118a59/output/x86_64-apple-darwin/bitcoin-7f09e7118a59-x86_64-apple-darwin-unsigned.tar.gz
    2355b0f0936fa831f71624d700f30337bd2b8f5a3a73556754c6ce56177ecd1ab3  guix-build-7f09e7118a59/output/x86_64-apple-darwin/bitcoin-7f09e7118a59-x86_64-apple-darwin.tar.gz
    24f32c51dcdb164bfc5d3d02a4d9fd1351381bc64783a570859c9c1f63e8c175e8  guix-build-7f09e7118a59/output/x86_64-linux-gnu/SHA256SUMS.part
    250874a7622869a03af961426b01ca67ab8f4eec3cc5343a27b87dab5ab5fc74bc  guix-build-7f09e7118a59/output/x86_64-linux-gnu/bitcoin-7f09e7118a59-x86_64-linux-gnu-debug.tar.gz
    265cff7e564f44cc5b8440ddd89052e2f432b7bb8a577e1ae4aa6a2e107b2ffc40  guix-build-7f09e7118a59/output/x86_64-linux-gnu/bitcoin-7f09e7118a59-x86_64-linux-gnu.tar.gz
    27e91a91a1d64be61b71e19c5c2964d90430a94add57228207f5cda7fe940abde3  guix-build-7f09e7118a59/output/x86_64-w64-mingw32/SHA256SUMS.part
    283a758ceb7c00474fe261b8d8b49521b6f484c5ac5ba5015a101aba3fc83b3d5d  guix-build-7f09e7118a59/output/x86_64-w64-mingw32/bitcoin-7f09e7118a59-win64-debug.zip
    2915e081d5b5c7432737d99a655ef0202af5bc5b0ec6a5b782f2329088ccea5b55  guix-build-7f09e7118a59/output/x86_64-w64-mingw32/bitcoin-7f09e7118a59-win64-setup-unsigned.exe
    309551ebb61378f009b0216cdb00a04940445dc73d62e002f825ed1d0cd1736c05  guix-build-7f09e7118a59/output/x86_64-w64-mingw32/bitcoin-7f09e7118a59-win64-unsigned.tar.gz
    312383972fd9fae4f5804b64ff09b975a6ed766550a10a114ac5010572e6670775  guix-build-7f09e7118a59/output/x86_64-w64-mingw32/bitcoin-7f09e7118a59-win64.zip
    
  216. DrahtBot added the label Needs rebase on Apr 5, 2023
  217. hebasto referenced this in commit 2428f6ce9a on Apr 19, 2023
  218. hebasto force-pushed on Apr 19, 2023
  219. DrahtBot removed the label Needs rebase on Apr 19, 2023
  220. hebasto commented at 9:20 pm on April 19, 2023: member

    Updated up to pr25797.59:

    Rebased on the current cmake-staging branch (first 25 out of a total of 75 commits).

    All CI tasks are :green_circle:

    Guix builds:

     025a62ef8d51c07799b2fe3f687f2340b9f5cf2523079ed12cdc1bbac07b38188  guix-build-33b2db8e6f7c/output/aarch64-linux-gnu/SHA256SUMS.part
     1af60d9a558ed74492cdf2697d54c3a25aa236a29721269a0eaa35a37997724bd  guix-build-33b2db8e6f7c/output/aarch64-linux-gnu/bitcoin-33b2db8e6f7c-aarch64-linux-gnu-debug.tar.gz
     2af96e13399e83c52abd7ef662083dfaa0a65eefe604d9b5120455c7850ce0171  guix-build-33b2db8e6f7c/output/aarch64-linux-gnu/bitcoin-33b2db8e6f7c-aarch64-linux-gnu.tar.gz
     3550961782fadeb4b3cfa90c8afc2d5817a22c81d807d7dc60a3d96de0d363b4b  guix-build-33b2db8e6f7c/output/arm-linux-gnueabihf/SHA256SUMS.part
     498784733b5778b053f4c6c4e39b53a67fe55915ea3f15ffbac124c3e7bcedce9  guix-build-33b2db8e6f7c/output/arm-linux-gnueabihf/bitcoin-33b2db8e6f7c-arm-linux-gnueabihf-debug.tar.gz
     5fa96724fc0a73024977de9becdae9cfe5dd7075a7559efa383b8fc5464890021  guix-build-33b2db8e6f7c/output/arm-linux-gnueabihf/bitcoin-33b2db8e6f7c-arm-linux-gnueabihf.tar.gz
     6cba90bbd8f6c58fab88a114802cf6c0daa65a9a22ad37e43137e8ecfcb7a1226  guix-build-33b2db8e6f7c/output/arm64-apple-darwin/SHA256SUMS.part
     7d16ee4ff870a8274294efa19ad0a8c95ef494cf70cd30e9eac319d03be76af83  guix-build-33b2db8e6f7c/output/arm64-apple-darwin/bitcoin-33b2db8e6f7c-arm64-apple-darwin-unsigned.dmg
     8242156b3435c6fe772455ad5863aa15e9d902f5c1db0bff59554673553ad4713  guix-build-33b2db8e6f7c/output/arm64-apple-darwin/bitcoin-33b2db8e6f7c-arm64-apple-darwin-unsigned.tar.gz
     900545ea7be77a9282c748118252706818a83f778b0efac8bb402dba5ee5b0d54  guix-build-33b2db8e6f7c/output/arm64-apple-darwin/bitcoin-33b2db8e6f7c-arm64-apple-darwin.tar.gz
    1043e58fe001eff44cc80f4aef4c3d2bfb075a0eb5e0d1e86111d3bf7e149136a3  guix-build-33b2db8e6f7c/output/dist-archive/bitcoin-33b2db8e6f7c.tar.gz
    1127fda6b50dbcf0a50785e5e4a93239396938f5fb82a0540e8d568dfa474ad1df  guix-build-33b2db8e6f7c/output/powerpc64-linux-gnu/SHA256SUMS.part
    1292b414b6da2e99d118b6a596eb1731c6473e2292673ef0911478edfdef7bd5ce  guix-build-33b2db8e6f7c/output/powerpc64-linux-gnu/bitcoin-33b2db8e6f7c-powerpc64-linux-gnu-debug.tar.gz
    136144b1df8dbfac1fc9b6041b26d25ff5082896e9a0e7d1c2ee8e167ba3eb3c7a  guix-build-33b2db8e6f7c/output/powerpc64-linux-gnu/bitcoin-33b2db8e6f7c-powerpc64-linux-gnu.tar.gz
    145428d3b39dd1c308545e6f95215afb85e3bec265008a6e69a505cfe832fb26aa  guix-build-33b2db8e6f7c/output/powerpc64le-linux-gnu/SHA256SUMS.part
    1511222fa40517d7933f662941a7bb0799f640fb0b8a0b3ad8517889f3afa59d9d  guix-build-33b2db8e6f7c/output/powerpc64le-linux-gnu/bitcoin-33b2db8e6f7c-powerpc64le-linux-gnu-debug.tar.gz
    1607c8ffbe396f7c8c5e40eea1bee435446c65cee51e064d81e03b9cf06d5594db  guix-build-33b2db8e6f7c/output/powerpc64le-linux-gnu/bitcoin-33b2db8e6f7c-powerpc64le-linux-gnu.tar.gz
    17a82208ec2ff6d137ac0d2fd9b836db76b6fd572ce97e4d5102a90f7aee4f6fef  guix-build-33b2db8e6f7c/output/riscv64-linux-gnu/SHA256SUMS.part
    1859e2de9f1008433cab8ffc9f9e8f9e8528feb2a548096d8012893ef52eb89dc7  guix-build-33b2db8e6f7c/output/riscv64-linux-gnu/bitcoin-33b2db8e6f7c-riscv64-linux-gnu-debug.tar.gz
    19acc0b76896d01a360a67a338f595dba7bf279e24d94f7ad78030170644a64618  guix-build-33b2db8e6f7c/output/riscv64-linux-gnu/bitcoin-33b2db8e6f7c-riscv64-linux-gnu.tar.gz
    20e8b5505e3229834a0479f68614ee28ae6a2540c41824e2a5296af31eeddfe7f4  guix-build-33b2db8e6f7c/output/x86_64-apple-darwin/SHA256SUMS.part
    21c3ead10696d15bd8851350da81d8430fb138fc36ee506b417c171053efed93b6  guix-build-33b2db8e6f7c/output/x86_64-apple-darwin/bitcoin-33b2db8e6f7c-x86_64-apple-darwin-unsigned.dmg
    22e09ac2d4539a6a4335aa245cfa9f1870704b6b9f1aa858bd4e59b33b4f258a20  guix-build-33b2db8e6f7c/output/x86_64-apple-darwin/bitcoin-33b2db8e6f7c-x86_64-apple-darwin-unsigned.tar.gz
    23c121c99424c428505d97e1183959b5aee08d163a0e5747300dad2442f54f37e1  guix-build-33b2db8e6f7c/output/x86_64-apple-darwin/bitcoin-33b2db8e6f7c-x86_64-apple-darwin.tar.gz
    249f877c75b2eca7d874027fe8c5cdb029e47ac9f8e66a24488c8a3e0a7456085d  guix-build-33b2db8e6f7c/output/x86_64-linux-gnu/SHA256SUMS.part
    258e1d83b7e467316504aae34ac7e37107b429911105f02f609b00cad23dd36434  guix-build-33b2db8e6f7c/output/x86_64-linux-gnu/bitcoin-33b2db8e6f7c-x86_64-linux-gnu-debug.tar.gz
    2647a49e55a5d50ad0f554c11fcc8fd8ac81b748ead33500a2e8be6faf04332fad  guix-build-33b2db8e6f7c/output/x86_64-linux-gnu/bitcoin-33b2db8e6f7c-x86_64-linux-gnu.tar.gz
    27410893fdc7d830f773bcec95f5c57b25e5d0c2d4f5c7643cba666ec2371ac0ee  guix-build-33b2db8e6f7c/output/x86_64-w64-mingw32/SHA256SUMS.part
    2832885ed9d6a538a4afb82bacfb427a53f1feb5433c17315a0da425e383b916ce  guix-build-33b2db8e6f7c/output/x86_64-w64-mingw32/bitcoin-33b2db8e6f7c-win64-debug.zip
    291a39afa1449f80938500f5e47649ccc81d5193b1f7cbb643ca95a15c8d42679e  guix-build-33b2db8e6f7c/output/x86_64-w64-mingw32/bitcoin-33b2db8e6f7c-win64-setup-unsigned.exe
    300b43db6e26fbefe93597c9cc33091e63464a7b252ebc38658b681cb3ff098e6a  guix-build-33b2db8e6f7c/output/x86_64-w64-mingw32/bitcoin-33b2db8e6f7c-win64-unsigned.tar.gz
    31296486c2cbf00dc658a78e90d4ea7584ca1c1d1dd6f38a4f6c161573b7274e27  guix-build-33b2db8e6f7c/output/x86_64-w64-mingw32/bitcoin-33b2db8e6f7c-win64.zip
    
  221. DrahtBot added the label CI failed on Apr 23, 2023
  222. DrahtBot added the label Needs rebase on Apr 28, 2023
  223. hebasto force-pushed on May 3, 2023
  224. hebasto force-pushed on May 3, 2023
  225. hebasto commented at 7:32 pm on May 3, 2023: member

    Updated on top of the recent https://github.com/hebasto/bitcoin/pull/15.

    CI build is :green_circle:

    Guix builds:

     0040eb5ee40cf57dcfe34caf8598cd856ac8585565c74386905feccbeb1868830  guix-build-7cc0a620fd74/output/aarch64-linux-gnu/SHA256SUMS.part
     1bb542a379b8c8ff54c645b4260ddf26265efcd0fc204fa09ce5eaf201f30ddb7  guix-build-7cc0a620fd74/output/aarch64-linux-gnu/bitcoin-7cc0a620fd74-aarch64-linux-gnu-debug.tar.gz
     2c8a307a90343c8553ff98e17209989debfc39d8b458aacdb15300f570fd17931  guix-build-7cc0a620fd74/output/aarch64-linux-gnu/bitcoin-7cc0a620fd74-aarch64-linux-gnu.tar.gz
     3b1f7db338801cd31356a893950db8829f17cf12ad3274494c365c33a5db60ac9  guix-build-7cc0a620fd74/output/arm-linux-gnueabihf/SHA256SUMS.part
     40575f8bd2323cfd44cf5cd700356e43f2b64b61c83145a5478ff5e5abb49e3e8  guix-build-7cc0a620fd74/output/arm-linux-gnueabihf/bitcoin-7cc0a620fd74-arm-linux-gnueabihf-debug.tar.gz
     56b32b77446c84623e119b6dcee72370f6d8d27036746c747638222b3daad6af0  guix-build-7cc0a620fd74/output/arm-linux-gnueabihf/bitcoin-7cc0a620fd74-arm-linux-gnueabihf.tar.gz
     6dacf80f256dd007ec7cced824fb4318631c29d70357d0d5ea87141a65901cc6b  guix-build-7cc0a620fd74/output/arm64-apple-darwin/SHA256SUMS.part
     758ca86d8aa8a7d56a166e98aefb00001c57bdee0f55468b2b35f72831e47f709  guix-build-7cc0a620fd74/output/arm64-apple-darwin/bitcoin-7cc0a620fd74-arm64-apple-darwin-unsigned.dmg
     8723c29160150146d2c2c1f3bba60f15eb576b074bc867d94477b9336261c8266  guix-build-7cc0a620fd74/output/arm64-apple-darwin/bitcoin-7cc0a620fd74-arm64-apple-darwin-unsigned.tar.gz
     934f64a9f13c7747182e991936b216d3f0df189006c989c8070e976263d72ab23  guix-build-7cc0a620fd74/output/arm64-apple-darwin/bitcoin-7cc0a620fd74-arm64-apple-darwin.tar.gz
    101da871c7bd2f98a87d8994b0b4fef1b728027174eaf96d937dbf27b3695cdc56  guix-build-7cc0a620fd74/output/dist-archive/bitcoin-7cc0a620fd74.tar.gz
    11119d35fb81da37358022351eaa2637935557450891f6474d8351620310872c0e  guix-build-7cc0a620fd74/output/powerpc64-linux-gnu/SHA256SUMS.part
    12a3fe00b000a6e5d14304cb696f0aac111b0c7c14a3e0fbc6e8e130fb27d898cc  guix-build-7cc0a620fd74/output/powerpc64-linux-gnu/bitcoin-7cc0a620fd74-powerpc64-linux-gnu-debug.tar.gz
    138256b626c095bac572f072b5715218eaa2526219a379931eea68692e968092d4  guix-build-7cc0a620fd74/output/powerpc64-linux-gnu/bitcoin-7cc0a620fd74-powerpc64-linux-gnu.tar.gz
    1487a57ad92fad64d5a90113f906798e24350ef17fc72f18b92d554f0ee337f3d1  guix-build-7cc0a620fd74/output/powerpc64le-linux-gnu/SHA256SUMS.part
    15f26c439e669779ba12e8a6b2c328ed5519abd8edf7b84160e2c9c13849bdfa46  guix-build-7cc0a620fd74/output/powerpc64le-linux-gnu/bitcoin-7cc0a620fd74-powerpc64le-linux-gnu-debug.tar.gz
    16f930566537e99cdf7e56a3d06d5fab287950d27a80d08cd419828044fff0283a  guix-build-7cc0a620fd74/output/powerpc64le-linux-gnu/bitcoin-7cc0a620fd74-powerpc64le-linux-gnu.tar.gz
    171654e6fc1ada5b652d058f7d16c30251a72e7ee887771d0412a064160879e791  guix-build-7cc0a620fd74/output/riscv64-linux-gnu/SHA256SUMS.part
    1855235d1f1e49e3e1ec315ca0ada603a07e230e07a9cf71ad4ab3d26c6a001945  guix-build-7cc0a620fd74/output/riscv64-linux-gnu/bitcoin-7cc0a620fd74-riscv64-linux-gnu-debug.tar.gz
    19c017f5c635a2ebfa4891a76496508458c99ecee6950130893f11b3bed5f80d81  guix-build-7cc0a620fd74/output/riscv64-linux-gnu/bitcoin-7cc0a620fd74-riscv64-linux-gnu.tar.gz
    2073c6373293a3ed759c7ce918ed704167306b8c598f41eda4fd725e7aceead10c  guix-build-7cc0a620fd74/output/x86_64-apple-darwin/SHA256SUMS.part
    21ce76699a80c6698f4f1b6434a05cd83aa6ad3101eab999b40d06372c7fb43afe  guix-build-7cc0a620fd74/output/x86_64-apple-darwin/bitcoin-7cc0a620fd74-x86_64-apple-darwin-unsigned.dmg
    22a87e4f2bb39f5a69b2577906a68303505be907f9996e2008929f621d48635047  guix-build-7cc0a620fd74/output/x86_64-apple-darwin/bitcoin-7cc0a620fd74-x86_64-apple-darwin-unsigned.tar.gz
    23f4e740ef03cf030c2da98b9c5806262de886a61566e05324c3eb51e8ea05d09f  guix-build-7cc0a620fd74/output/x86_64-apple-darwin/bitcoin-7cc0a620fd74-x86_64-apple-darwin.tar.gz
    246cda85c3e8b3948c9356dc37e9c0b3c65f42a17368fb82d6b30d3af8a2c87348  guix-build-7cc0a620fd74/output/x86_64-linux-gnu/SHA256SUMS.part
    25a0d167ba9c00d16c89b1ac5d536197376f81dfd82296319753a508d628d2c998  guix-build-7cc0a620fd74/output/x86_64-linux-gnu/bitcoin-7cc0a620fd74-x86_64-linux-gnu-debug.tar.gz
    26445cadcc3d1b96b00a4a26111cd23f32cebe13a579bcd8dfb8e030a1f6bcd91f  guix-build-7cc0a620fd74/output/x86_64-linux-gnu/bitcoin-7cc0a620fd74-x86_64-linux-gnu.tar.gz
    276188e51d7e6f5bdaec57ce1e89d1e4f5e8c7a6c3ac7e067bc1780735ef514461  guix-build-7cc0a620fd74/output/x86_64-w64-mingw32/SHA256SUMS.part
    283ce66119f6600ead136d0331507577960e3eb921025beade89f18415c77d65d7  guix-build-7cc0a620fd74/output/x86_64-w64-mingw32/bitcoin-7cc0a620fd74-win64-debug.zip
    29cb1df2bc4ab8f5ea738a2e189ea6b2acafcd25d7efca98cfc40321b807b16c08  guix-build-7cc0a620fd74/output/x86_64-w64-mingw32/bitcoin-7cc0a620fd74-win64-setup-unsigned.exe
    3070569b6faadb4a3a8331f1e58aa4f6866281d1dddc262de97273a176b736db44  guix-build-7cc0a620fd74/output/x86_64-w64-mingw32/bitcoin-7cc0a620fd74-win64-unsigned.tar.gz
    31e2aeb256daf04bb97dca3be0c73143371385002b5dda064a0dab059a4e3365db  guix-build-7cc0a620fd74/output/x86_64-w64-mingw32/bitcoin-7cc0a620fd74-win64.zip
    
  226. hebasto force-pushed on May 5, 2023
  227. DrahtBot removed the label Needs rebase on May 5, 2023
  228. DrahtBot removed the label CI failed on May 5, 2023
  229. hebasto commented at 6:50 pm on May 5, 2023: member

    Rebased on top of the bitcoin/bitcoin#27554.

    The CI build is :green_circle:

  230. DrahtBot added the label Needs rebase on May 10, 2023
  231. fanquake referenced this in commit 5421dc3244 on May 22, 2023
  232. fanquake referenced this in commit 5ef2c1ee7a on May 23, 2023
  233. sidhujag referenced this in commit 183a37a3b7 on May 23, 2023
  234. sidhujag referenced this in commit c2228804b5 on May 23, 2023
  235. hebasto force-pushed on May 25, 2023
  236. DrahtBot removed the label Needs rebase on May 25, 2023
  237. DrahtBot added the label CI failed on May 25, 2023
  238. hebasto force-pushed on May 26, 2023
  239. hebasto force-pushed on May 26, 2023
  240. hebasto force-pushed on May 26, 2023
  241. in ci/test/00_setup_env_i686_centos.sh:12 in d29bcb4acc outdated
     8@@ -9,9 +9,10 @@ export LC_ALL=C.UTF-8
     9 export HOST=i686-pc-linux-gnu
    10 export CONTAINER_NAME=ci_i686_centos
    11 export CI_IMAGE_NAME_TAG="quay.io/centos/centos:stream9"
    12-export CI_BASE_PACKAGES="gcc-c++ glibc-devel.x86_64 libstdc++-devel.x86_64 glibc-devel.i686 libstdc++-devel.i686 ccache libtool make git python3 python3-pip which patch lbzip2 xz procps-ng dash rsync coreutils bison util-linux"
    13+# Use minimum supported python3.8 and gcc-8, see doc/dependencies.md
    


    maflcko commented at 11:54 am on May 26, 2023:
    ?

    hebasto commented at 12:13 pm on May 26, 2023:
    Oh… Bad rebasing. Thanks!
  242. hebasto force-pushed on May 26, 2023
  243. cmake: Add root `CMakeLists.txt` file 9431452c66
  244. cmake: Add `config/bitcoin-config.h` support e984ec4f51
  245. cmake: Add `cmake/introspection.cmake` file f106f21a2d
  246. cmake: Check system headers 4f047042a9
  247. cmake: Check system symbols
    Co-authored-by: Cory Fields <cory-nospam-@coryfields.com>
    Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
    85b930907b
  248. cmake: Check compiler features 7a10051bbe
  249. cmake: Build `crc32c` static library 3aaab8c9f8
  250. cmake: Build `leveldb` static library
    Co-authored-by: Cory Fields <cory-nospam-@coryfields.com>
    caaab6e8ab
  251. cmake: Add essential platform-specific definitions and options e2eb8698c5
  252. cmake: Build `minisketch` static library b6c361cb83
  253. cmake: Build `secp256k1` static library cfab899883
  254. cmake: Build `univalue` static library 35dd9889ae
  255. cmake: Build `bitcoin_crypto` library 8d90ec827b
  256. cmake: Build `bitcoin_util` static library 5e4d3f0614
  257. cmake: Build `bitcoin_consensus` library 746bb1e2e1
  258. cmake: Build `bitcoind` executable a00e580780
  259. build: Generate `share/toolchain.cmake` in depends bc4ea83cb5
  260. cmake: Add cross-compiling support
    To configure CMake for cross-compiling, use
    `--toolchain depends/${HOST}/share/toolchain.cmake` command-line option.
    dd8dfb5ee4
  261. cmake: Add `TristateOption` module f85e8853e7
  262. cmake: Add `ccache` support 95488cc49c
  263. cmake: Add `libnatpmp` optional package support c508c512c6
  264. cmake: Add `libminiupnpc` optional package support b1b91dd17f
  265. cmake: Add `libzmq` optional package support 00f909f219
  266. cmake: Add `systemtap-sdt` optional package support aad5119884
  267. cmake: Build `bitcoin-cli` executable 582424e494
  268. cmake: Build `bitcoin-tx` executable 3d79b0c145
  269. cmake: Build `bitcoin-util` executable 9d9ba349f0
  270. cmake: Add wallet functionality 731e17d4ea
  271. cmake: Add test config and runners dce36eada0
  272. cmake: Build `bench_bitcoin` executable 4432b571b2
  273. cmake: Build `test_bitcoin` executable 1447235b1d
  274. cmake: Include CTest a8a3c64f2a
  275. cmake: Add `TryAppendCompilerFlag` module 160eabdcb5
  276. cmake: Add `TryAppendLinkerFlag` module 21ed4a0cf5
  277. cmake: Add platform-specific flags 969e2a4cf5
  278. cmake: Redefine configuration flags b57e8ef8b4
  279. cmake: Add `HARDENING` option c592b189de
  280. cmake: Add `REDUCE_EXPORTS` option f7a7a0f16d
  281. cmake: Add `WERROR` option 3686ff6b88
  282. cmake: Add `BUILD_SHARED` and `BUILD_STATIC` options d66e45a9ab
  283. [FIXUP] cmake: Move only 9940dfa18a
  284. cmake: Build `libbitcoinconsensus` library a4acce434b
  285. cmake: Build `libbitcoinkernel` library 033fe81fd9
  286. cmake: Build `bitcoin-chainstate` executable 619cd25a47
  287. cmake: Add syscall sandbox support 2a4545128f
  288. cmake: Implement `make install` 976dab444e
  289. cmake: Add `split-debug.sh` support 513b18c977
  290. cmake: Add `GetAllExecutables` module 1a386a4751
  291. cmake: Add `check-symbols` target 8887e18a08
  292. cmake: Add `check-security` target cac3955cda
  293. cmake: Add `test-security-check` target 4ca1290d30
  294. cmake: Build `bitcoin-qt` executable f671c82ab6
  295. cmake: Add `libqrencode` optional package support 04ba5b13ef
  296. msvc: Fix building with vcpkg's Qt packages
    See: https://stackoverflow.com/questions/4845198/fatal-error-no-target-architecture-in-visual-studio
    1ff2ad8ef2
  297. [FIXUP] cmake: Link MINGW executables with `-static` ef36aefc33
  298. cmake: Add `deploy` target for MINGW builds 3126f426ae
  299. cmake: Add `deploy` target for macOS 95d0e7768d
  300. cmake: Migrate Guix builds to CMake 513d60815d
  301. cmake: Add `SANITIZERS` option 035a10de57
  302. cmake: Add `BUILD_FUZZ_BINARY` option d8faa8647b
  303. cmake: Add `FUZZ` option 55915a1733
  304. cmake: Add `MULTIPROCESS` option f613e0a0ea
  305. cmake: Add external signer support c466a858bf
  306. build: Fix duplicate Android platform plugin definitions in depends ecd42546fa
  307. cmake, depends: Add support for Android hosts 88230ecabb
  308. cmake: Add compiler diagnostic flags 63d9ddd52a
  309. ci: Migrate CI tasks to CMake 6da2447ba4
  310. hebasto force-pushed on May 26, 2023
  311. DrahtBot removed the label CI failed on May 26, 2023
  312. hebasto commented at 3:47 pm on May 26, 2023: member

    Rebased using the recent https://github.com/hebasto/bitcoin/pull/15.

    The CI build is :green_circle:

    Guix builds:

     00e55d1f6049ff973dc7a0d1a94f898cac5c107867e5b56ad1765add2cf5e9bad  guix-build-6da2447ba472/output/aarch64-linux-gnu/SHA256SUMS.part
     192edb276a7daef893edc1ad07a062666866b33d1e57c9475571ce7446d947d72  guix-build-6da2447ba472/output/aarch64-linux-gnu/bitcoin-6da2447ba472-aarch64-linux-gnu-debug.tar.gz
     2b505174b13a9e15c99bb866238f6e8d06cecc9b7099f209fa556581927a61b32  guix-build-6da2447ba472/output/aarch64-linux-gnu/bitcoin-6da2447ba472-aarch64-linux-gnu.tar.gz
     3808666e38700552b4ec8cfc726b56302426f8096193aaf57e3fa5a596966acbd  guix-build-6da2447ba472/output/arm-linux-gnueabihf/SHA256SUMS.part
     4f73804869f6943c5eb3dfc2db61e3a49c4830ce4a44df80ead7783c5082daf1e  guix-build-6da2447ba472/output/arm-linux-gnueabihf/bitcoin-6da2447ba472-arm-linux-gnueabihf-debug.tar.gz
     5067e98f534023be038ff70ae5cc84b9c1a0866f13cfaad3fcdb1b7f530010229  guix-build-6da2447ba472/output/arm-linux-gnueabihf/bitcoin-6da2447ba472-arm-linux-gnueabihf.tar.gz
     6a8a14c4b5c85f99043c4ad619dbc53ec7b2905d640dda5f0b7e076b07006f8ed  guix-build-6da2447ba472/output/arm64-apple-darwin/SHA256SUMS.part
     7803176a10aa6ffd057921e8a480dcbf7b2cdabfc351b77e270dce37effc739cb  guix-build-6da2447ba472/output/arm64-apple-darwin/bitcoin-6da2447ba472-arm64-apple-darwin-unsigned.dmg
     84baf135cfcae2583aa1a2b03be2a7a091ff4c364c101b1385a6873c5f5f4cf3d  guix-build-6da2447ba472/output/arm64-apple-darwin/bitcoin-6da2447ba472-arm64-apple-darwin-unsigned.tar.gz
     93644b950cd926ef7d0afd8efd4553dfbd5003c962e7411b952d77410903cf526  guix-build-6da2447ba472/output/arm64-apple-darwin/bitcoin-6da2447ba472-arm64-apple-darwin.tar.gz
    104f158342a1dc953daafed2d4668b7b3e16861dc80486d13794ad63c4f94307ed  guix-build-6da2447ba472/output/dist-archive/bitcoin-6da2447ba472.tar.gz
    11eb60adece4c83d1cb7d86fdbc5a832f3c4212edb4f64c5ed57b0e363d939735a  guix-build-6da2447ba472/output/powerpc64-linux-gnu/SHA256SUMS.part
    12e88896b253268f51472ff8a1719e368d5d780e5a81e4a1b3534749f7a169728a  guix-build-6da2447ba472/output/powerpc64-linux-gnu/bitcoin-6da2447ba472-powerpc64-linux-gnu-debug.tar.gz
    1311062cfc02c2f02819133ed6bbb6858029c093f02977a6426ccedc3a0d61056d  guix-build-6da2447ba472/output/powerpc64-linux-gnu/bitcoin-6da2447ba472-powerpc64-linux-gnu.tar.gz
    14f632db6ae6ca4d131929a55d7cc04f1535b8e14d53bf89c82022e53eb56521b1  guix-build-6da2447ba472/output/powerpc64le-linux-gnu/SHA256SUMS.part
    15da3d0c0aa8e8cb32bc5f339e548dc06b5e73ca5904d8a51e13191e7172c2b1dc  guix-build-6da2447ba472/output/powerpc64le-linux-gnu/bitcoin-6da2447ba472-powerpc64le-linux-gnu-debug.tar.gz
    16b608ee27dad6cee342961eacb0d36c3163868d846ce1e74275e22ac2270eaa7a  guix-build-6da2447ba472/output/powerpc64le-linux-gnu/bitcoin-6da2447ba472-powerpc64le-linux-gnu.tar.gz
    17442c091932dcd37ba81e8a24fc396c8b6d327fcdc064ff440e4f3f63c1525b72  guix-build-6da2447ba472/output/riscv64-linux-gnu/SHA256SUMS.part
    18f82a30c7f8aa710f7bda84fe83ced3445547656f2035615e5b8318b5a73764b4  guix-build-6da2447ba472/output/riscv64-linux-gnu/bitcoin-6da2447ba472-riscv64-linux-gnu-debug.tar.gz
    19981ae422e09d6a03f9575808b42e772d3fb02c1afe1c2706054579662e88dc88  guix-build-6da2447ba472/output/riscv64-linux-gnu/bitcoin-6da2447ba472-riscv64-linux-gnu.tar.gz
    20e7b0b2bc85c3e8d0c515de7b4b6140fb48bf6a4d448d3855b76f637f72af9a06  guix-build-6da2447ba472/output/x86_64-apple-darwin/SHA256SUMS.part
    219efd7787d8882c3e35c3a54b6d10f5a40aedad0178bfccdc1770426a766c15cb  guix-build-6da2447ba472/output/x86_64-apple-darwin/bitcoin-6da2447ba472-x86_64-apple-darwin-unsigned.dmg
    226ee52ec5fa097970cf1fa606dc7fc1a308ecc1a388570242683f5b7bb43146fb  guix-build-6da2447ba472/output/x86_64-apple-darwin/bitcoin-6da2447ba472-x86_64-apple-darwin-unsigned.tar.gz
    232ee3b5ddf39a6be1bce59f86c2694804d2e43e9f6cc32371d22b8bc1b946f3d4  guix-build-6da2447ba472/output/x86_64-apple-darwin/bitcoin-6da2447ba472-x86_64-apple-darwin.tar.gz
    242a19ce56e38c0ae93104cd7e594ad4a6fadc8aa3bb7ddc1c45eb35c9e4837cf7  guix-build-6da2447ba472/output/x86_64-linux-gnu/SHA256SUMS.part
    25a6876c0ad3a7ecdc0c7040d88bc81b0a3d30854a51cb7edb87cf407c3971bad7  guix-build-6da2447ba472/output/x86_64-linux-gnu/bitcoin-6da2447ba472-x86_64-linux-gnu-debug.tar.gz
    26663eb0817cc7f8da784ba66db8b068d68d47a8b06d8713be2dff7d80ab63326f  guix-build-6da2447ba472/output/x86_64-linux-gnu/bitcoin-6da2447ba472-x86_64-linux-gnu.tar.gz
    27dfb0fedf875558a1f4e5dc7b6e3c9c0c42400ac0cb63f15d97135c629ff646ae  guix-build-6da2447ba472/output/x86_64-w64-mingw32/SHA256SUMS.part
    28b0413410ff106c55672ac0533c7497cc2eda5a7a50202df016e59039adfa10e8  guix-build-6da2447ba472/output/x86_64-w64-mingw32/bitcoin-6da2447ba472-win64-debug.zip
    29ebe471369c36358e687974fad18454be4f2b92a8986ff234e2018034994b1e0b  guix-build-6da2447ba472/output/x86_64-w64-mingw32/bitcoin-6da2447ba472-win64-setup-unsigned.exe
    30c463081d2092f19de0c52f5b83f5f37d4373e80ca95842c161e8f23afbabc522  guix-build-6da2447ba472/output/x86_64-w64-mingw32/bitcoin-6da2447ba472-win64-unsigned.tar.gz
    31e4f170a8cee8c410569c53b7029cea0298479c9b3999646fea0922876897ab00  guix-build-6da2447ba472/output/x86_64-w64-mingw32/bitcoin-6da2447ba472-win64.zip
    
  313. DrahtBot added the label Needs rebase on May 29, 2023
  314. DrahtBot commented at 4:54 pm on May 29, 2023: contributor

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

  315. hebasto referenced this in commit 3a1fe30b87 on Jul 7, 2023
  316. hebasto commented at 5:16 pm on July 7, 2023: member

    Closing this PR as its usefulness seems marginal.

    Although, I’ll keep maintaining this branch.

    Reminding that the active reviewing process still happening in https://github.com/hebasto/bitcoin/tree/cmake-staging and related PRs.

  317. hebasto closed this on Jul 7, 2023

  318. luke-jr commented at 5:30 pm on July 7, 2023: member

    we should be able to enumerate some more benefits to doing so.

    One more for the list:

    • Real out-of-tree builds. Autotools requires autogen to be run in the tree, which can be complicated when you don’t want the build to have write access to the source dir.
  319. hebasto referenced this in commit e592ad1ea9 on Jul 20, 2023
  320. hebasto referenced this in commit 46da0cfa79 on Jul 20, 2023
  321. hebasto referenced this in commit 92e4391161 on Sep 13, 2023
  322. PastaPastaPasta referenced this in commit 74138c6a86 on Feb 28, 2024
  323. PastaPastaPasta referenced this in commit 1526885baf on Feb 29, 2024
  324. bitcoin locked this on Jul 6, 2024

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-11-21 15:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me