build: Switch to Qt 6 #30997

pull hebasto wants to merge 11 commits into bitcoin:master from hebasto:240928-qt6 changing 52 files +700 βˆ’655
  1. hebasto commented at 9:11 pm on September 28, 2024: member

    The currently used Qt 5.15 is approaching EOL. The recent migration of the Bitcoin Core’s build system to CMake makes it possible to switch to Qt 6.

    This PR updates the OS runtime compatibility requirements for the Bitcoin Core GUI as follows:

    1. Linux

    Starting with Qt 6.5.0, the libxcb-cursor0 package is required to be installed at runtime.

    2. Windows

    Qt 6 requires Windows 10 (1809 or later) / Windows 11 (also see #31172). The new code expects Qt 6.7 or newer, which holds automatically for cross-compiled builds. A new style plugin causes minor visual glitches that will be fixed in follow-ups.

    3. macOS

    bitcoin-qt now uses the Metal backend.


    IMPORTANT. Don’t forget to install Ninja.


    For historical context, please refer to:


    UPD 2024-10-09. Qt 6.8 has been released, but it has some drawbacks for us. As a result, this PR will stick to Qt 6.7.

  2. hebasto added the label Build system on Sep 28, 2024
  3. DrahtBot commented at 9:11 pm on September 28, 2024: contributor

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

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/30997.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    Concept ACK jonatack, promag, laanwj, Zero-1729, BrandonOdiwuor, pythcoiner
    Stale ACK pablomartin4btc

    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:

    • #31358 (depends: Avoid hardcoding host_prefix in toolchain file by hebasto)
    • #31349 (ci: detect outbound internet traffic generated while running tests by vasild)
    • #31233 (cmake: Improve robustness and usability by hebasto)
    • #30975 (Add multiprocess binaries to release build by Sjors)
    • #28710 (Remove the legacy wallet and BDB dependency by achow101)
    • #19461 (multiprocess: Add bitcoin-gui -ipcconnect option by ryanofsky)
    • #19460 (multiprocess: Add bitcoin-wallet -ipcconnect option by ryanofsky)
    • #10102 (Multiprocess bitcoin by ryanofsky)

    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.

  4. DrahtBot added the label CI failed on Sep 28, 2024
  5. hebasto force-pushed on Sep 28, 2024
  6. hebasto force-pushed on Sep 28, 2024
  7. hebasto force-pushed on Sep 28, 2024
  8. hebasto force-pushed on Sep 28, 2024
  9. hebasto force-pushed on Sep 28, 2024
  10. jarolrod commented at 11:47 pm on September 28, 2024: member
    concept ack 🌞
  11. hebasto force-pushed on Sep 29, 2024
  12. hebasto force-pushed on Sep 29, 2024
  13. hebasto force-pushed on Sep 29, 2024
  14. hebasto force-pushed on Sep 29, 2024
  15. hebasto force-pushed on Sep 29, 2024
  16. hebasto force-pushed on Sep 29, 2024
  17. hebasto force-pushed on Sep 29, 2024
  18. hebasto force-pushed on Sep 29, 2024
  19. Sjors commented at 7:44 am on September 30, 2024: member

    macOS Monterey 12 hardware support: https://support.apple.com/en-us/103260 macOS Big Sur 11 hardware support: https://support.apple.com/en-us/111980

    Those differ by about a year. By time this is released, Monterey will work on ten year old machines. So I think it’s fine to drop Big Sur (for Qt).

    Don’t forget to update build-osx.md.

  20. maflcko commented at 7:54 am on September 30, 2024: member
    The bump for Ubuntu seems fine as well. There’s already the requirement from #29987 for all binaries, so going one LTS further for the GUI seems fine.
  21. maflcko commented at 7:57 am on September 30, 2024: member

    Don’t forget to update build-osx.md.

    I don’t think the gui requirements are documented anywhere, because for now they were always equal to the daemon requirements? Possibly just saying globally “qt6” is required implies the additional requirement on the OS?

  22. Sjors commented at 8:14 am on September 30, 2024: member

    @maflcko I think it’s just three places that need a change / consideration:

    • brew install qt@5 -> qt or qt@6
    • require ninja? (in depends/README.md)
    • “For macOS 11 (Big Sur) and 12 (Monterey)”: IIUC this doesn’t change, except that QT won’t work with 11. Not sure how to best document that.

    Loading a descriptor wallet with the GUI resulted in an error popup:

    Error: SQLiteDatabase: Failed to configure serialized threading mode: bad parameter or other API misuse

    The log also says:

    2024-09-30T08:08:04Z [qt-init] SQLite Error. Code: 21. Message: misuse at line 185577 of [1b37c146ee]

    Using SQLite Version 3.43.2 and Qt 6.7.2 via Homebrew on Intel macOS 15.0 as well as 13.7.

    Seems odd the QT update would impact the wallet at all. Also happens when creating a fresh wallet in the GUI.

  23. Sjors commented at 8:44 am on September 30, 2024: member

    Building depends fails for me, maybe something wrong with qttools_skip_dependencies.patch?

     0CMake Error at qtbase/cmake/QtTargetHelpers.cmake:171 (target_link_libraries):
     1  Target "linguist" links to:
     2
     3    Qt::PrintSupport
     4
     5  but the target was not found.  Possible reasons include:
     6
     7    * There is a typo in the target name.
     8    * A find_package call is missing for an IMPORTED target.
     9    * An ALIAS target is missing.
    10
    11Call Stack (most recent call first):
    12  qtbase/cmake/QtExecutableHelpers.cmake:120 (qt_internal_extend_target)
    13  qtbase/cmake/QtAppHelpers.cmake:46 (qt_internal_add_executable)
    14  qttools/src/linguist/linguist/CMakeLists.txt:8 (qt_internal_add_app)
    
  24. hebasto commented at 9:00 am on September 30, 2024: member

    @Sjors

    Building depends fails for me, maybe something wrong with qttools_skip_dependencies.patch?

    What’s your build platform and the value of the HOST variable?

    UPD. If you build on macOS, does the following diff help:

     0--- a/depends/packages/qt.mk
     1+++ b/depends/packages/qt.mk
     2@@ -120,7 +120,7 @@ $(package)_config_opts_darwin += -no-feature-vulkan
     3 $(package)_config_opts_linux = -xcb
     4 $(package)_config_opts_linux += -no-xcb-xlib
     5 $(package)_config_opts_linux += -no-feature-xlib
     6-$(package)_config_opts_linux += -no-feature-process
     7+$(package)_config_opts += -no-feature-process
     8 $(package)_config_opts_linux += -system-freetype
     9 $(package)_config_opts_linux += -fontconfig
    10 $(package)_config_opts_linux += -no-opengl
    

    ?

  25. in depends/patches/qt/no_warnings_for_symbols.patch:7 in 2c7ae0dc91 outdated
    -1@@ -1,11 +0,0 @@
    0---- a/qtbase/mkspecs/features/mac/no_warn_empty_obj_files.prf
    1-+++ b/qtbase/mkspecs/features/mac/no_warn_empty_obj_files.prf
    2-@@ -1,7 +1,7 @@
    3- # Prevent warnings about object files without any symbols. This is a common
    4- # thing in Qt as we tend to build files unconditionally, and then use ifdefs
    5- # to compile out parts that are not relevant.
    6--QMAKE_RANLIB += -no_warning_for_no_symbols
    


    fanquake commented at 10:44 am on September 30, 2024:
    This code still exists in qt 6.7.2, so why is this ok to drop?

    hebasto commented at 12:32 pm on October 3, 2024:

    The QMAKE_* variables are used by the legacy qmake build tools, which we neither build nor use.

    From https://doc.qt.io/qt-6/qt6-buildsystem.html:

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

    Note: This only affects users that want to build Qt from sources. You can still use qmake as a build tool for your applications.

  26. in depends/patches/qt/macos_skip_version_checks.patch:1 in 2c7ae0dc91 outdated
    0@@ -0,0 +1,66 @@
    1+The @available compiler directive exports the __isPlatformVersionAtLeast
    


    fanquake commented at 10:45 am on September 30, 2024:
    Where does this patch come from? If upstream, can you link to the issue/commits? If not upstream/ it’s a bug in Qt, has an issue been opened upstream?

    hebasto commented at 12:49 pm on September 30, 2024:

    Where does this patch come from? If upstream, can you link to the issue/commits? If not upstream/ it’s a bug in Qt, has an issue been opened upstream?

    Not upstream. Qt does not officially support cross-compiling from non-macOS build platforms to macOS. I don’t think any related issue upstream will be considered.


    fanquake commented at 1:49 pm on September 30, 2024:

    Ok. This is interesting, because (@available(macOS is used in more places in the Qt codebase (and I assume this will only increase in future) than what is patched out here, and, was also present in Qt5, but we didn’t have to patch it out there? So maybe there is some other build-related issue here?

    This approach of essentially hardcoding our oldest supported version, as also the newest supported version (by removing the runtime version checking), also means any users of the newer OS’s, may be missing out on new features/other improvements, but I guess that is the tradeoff.


    hebasto commented at 7:57 pm on October 30, 2024:

    Ok. This is interesting, because (@available(macOS is used in more places in the Qt codebase (and I assume this will only increase in future) than what is patched out here, and, was also present in Qt5, but we didn’t have to patch it out there?

    Qt 5 codebase uses (@available(macOS in code that we do not use, specifically in the RHI implementation for the Metal backend (src/gui/rhi/qrhimetal.mm) and in iOS plugins (plugins/platforms/ios/...).

    So maybe there is some other build-related issue here?

    I don’t think this patch could cause any of those issues.

  27. in depends/patches/qt/guard_headers_properly.patch:1 in 2c7ae0dc91 outdated
    0@@ -0,0 +1,42 @@
    1+In certain environments, like Guix, host-specific include
    


    fanquake commented at 10:46 am on September 30, 2024:
    Where does this patch come from? If upstream, can you link to the issue/commits? If not upstream/ it’s a bug in Qt, has an issue been opened upstream?

    hebasto commented at 5:05 pm on October 31, 2024:

    Where does this patch come from? If upstream, can you link to the issue/commits? If not upstream/ it’s a bug in Qt, has an issue been opened upstream?

    It’s the latter. However, the issue only manifests when cross-compiling for macOS, which is not supported by the Qt project. Therefore, I doubt there’s a reproducible case for the supported build scenarios.


    fanquake commented at 11:30 am on November 4, 2024:
    Ok. Then can you update the patch with all the missing context? This still seems to just be working around an unidentified bug, which I’m assuming Qt would want to fix. i.e moving #include <experimental/source_location> down 1 line. I assume this “fixes” something be shifting the include into a non-macOS-cross taken path, but that isn’t obvious from the patch, and if this patch needed rebasing (on top of changed code) in the future, it’s not clear how to fix what will likely be obscure compile failures.

    hebasto commented at 4:01 pm on November 4, 2024:
    Please see #31214 as a more clean (as I believe) alternative.

    hebasto commented at 8:52 pm on November 4, 2024:
    The patch has been dropped in favour of amending the Guix script.
  28. in depends/patches/qt/top_level_QtTopLevelHelpers.cmake:2 in 2c7ae0dc91 outdated
    0@@ -0,0 +1,565 @@
    1+# Populates $out_module_list with all subdirectories that have a CMakeLists.txt file
    2+function(qt_internal_find_modules out_module_list)
    


    fanquake commented at 10:57 am on September 30, 2024:
    Can you explain these patches? Seems like a lot of code copy-pasted out of Qt itself? Is this “normal” to have to do when trying to build Qt?

    hebasto commented at 1:00 pm on September 30, 2024:

    Can you explain these patches? Seems like a lot of code copy-pasted out of Qt itself?

    All top_level_* files are not “patches”. They are indeed copy-pasted from https://github.com/qt/qt5 to reproduce Qt’s full source infrastructure, which is required to configure multiple separate modules at once.

    Is this “normal” to have to do when trying to build Qt?

    There are other alternatives:

    1. Download the full source archive.
    2. Use the qt-configure-module tool.

    I’ve tried the latter approach, and it makes the code much clunkier.


    fanquake commented at 1:15 pm on September 30, 2024:

    They are indeed copy-pasted from https://github.com/qt/qt5 to reproduce Qt’s full source infrastructure,

    It seems really odd that we’d need to copy-paste a bunch of code out of Qt 5, to compile Qt 6? Is this an approach supported by Qt? Is it guaranteed to keep working going forward, or just happens to work for now?

    Use the qt-configure-module tool. I’ve tried the latter approach, and it makes the code much clunkier.

    Could you elaborate on “clunkier”, as I assume at some point we are going to have to adopt this tooling in any case.


    hebasto commented at 1:28 pm on September 30, 2024:

    It seems really odd that we’d need to copy-paste a bunch of code out of Qt 5, to compile Qt 6?

    The name of the repository is confusing. See the branches and tags for details. The dev branch is QT 6 :)

    Is this an approach supported by Qt? Is it guaranteed to keep working going forward, or just happens to work for now?

    It is guaranteed to keep working going forward, even with additional modules for the QML GUI.

    Could you elaborate on “clunkier”, as I assume at some point we are going to have to adopt this tooling in any case.

    Instead of two packages, qt and native_qt, this approach assumes we have a separate package for each module: qt, qttools, qttranslations, native_qt, native_qttools, native_qttranslations. Additionally, the *qttransaltions module must have access to the *qt sources anyway.


    fanquake commented at 1:32 pm on September 30, 2024:

    The name of the repository is confusing. See the branches and tags for details. The dev branch is QT 6 :)

    Ok. I guess in that case my confusion is just around having to need to copy-paste, and maintain code out of Qt 6, into separate patches, to then be able to compile Qt 6.

    It is guaranteed to keep working going forward, even with additional modules for the QML GUI.

    Can you link to where this guarantee comes from? It’d be good to document all of this, if it’s a less-standard way to build Qt.


    hebasto commented at 1:42 pm on September 30, 2024:

    Can you link to where this guarantee comes from? It’d be good to document all of this, if it’s a less-standard way to build Qt.

    Actually, it is the only documented way to configure Qt 6: https://doc.qt.io/qt-6/configure-options.html#configure-workflow.

    Using the qt-configure-module tool is mentioned in the Qt’s blog.


    hebasto commented at 12:34 pm on October 3, 2024:

    All top_level_* files are not “patches”. They are indeed copy-pasted from https://github.com/qt/qt5 to reproduce Qt’s full source infrastructure, which is required to configure multiple separate modules at once.

    These files are fetched from the Qt repository as extra sources now.

  29. in depends/patches/qt/qttools_skip_dependencies.patch:2 in 2c7ae0dc91 outdated
    0@@ -0,0 +1,41 @@
    1+QtTools: Skip unnecessary dependencies:
    2+
    


    fanquake commented at 11:18 am on September 30, 2024:
    Is LLVM only needed for building the Qt documentation? I’d have thought there’d be a flag for disabling/this can’t be a hard requirement, otherwise you’d also need a Clang/LLVM installation to build Qt, even when using GCC? I see there are some flags here for disabling related things: https://github.com/bitcoin/bitcoin/pull/30997/commits/2c7ae0dc91b005218b0e1e79bfbc729e8d14c71e#diff-0d7e256978e78897b774581dad22102138ce4ba46aa07faaef1ae6fc6178aad4R98, but I’m guessing they must not quite work properly?

    hebasto commented at 12:54 pm on October 3, 2024:

    Is LLVM only needed for building the Qt documentation?

    Additionally, it allows building a Clang-based lupdate parser. We explicitly disabled this feature in:https://github.com/bitcoin/bitcoin/blob/d663b154ba05ec93514125936d92a0c37a291444/depends/packages/native_qt.mk#L80


    fanquake commented at 12:56 pm on October 3, 2024:
    So there’s a flag to disable that tool, but no flag to disable building/needing LLVM for the docs? So in the normal case, building QT, requires LLVM, even if building with GCC?

    hebasto commented at 8:15 pm on October 30, 2024:

    From https://doc.qt.io/qt-6/qdoc-guide-clang.html:

    QDoc uses Clang when parsing C++ files as well as function signatures in \fn commands. Clang is part of the LLVM Compiler Infrastructure Project. If you’re going to build QDoc from source, you must install Clang 17.0 or later.


    fanquake commented at 8:25 pm on October 30, 2024:

    From https://doc.qt.io/qt-6/qdoc-guide-clang.html:

    Im surprised there’s no way to disable Qdoc (and its LLVM requirement) without patching the Qt source code?


    hebasto commented at 10:42 am on October 31, 2024:
    I’ve checked once more. It fails without patching: https://cirrus-ci.com/task/4951518795792384.
  30. Sjors commented at 11:20 am on September 30, 2024: member

    @hebasto this was on macOS, not a cross-compile. $HOST is my-computer.localdomain

    Your patch seems to work, it’s building now. Will let you know if I find other issues.


    No that just causes it fail fail later with unknown type name 'QProcess', here’s the log: https://gist.github.com/Sjors/4c4576ddc0db8bf41251293382f08720

  31. fanquake commented at 12:07 pm on September 30, 2024: member

    Seems like this will have a number of prerequisite PRs; 1 per platform for trying to change the runtime requirements of our binaries, and another to actually make it possible to have different runtime requirements for the gui compared to the other binaries, if that is going to be the approach.

    It’d be good if 49b025636be266fa17cbb4cdb9d541c0e71f2ef8 explained why bumping to 12 is needed, as the Qt 6 supported platforms for Linux claims anything down to GCC 9 should be supported: https://doc.qt.io/qt-6/supported-platforms.html#linux-x11. I’m guessing this is just because we are using 12 to compile the bins, and could also be worked around.

    It’d be good if fba4df9c200af0be5e2ed4ecc98cb2c0cb0b33ab explained why macOS 12.x is needed, because Qt 6 claims to support macOS 11.x through to 14.x: https://doc.qt.io/qt-6/macos.html.

    Given that this PR is also adding more GUI-only build dependencies, it could be a good time to reconsider #29914, and separating the GUI build from the rest of the binaries, maybe that’d also make it easier to enforce the varying requirements.

  32. in src/qt/CMakeLists.txt:22 in d2bc3fc00e outdated
    21     if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
    22-      list(APPEND plugins Qt5::QXcbIntegrationPlugin)
    23+      list(APPEND plugins Qt6::QXcbIntegrationPlugin)
    24     elseif(WIN32)
    25-      list(APPEND plugins Qt5::QWindowsIntegrationPlugin Qt5::QWindowsVistaStylePlugin)
    26+      list(APPEND plugins Qt6::QWindowsIntegrationPlugin Qt6::QModernWindowsStylePlugin)
    


    fanquake commented at 2:45 pm on September 30, 2024:

    In 1b95937fb70b5f5ec7462d48018b7180cc37c1e1 (Fix compiling for Windows):

    From what I can tell, QModernWindowsStylePlugin was introduced in Qt 6.7.0, which I assume means this change drags the minimum required Qt for Windows up to 6.7.0 (the current latest release)? Is that correct?


    hebasto commented at 2:53 pm on September 30, 2024:
    Correct.

    fanquake commented at 2:55 pm on September 30, 2024:
    Probably something that should be mentioned in the commit message? Also in the PR description, if you’re adding the requirement that building for a certain platform will now require the very latest release of Qt.

    hebasto commented at 6:02 pm on September 30, 2024:
    Thanks! Done.
  33. in ci/test/00_setup_env_mac_native.sh:14 in d2bc3fc00e outdated
    10@@ -11,7 +11,7 @@ export LC_ALL=C.UTF-8
    11 export PIP_PACKAGES="--break-system-packages zmq"
    12 export GOAL="install"
    13 export CMAKE_GENERATOR="Ninja"
    14-export BITCOIN_CONFIG="-DBUILD_GUI=ON -DWITH_ZMQ=ON -DWITH_MINIUPNPC=ON -DWITH_NATPMP=ON -DREDUCE_EXPORTS=ON"
    15+export BITCOIN_CONFIG="-DBUILD_GUI=ON -DWITH_ZMQ=ON -DWITH_MINIUPNPC=ON -DWITH_NATPMP=ON -DREDUCE_EXPORTS=ON -DCMAKE_CXX_FLAGS='-Wno-error=deprecated-declarations'"
    


    fanquake commented at 3:17 pm on September 30, 2024:
    In 9ad6801174298241cfeff80c5ba9214b4bb9981f (ci: Update for Qt 6): I was under the impression that these kinds of GUI-only warnings should be suppressed in the build system, i.e: https://github.com/bitcoin/bitcoin/blob/f3c74c4a7e120ea363abe4d4aa034b85c1d71919/src/qt/CMakeLists.txt#L126 ? I think we should do one or the other, but not spread supression between the build system and the CI.

    hebasto commented at 4:34 pm on September 30, 2024:
    Apologies, this was a remnant from one of the development branches and has been deleted
  34. hebasto commented at 4:01 pm on September 30, 2024: member

    @fanquake

    It’d be good if 49b0256 explained why bumping to 12 is needed, as the Qt 6 supported platforms for Linux claims anything down to GCC 9 should be supported: https://doc.qt.io/qt-6/supported-platforms.html#linux-x11. I’m guessing this is just because we are using 12 to compile the bins, and could also be worked around.

    I agree with your guess. Do you have any hints on possible workarounds?

  35. hebasto force-pushed on Sep 30, 2024
  36. in CMakeLists.txt:165 in 4e8d4492b6 outdated
    181@@ -182,7 +182,7 @@ if(BUILD_GUI)
    182   if(BUILD_GUI_TESTS)
    183     list(APPEND qt_components Test)
    184   endif()
    185-  find_package(Qt5 5.11.3 MODULE REQUIRED
    186+  find_package(Qt 6.2 MODULE REQUIRED
    


    jonatack commented at 4:20 pm on September 30, 2024:
    Would the minimum QT version in doc/dependencies.md need to be updated?

    hebasto commented at 4:37 pm on September 30, 2024:
    Thanks! Updated.
  37. jonatack commented at 4:21 pm on September 30, 2024: member
    Concept ACK
  38. hebasto force-pushed on Sep 30, 2024
  39. hebasto commented at 6:03 pm on September 30, 2024: member

    @Sjors

    Building depends fails for me, maybe something wrong with qttools_skip_dependencies.patch?

    The issue should be fixed now :)

  40. in contrib/guix/libexec/build.sh:174 in af8a2debd5 outdated
    170@@ -171,6 +171,8 @@ make -C depends --jobs="$JOBS" HOST="$HOST" \
    171                                    ${SOURCES_PATH+SOURCES_PATH="$SOURCES_PATH"} \
    172                                    ${BASE_CACHE+BASE_CACHE="$BASE_CACHE"} \
    173                                    ${SDK_PATH+SDK_PATH="$SDK_PATH"} \
    174+                                   native_qt_cc="${NATIVE_GCC}/bin/gcc" \
    


    fanquake commented at 6:37 pm on September 30, 2024:

    In 57b8139a9c146f1146b9d3c92be35a7fb606585f (guix: Adjust for Qt 6): Not sure this is the right direction.

    1. Why does Qt need special treatment here? It should be finding the compiler, the same as all other packages we build.
    2. We shouldn’t be hard-coding GCC usage, otherwise you’re requiring a GCC toolchain to build releases for macOS, where it shouldn’t be needed. Clang is capable of building native bins. i.e #30206.

    hebasto commented at 7:32 pm on September 30, 2024:
    1. On the master branch, building in Guix for macOS does use a GCC toolchain to compile native Qt tools.

    This PR does the same.

    I agree that Clang could be used instead. However, I’d prefer to leave this change of this PR scope.

    1. Special treatment is needed for every native package that uses CMake. For now, this applies only to Qt.

    By default, CMake looks for the cc and c++ executables available in PATH. A GCC toolchain creates bin/gcc and bin/c++ symlinks, while a Clang toolchain creates bin/cc and bin/c++, respectively. Therefore, CMake can end up with the following configuration:

    0$ cat CMakeLists.txt 
    1cmake_minimum_required(VERSION 3.22)
    2project(guix-play)
    3
    4$ guix shell --container --pure cmake ninja clang-toolchain@18 gcc-toolchain@12
    5[env]$ cmake -B build -G Ninja --fresh
    6-- The C compiler identification is Clang 18.1.8
    7-- The CXX compiler identification is GNU 12.4.0
    8< snip >
    

    This configuration fails to build on x86_64.


    fanquake commented at 8:12 am on October 10, 2024:

    Special treatment is needed for every native package that uses CMake. For now, this applies only to Qt.

    So this will also apply to libmultiprocess. I guess it’s currently not a issue?, because we don’t build it in Guix, however, that may change soon, #30975, so rather than adding Qt workarounds here, and then having to either add the same workarounds for libmultiprocess, or fix things in a more fundamental way later, it may still be better to make those changes now.

    By default, CMake looks for the cc and c++ executables available in PATH. A GCC toolchain creates bin/gcc and bin/c++ symlinks, while a Clang toolchain creates bin/cc and bin/c++, respectively. Therefore, CMake can end up with the following configuration:

    GCC and Clang installs may create those symlinks in some default cases, but this will all vary by install or distro, for example, on Alpine:

    0apk add gcc clang
    1# cc --version
    2cc (Alpine 13.2.1_git20240309) 13.2.1 20240309 # cc here is GCC, not Clang
    

    So it’d seem like this is an issue that can already happen outside of Guix, which might mean it’s better to fix it in depends, rather than adding workarounds for depends (just inside Guix).

    Note that in the Guix example you provided, whether you see that behaviour, depends on the install-order of the packages. i.e if clang-toolchain is installed last, it will be cc & c++, if gcc-toolchain is last, you’ll have cc as Clang, and c++ will be GCC.


    hebasto commented at 12:11 pm on October 31, 2024:

    Please disregard my previous comments.

    I’ve reviewed and tested the current branch once more. Modifications in contrib/guix/libexec/build.sh are not required. Setting proper compilers is handled already:

    Will update this PR shortly.

    UPD. An updated branch has been pushed.

  41. DrahtBot added the label Needs rebase on Sep 30, 2024
  42. in doc/dependencies.md:32 in af8a2debd5 outdated
    28@@ -29,7 +29,7 @@ You can find installation instructions in the `build-*.md` file for your platfor
    29 | [Fontconfig](../depends/packages/fontconfig.mk) | [link](https://www.freedesktop.org/wiki/Software/fontconfig/) | [2.12.6](https://github.com/bitcoin/bitcoin/pull/23495) | 2.6 | Yes |
    30 | [FreeType](../depends/packages/freetype.mk) | [link](https://freetype.org) | [2.11.0](https://github.com/bitcoin/bitcoin/commit/01544dd78ccc0b0474571da854e27adef97137fb) | 2.3.0 | Yes |
    31 | [qrencode](../depends/packages/qrencode.mk) | [link](https://fukuchi.org/works/qrencode/) | [4.1.1](https://github.com/bitcoin/bitcoin/pull/27312) | | No |
    32-| [Qt](../depends/packages/qt.mk) | [link](https://download.qt.io/official_releases/qt/) | [5.15.14](https://github.com/bitcoin/bitcoin/pull/30198) | [5.11.3](https://github.com/bitcoin/bitcoin/pull/24132) | No |
    33+| [Qt](../depends/packages/qt.mk) | [link](https://download.qt.io/official_releases/qt/) | [6.7.2](https://github.com/bitcoin/bitcoin/pull/30997) | [6.2](https://github.com/bitcoin/bitcoin/pull/24132) | No |
    


    maflcko commented at 5:44 am on October 1, 2024:
    0| [Qt](../depends/packages/qt.mk) | [link](https://download.qt.io/official_releases/qt/) | [6.7.2](https://github.com/bitcoin/bitcoin/pull/30997) | [6.2](https://github.com/bitcoin/bitcoin/pull/30997) | No |
    

    hebasto commented at 11:49 am on October 2, 2024:
    Thanks! Fixed.
  43. Sjors commented at 7:58 am on October 1, 2024: member

    Depends builds on macOS now, but the next step fails:

    0cmake -B build-depends --toolchain depends/x86_64-apple-darwin24.0.0/toolchain.cmake
    1...
    2CMake Error at /usr/local/Cellar/cmake/3.29.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
    3  Could NOT find Qt (missing: Qt6_FOUND) (found suitable version "6.7.2",
    4  minimum required is "6.2")
    5Call Stack (most recent call first):
    6  /usr/local/Cellar/cmake/3.29.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
    7  cmake/module/FindQt.cmake:59 (find_package_handle_standard_args)
    8  CMakeLists.txt:185 (find_package)
    

    toolchain.cmake: https://gist.github.com/Sjors/9b21e52e8a92017ecca0936773eca96f

    P.S. it would be nice if make in depends provides the incantation needed for the configure stage. Back in the day it would give you the --prefix argument to use.

  44. hebasto force-pushed on Oct 2, 2024
  45. hebasto commented at 11:51 am on October 2, 2024: member

    Depends builds on macOS now, but the next step fails:

    Should be fixed now.

    P.S. it would be nice if make in depends provides the incantation needed for the configure stage. Back in the day it would give you the --prefix argument to use.

    Addressed in #31008.

  46. fanquake commented at 12:31 pm on October 2, 2024: member

    Building 291ec5e2a876622a051baf6e33a4d4d592e6568e (on arm64):

     0make -C depends HOST=x86_64-apple-darwin qt
     1Building native_qt...
     2[13/312] Building CXX object qtbase/src/tools/macdeployqt/macdeployqt/CMakeFiles/macdeployqt.dir/__/shared/shared.cpp.o
     3FAILED: qtbase/src/tools/macdeployqt/macdeployqt/CMakeFiles/macdeployqt.dir/__/shared/shared.cpp.o 
     4/Library/Developer/CommandLineTools/usr/bin/clang++  -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -DGL_SILENCE_DEPRECATION -DQT_CORE_LIB -DQT_DISABLE_DEPRECATED_UP_TO=0x050000 -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_LEAN_HEADERS=1 -DQT_NO_AS_CONST -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_NO_FOREACH -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_QEXCHANGE -DQT_USE_QSTRINGBUILDER -DQT_WARN_DEPRECATED_UP_TO=0x070000 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/bitcoin/depends/work/build/x86_64-apple-darwin/native_qt/6.7.2-842ea094cd2/qtbase/src/tools/macdeployqt/macdeployqt/macdeployqt_autogen/include -I/bitcoin/depends/work/build/x86_64-apple-darwin/native_qt/6.7.2-842ea094cd2/qtbase/src/tools/macdeployqt/macdeployqt -I/bitcoin/depends/work/build/x86_64-apple-darwin/native_qt/6.7.2-842ea094cd2/qtbase/mkspecs/macx-clang -I/bitcoin/depends/work/build/x86_64-apple-darwin/native_qt/6.7.2-842ea094cd2/qtbase/include -I/bitcoin/depends/work/build/x86_64-apple-darwin/native_qt/6.7.2-842ea094cd2/qtbase/include/QtCore -DNDEBUG -O2 -std=c++17 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX15.0.sdk -mmacosx-version-min=11.0 -fPIE -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -fno-exceptions -ffunction-sections -fdata-sections -MD -MT qtbase/src/tools/macdeployqt/macdeployqt/CMakeFiles/macdeployqt.dir/__/shared/shared.cpp.o -MF qtbase/src/tools/macdeployqt/macdeployqt/CMakeFiles/macdeployqt.dir/__/shared/shared.cpp.o.d -o qtbase/src/tools/macdeployqt/macdeployqt/CMakeFiles/macdeployqt.dir/__/shared/shared.cpp.o -c /bitcoin/depends/work/build/x86_64-apple-darwin/native_qt/6.7.2-842ea094cd2/qtbase/src/tools/macdeployqt/shared/shared.cpp
     5/bitcoin/depends/work/build/x86_64-apple-darwin/native_qt/6.7.2-842ea094cd2/qtbase/src/tools/macdeployqt/shared/shared.cpp:153:5: error: unknown type name 'QProcess'
     6  153 |     QProcess otool;
     7      |     ^
     8/bitcoin/depends/work/build/x86_64-apple-darwin/native_qt/6.7.2-842ea094cd2/qtbase/src/tools/macdeployqt/shared/shared.cpp:157:31: error: use of undeclared identifier 'QProcess'
     9  157 |     if (otool.exitStatus() != QProcess::NormalExit || otool.exitCode() != 0) {
    10      |                               ^
    11/bitcoin/depends/work/build/x86_64-apple-darwin/native_qt/6.7.2-842ea094cd2/qtbase/src/tools/macdeployqt/shared/shared.cpp:525:5: error: unknown type name 'QProcess'
    12  525 |     QProcess otool;
    13      |     ^
    14/bitcoin/depends/work/build/x86_64-apple-darwin/native_qt/6.7.2-842ea094cd2/qtbase/src/tools/macdeployqt/shared/shared.cpp:819:5: error: unknown type name 'QProcess'
    15  819 |     QProcess installNametool;
    16      |     ^
    17/bitcoin/depends/work/build/x86_64-apple-darwin/native_qt/6.7.2-842ea094cd2/qtbase/src/tools/macdeployqt/shared/shared.cpp:927:5: error: unknown type name 'QProcess'
    18  927 |     QProcess strip;
    19      |     ^
    20/bitcoin/depends/work/build/x86_64-apple-darwin/native_qt/6.7.2-842ea094cd2/qtbase/src/tools/macdeployqt/shared/shared.cpp:1304:5: error: unknown type name 'QProcess'
    21 1304 |     QProcess qmlImportScanner;
    22      |     ^
    23/bitcoin/depends/work/build/x86_64-apple-darwin/native_qt/6.7.2-842ea094cd2/qtbase/src/tools/macdeployqt/shared/shared.cpp:1313:37: error: use of undeclared identifier 'QProcess'
    24 1313 |     qmlImportScanner.setReadChannel(QProcess::StandardError);
    25      |                                     ^
    26/bitcoin/depends/work/build/x86_64-apple-darwin/native_qt/6.7.2-842ea094cd2/qtbase/src/tools/macdeployqt/shared/shared.cpp:1321:37: error: use of undeclared identifier 'QProcess'
    27 1321 |     qmlImportScanner.setReadChannel(QProcess::StandardOutput);
    28      |                                     ^
    29/bitcoin/depends/work/build/x86_64-apple-darwin/native_qt/6.7.2-842ea094cd2/qtbase/src/tools/macdeployqt/shared/shared.cpp:1398:5: error: unknown type name 'QProcess'
    30 1398 |     QProcess codesign;
    31      |     ^
    32/bitcoin/depends/work/build/x86_64-apple-darwin/native_qt/6.7.2-842ea094cd2/qtbase/src/tools/macdeployqt/shared/shared.cpp:1532:5: error: unknown type name 'QProcess'
    33 1532 |     QProcess codesign;
    34      |     ^
    35/bitcoin/depends/work/build/x86_64-apple-darwin/native_qt/6.7.2-842ea094cd2/qtbase/src/tools/macdeployqt/shared/shared.cpp:1578:5: error: unknown type name 'QProcess'
    36 1578 |     QProcess hdutil;
    37      |     ^
    3811 errors generated.
    
  47. Sjors commented at 12:50 pm on October 2, 2024: member

    @hebasto now I can’t build QT with depends anymore (291ec5e2a876622a051baf6e33a4d4d592e6568e): https://gist.github.com/Sjors/e42242b27b71c98ee10d60d58a20872a

    (since the last time I tested I uninstalled Xcode as part of debugging #30978)

  48. DrahtBot removed the label Needs rebase on Oct 2, 2024
  49. hebasto force-pushed on Oct 2, 2024
  50. hebasto commented at 2:23 pm on October 2, 2024: member

    @fanquake

    Building 291ec5e (on arm64):

    Thanks! I explicitly disabled unused deployment tools and a few other features for the native_qt package.

  51. hebasto commented at 2:27 pm on October 2, 2024: member

    @Sjors

    now I can’t build QT with depends anymore (291ec5e): https://gist.github.com/Sjors/e42242b27b71c98ee10d60d58a20872a

    (since the last time I tested I uninstalled Xcode as part of debugging #30978)

    Based on the Qt source code, it appears that the build configuration may depend on Xcode. Could you please confirm whether reinstalling Xcode resolves the issue for you? If so, I will need to apply one more patch.

  52. fanquake commented at 2:47 pm on October 2, 2024: member

    Thanks! I explicitly disabled unused deployment tools and a few other features for the native_qt package.

    I tried building the new branch (a91d53615a7bb1da7ccb59e7876a1e31c94013b7) and got:

     0make -C depends HOST=x86_64-apple-darwin qt
     1<snip>
     2-- [QtBase] Searching for tool 'Qt6::qvkgen' in package Qt6GuiTools.
     3-- [QtBase] Qt6::qvkgen was found at /bitcoin/depends/x86_64-apple-darwin/native/./libexec/qvkgen using package Qt6GuiTools.
     4-- [QtBase] Tool 'Qt6::qtpaths' was found at /bitcoin/depends/x86_64-apple-darwin/native/bin/qtpaths.
     5-- [QtBase] Searching for tool 'Qt6::macdeployqt' in package Qt6CoreTools.
     6CMake Error at qtbase/cmake/QtToolHelpers.cmake:684 (message):
     7  Failed to find the host tool "Qt6::macdeployqt".  It is part of the
     8  Qt6CoreTools package, but the package did not contain the tool.  Make sure
     9  that the host module Core was built with all features enabled (no
    10  explicitly disabled tools).
    11Call Stack (most recent call first):
    12  qtbase/cmake/QtToolHelpers.cmake:72 (qt_internal_find_tool)
    13  qtbase/src/tools/macdeployqt/macdeployqt/CMakeLists.txt:9 (qt_internal_add_tool)
    14
    15
    16-- Configuring incomplete, errors occurred!
    17CMake Error at qtbase/cmake/QtProcessConfigureArgs.cmake:1077 (message):
    18  CMake exited with code 1.
    
  53. Sjors commented at 3:35 pm on October 2, 2024: member

    Could you please confirm whether reinstalling Xcode resolves the issue for you?

    I tried to reinstall Xcode 16.0 from the App Store, but it keeps failing to install. So I downloaded it instead, and started it once. Just mentioning this because it could indicate some other issue with this particular machine.

    And ran make again on the same commit as above. It built qt6.

    Building Bitcoin Core succeeded too. Though launching bitcoin-qt gave me a segmentation fault with no further details.

  54. hebasto force-pushed on Oct 2, 2024
  55. Sjors commented at 4:18 pm on October 2, 2024: member

    I also get the segfault when rebuilding (depends and bitcoin-qt) with 354f5d79270c0784a6ba59d61191ee7eaaa2a53d.

     0 % lldb build-depends/src/qt/bitcoin-qt
     1(lldb) target create "build-depends/src/qt/bitcoin-qt"
     2Current executable set to '/Users/sjors/dev/bitcoin/build-depends/src/qt/bitcoin-qt' (x86_64).
     3(lldb) run
     4Process 7195 launched: '/Users/sjors/dev/bitcoin/build-depends/src/qt/bitcoin-qt' (x86_64)
     52024-10-02 18:18:32.237316+0200 bitcoin-qt[7195:247862] SecTaskLoadEntitlements failed error=22 cs_flags=20, pid=7195
     62024-10-02 18:18:32.237393+0200 bitcoin-qt[7195:247862] SecTaskCopyDebugDescription: bitcoin-qt[7195]/0#-1 LF=0
     72024-10-02 18:18:32.325676+0200 bitcoin-qt[7195:247862] SecTaskLoadEntitlements failed error=22 cs_flags=20, pid=7195
     82024-10-02 18:18:32.325767+0200 bitcoin-qt[7195:247862] SecTaskCopyDebugDescription: bitcoin-qt[7195]/0#-1 LF=0
     9Process 7195 stopped
    10* thread [#1](/bitcoin-bitcoin/1/), queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    11    frame [#0](/bitcoin-bitcoin/0/): 0x00000001011d155e bitcoin-qt`QMimeDatabasePrivate::loadProviders() + 1198
    12bitcoin-qt`QMimeDatabasePrivate::loadProviders:
    13->  0x1011d155e <+1198>: movq   (%rbx), %rdi
    14    0x1011d1561 <+1201>: xorl   %esi, %esi
    15    0x1011d1563 <+1203>: callq  0x1004f8320    ; QMimeProviderBase::setOverrideProvider(QMimeProviderBase*)
    16    0x1011d1568 <+1208>: movq   0x20(%r15), %r14
    17Target 0: (bitcoin-qt) stopped.
    
  56. promag commented at 9:52 pm on October 2, 2024: contributor
    Strong concept ACK πŸš€ FWIW 6.7.3 was released recently.
  57. laanwj commented at 9:37 am on October 3, 2024: member
    Concept ACK
  58. hebasto force-pushed on Oct 3, 2024
  59. hebasto commented at 3:45 pm on October 3, 2024: member
  60. hebasto referenced this in commit f117f3f747 on Oct 3, 2024
  61. hebasto force-pushed on Oct 3, 2024
  62. hebasto force-pushed on Oct 4, 2024
  63. hebasto referenced this in commit 4be785b3e3 on Oct 4, 2024
  64. hebasto referenced this in commit 51c698161b on Oct 4, 2024
  65. hebasto force-pushed on Oct 4, 2024
  66. hebasto force-pushed on Oct 4, 2024
  67. hebasto removed the label CI failed on Oct 4, 2024
  68. hebasto force-pushed on Oct 4, 2024
  69. hebasto commented at 4:10 pm on October 4, 2024: member

    Guix builds for the recent push:

    • aarch64:
     076be0bebead7ffa05e22746e402f327c26faaa8fc48fb5759c1bb0ef7831623e  guix-build-b9d6f1981083/output/aarch64-linux-gnu/SHA256SUMS.part
     12dfb35cd8c56a427bb8c8d838c746640c365035dec6e6a59779b26492a3ca109  guix-build-b9d6f1981083/output/aarch64-linux-gnu/bitcoin-b9d6f1981083-aarch64-linux-gnu-debug.tar.gz
     218f349d0f1fd0da1ae8c659e0b5e5b10e6c0a349062be1864110382592e337d2  guix-build-b9d6f1981083/output/aarch64-linux-gnu/bitcoin-b9d6f1981083-aarch64-linux-gnu.tar.gz
     3c2a67f43ad3871acef882b7756b9020656b079e7d956c5dea5859d95585d6678  guix-build-b9d6f1981083/output/arm-linux-gnueabihf/SHA256SUMS.part
     412e26d669226ea462fb07555aa871af3bdfb7041322fe25a1a016d03746d2f72  guix-build-b9d6f1981083/output/arm-linux-gnueabihf/bitcoin-b9d6f1981083-arm-linux-gnueabihf-debug.tar.gz
     5524691eef2a24b0a153a91d47c3395eaeea514d0b617f8db40460497d330d317  guix-build-b9d6f1981083/output/arm-linux-gnueabihf/bitcoin-b9d6f1981083-arm-linux-gnueabihf.tar.gz
     679521519c65add825eaa03e90a7d3f4e3dbc005102fb6390b3fb4caae15f0c90  guix-build-b9d6f1981083/output/arm64-apple-darwin/SHA256SUMS.part
     7ec3881be38513be21885a7d3807b119020dc4e2f80d9e9e571889e540e0b733d  guix-build-b9d6f1981083/output/arm64-apple-darwin/bitcoin-b9d6f1981083-arm64-apple-darwin-unsigned.tar.gz
     8565014e623bfd08f9ed9e3e1624ba4640cd521cc42837c1efe8a78ad6136e4cd  guix-build-b9d6f1981083/output/arm64-apple-darwin/bitcoin-b9d6f1981083-arm64-apple-darwin-unsigned.zip
     9dbe4d0d5303cad5d1b3045c77aae82bd3e4009648e557d0f00da883e04ded6b2  guix-build-b9d6f1981083/output/arm64-apple-darwin/bitcoin-b9d6f1981083-arm64-apple-darwin.tar.gz
    108d7e534e63d4421db0234f7f6ee84c9da8d0bba96296f0b0fbff216da2a87486  guix-build-b9d6f1981083/output/dist-archive/bitcoin-b9d6f1981083.tar.gz
    11df07612f671f8e5a8444860821b5c7ca4f5a19c42e9ad51885ad298676718d8e  guix-build-b9d6f1981083/output/powerpc64-linux-gnu/SHA256SUMS.part
    1210ea58718b2afb269e822ae2a35b98b6e18151634f58e9f1217599f26d648853  guix-build-b9d6f1981083/output/powerpc64-linux-gnu/bitcoin-b9d6f1981083-powerpc64-linux-gnu-debug.tar.gz
    13bd3fe82e82e9d3cb648edbb6fe93cf9b87a155e617f49c82f2fb51bc0a94a7a0  guix-build-b9d6f1981083/output/powerpc64-linux-gnu/bitcoin-b9d6f1981083-powerpc64-linux-gnu.tar.gz
    14a7b1428953bf6c34e094c994337456e55c0051a7d8f2242ffd83eea8dc643872  guix-build-b9d6f1981083/output/riscv64-linux-gnu/SHA256SUMS.part
    156770d1822a2458f443e221bdb4e3dddd66bfd8ffdce9bde2b2e1d5b845c2d266  guix-build-b9d6f1981083/output/riscv64-linux-gnu/bitcoin-b9d6f1981083-riscv64-linux-gnu-debug.tar.gz
    1648b0f785e551eda352505eaa75c8fa83c544ba836113ffe440591e280dc3f67e  guix-build-b9d6f1981083/output/riscv64-linux-gnu/bitcoin-b9d6f1981083-riscv64-linux-gnu.tar.gz
    17125112fdc65c7605dd94de9643454df392cd4266a823f73c431f8692081823ab  guix-build-b9d6f1981083/output/x86_64-apple-darwin/SHA256SUMS.part
    18022cc9a5700faef69f8226705d6ed8681bfd778149b545287a901b25042894f6  guix-build-b9d6f1981083/output/x86_64-apple-darwin/bitcoin-b9d6f1981083-x86_64-apple-darwin-unsigned.tar.gz
    190afffeb0d7a82902e777a86186dce64975576ae92cc7eedb78cc06036b8651f4  guix-build-b9d6f1981083/output/x86_64-apple-darwin/bitcoin-b9d6f1981083-x86_64-apple-darwin-unsigned.zip
    204bf7b814ec86bd74ea54f8fc773b42948ef4db43b5ff54547b7fdbd32006bac5  guix-build-b9d6f1981083/output/x86_64-apple-darwin/bitcoin-b9d6f1981083-x86_64-apple-darwin.tar.gz
    21f88af64830bae68afe2ce6fb9b761d624781765140591c41dddfcb5b39c2098b  guix-build-b9d6f1981083/output/x86_64-linux-gnu/SHA256SUMS.part
    2297ee00aca4a64648af1a8de3d93d555ca383fe7502857382ff8570de4516487e  guix-build-b9d6f1981083/output/x86_64-linux-gnu/bitcoin-b9d6f1981083-x86_64-linux-gnu-debug.tar.gz
    23cb44527c5e1e38775a49831a76a676a2983c535388f03c4b23ae52b632925f02  guix-build-b9d6f1981083/output/x86_64-linux-gnu/bitcoin-b9d6f1981083-x86_64-linux-gnu.tar.gz
    2437a80b12e0a6cda456c05a194a868c60bc84add6e463a3c9fb24a447b531932d  guix-build-b9d6f1981083/output/x86_64-w64-mingw32/SHA256SUMS.part
    2593a9243c4aecf8dd95fc8adeec99a5348c436e37b6f6c475116e55d0c3a5d480  guix-build-b9d6f1981083/output/x86_64-w64-mingw32/bitcoin-b9d6f1981083-win64-debug.zip
    26d8fba5a1add1a6bc92739723a3d7c1cffb50678cbbdca780153d2456499bcf8c  guix-build-b9d6f1981083/output/x86_64-w64-mingw32/bitcoin-b9d6f1981083-win64-setup-unsigned.exe
    27d696183fb5ad606333d7446032949f0479d6ba2012950c248bed6634e9e0fb68  guix-build-b9d6f1981083/output/x86_64-w64-mingw32/bitcoin-b9d6f1981083-win64-unsigned.tar.gz
    2868069532e625e680ffdac25a7d3e72bd56bd248b10b0edd2e56004a9f594196b  guix-build-b9d6f1981083/output/x86_64-w64-mingw32/bitcoin-b9d6f1981083-win64.zip
    
    • x86_64:
     03754b4114cc4e14991f3f90325fe9607626ca83873b88bb1db045e49c7def402  guix-build-b9d6f1981083/output/aarch64-linux-gnu/SHA256SUMS.part
     12dfb35cd8c56a427bb8c8d838c746640c365035dec6e6a59779b26492a3ca109  guix-build-b9d6f1981083/output/aarch64-linux-gnu/bitcoin-b9d6f1981083-aarch64-linux-gnu-debug.tar.gz
     2a9ba203cb8c28482332648e024ab1edb88b3a2d291079929ca99f42545301e0f  guix-build-b9d6f1981083/output/aarch64-linux-gnu/bitcoin-b9d6f1981083-aarch64-linux-gnu.tar.gz
     37007303dba87efaff827c19a3cd8bf82a181e6f13e9d7a84ffda5b8dd60644e1  guix-build-b9d6f1981083/output/arm-linux-gnueabihf/SHA256SUMS.part
     412e26d669226ea462fb07555aa871af3bdfb7041322fe25a1a016d03746d2f72  guix-build-b9d6f1981083/output/arm-linux-gnueabihf/bitcoin-b9d6f1981083-arm-linux-gnueabihf-debug.tar.gz
     5499e719923e296f21bb6ec8d6747c8e1b0d3a60788b890a2a4a7a1121ec43d6e  guix-build-b9d6f1981083/output/arm-linux-gnueabihf/bitcoin-b9d6f1981083-arm-linux-gnueabihf.tar.gz
     600ccd2bed2af0e0c29a4c4d68b23a867d1eb31579702cbb382a8da77f354e86c  guix-build-b9d6f1981083/output/arm64-apple-darwin/SHA256SUMS.part
     761fa611cc139dca72bb3556ff6c68468bb22ddb7829c58a3cbf0b3ac1038fa4b  guix-build-b9d6f1981083/output/arm64-apple-darwin/bitcoin-b9d6f1981083-arm64-apple-darwin-unsigned.tar.gz
     81de0e7215d719144c2487419795999bf364973043018fe86657b08f3a50b4257  guix-build-b9d6f1981083/output/arm64-apple-darwin/bitcoin-b9d6f1981083-arm64-apple-darwin-unsigned.zip
     981892716e4eeb093f188e4fbfd74d8220e4d93f65679ed4064a227faad01b6db  guix-build-b9d6f1981083/output/arm64-apple-darwin/bitcoin-b9d6f1981083-arm64-apple-darwin.tar.gz
    108d7e534e63d4421db0234f7f6ee84c9da8d0bba96296f0b0fbff216da2a87486  guix-build-b9d6f1981083/output/dist-archive/bitcoin-b9d6f1981083.tar.gz
    118ea7b4faac69c26d91cdd6c8dfa9373686dd4650a0f0dacbbeb565f52caf989c  guix-build-b9d6f1981083/output/powerpc64-linux-gnu/SHA256SUMS.part
    1210ea58718b2afb269e822ae2a35b98b6e18151634f58e9f1217599f26d648853  guix-build-b9d6f1981083/output/powerpc64-linux-gnu/bitcoin-b9d6f1981083-powerpc64-linux-gnu-debug.tar.gz
    13eeadae4ea632338796ecaa5cabc3a9c7741fed2f10f556b0b77ddb312af60a41  guix-build-b9d6f1981083/output/powerpc64-linux-gnu/bitcoin-b9d6f1981083-powerpc64-linux-gnu.tar.gz
    1409c7337702c149939b648f894dcd8ae0cad97937dad9c32cd9bf1b1815057521  guix-build-b9d6f1981083/output/riscv64-linux-gnu/SHA256SUMS.part
    156770d1822a2458f443e221bdb4e3dddd66bfd8ffdce9bde2b2e1d5b845c2d266  guix-build-b9d6f1981083/output/riscv64-linux-gnu/bitcoin-b9d6f1981083-riscv64-linux-gnu-debug.tar.gz
    16fad65a6fe08dc557c6e96adca694b4a36e1b2cb814c7d6c26b486e500b95a9e3  guix-build-b9d6f1981083/output/riscv64-linux-gnu/bitcoin-b9d6f1981083-riscv64-linux-gnu.tar.gz
    17f8e56841083d51550a59c0f3703cfaaaf494d40751c315d0a4eb36686a09f76a  guix-build-b9d6f1981083/output/x86_64-apple-darwin/SHA256SUMS.part
    18f6762132bfbfe8aee847597c5e48c279152643526fd09ddc7c677bea6a0058ab  guix-build-b9d6f1981083/output/x86_64-apple-darwin/bitcoin-b9d6f1981083-x86_64-apple-darwin-unsigned.tar.gz
    1912d17c87138511e8c1b81d6e6c3c9de44dc793ee7908547aaab0c523c01cefa9  guix-build-b9d6f1981083/output/x86_64-apple-darwin/bitcoin-b9d6f1981083-x86_64-apple-darwin-unsigned.zip
    20a9f46f8944588a5ba553ebac9565ccfc98c37fa32f725721e8718fa75c0f7c0a  guix-build-b9d6f1981083/output/x86_64-apple-darwin/bitcoin-b9d6f1981083-x86_64-apple-darwin.tar.gz
    21d34060fb7ceb23810d7c3b5d31456d0c7927a844f9cf56a558d77218da8a0772  guix-build-b9d6f1981083/output/x86_64-linux-gnu/SHA256SUMS.part
    2297ee00aca4a64648af1a8de3d93d555ca383fe7502857382ff8570de4516487e  guix-build-b9d6f1981083/output/x86_64-linux-gnu/bitcoin-b9d6f1981083-x86_64-linux-gnu-debug.tar.gz
    2399c6799e011811e46a12aa0228d0a1473a251c557587355af00b760cb6518970  guix-build-b9d6f1981083/output/x86_64-linux-gnu/bitcoin-b9d6f1981083-x86_64-linux-gnu.tar.gz
    24d3558ed6d6416872f395fd77f136234d4138828ec602cdfefd1b81e6eaddbcc2  guix-build-b9d6f1981083/output/x86_64-w64-mingw32/SHA256SUMS.part
    2593a9243c4aecf8dd95fc8adeec99a5348c436e37b6f6c475116e55d0c3a5d480  guix-build-b9d6f1981083/output/x86_64-w64-mingw32/bitcoin-b9d6f1981083-win64-debug.zip
    260f4f54ada90edfa6b4759efa5cc6bf1ec09a31b406b7dda61b6725194c70ce94  guix-build-b9d6f1981083/output/x86_64-w64-mingw32/bitcoin-b9d6f1981083-win64-setup-unsigned.exe
    2771e43346904c0d526d1cb90fd1ddda579d6270cf286ed1757cff28441a84bf4a  guix-build-b9d6f1981083/output/x86_64-w64-mingw32/bitcoin-b9d6f1981083-win64-unsigned.tar.gz
    28ef82c688b80a76cbe213dc898cbcb1f9805f3e861d10d15de22e690553c95ee0  guix-build-b9d6f1981083/output/x86_64-w64-mingw32/bitcoin-b9d6f1981083-win64.zip
    
  70. hebasto marked this as ready for review on Oct 4, 2024
  71. hebasto force-pushed on Oct 4, 2024
  72. hebasto commented at 11:13 pm on October 4, 2024: member

    Guix builds for the recent push:

    • aarch64:
     0ad3093fa02114e2ec80b54312ff0df232893dc73395630c3d7fdb34d7fe79d83  guix-build-b0322c462106/output/aarch64-linux-gnu/SHA256SUMS.part
     1d0b95a6538bb8ad217dcbf6cf481d9849d8a9b0c40ca18717cd3594087a5a5a5  guix-build-b0322c462106/output/aarch64-linux-gnu/bitcoin-b0322c462106-aarch64-linux-gnu-debug.tar.gz
     2d85f9ce2e9ffb310d55fcc4b9755a52d33935bb742f460fc7b6b74b61bad35a3  guix-build-b0322c462106/output/aarch64-linux-gnu/bitcoin-b0322c462106-aarch64-linux-gnu.tar.gz
     36df0a60d4650e3fb3440e658611707abd3cd6788ffaf9c7c0fe1309f39c7ca46  guix-build-b0322c462106/output/arm-linux-gnueabihf/SHA256SUMS.part
     4befd37fcf0221cf66ec0b630c45ae08691dc51c36faca5edbcbb6b6822e59eb0  guix-build-b0322c462106/output/arm-linux-gnueabihf/bitcoin-b0322c462106-arm-linux-gnueabihf-debug.tar.gz
     5f510304dbea54b6fdc1d010c8bc6e9dcc4e02b9ef55063dda3e36f817385e5b7  guix-build-b0322c462106/output/arm-linux-gnueabihf/bitcoin-b0322c462106-arm-linux-gnueabihf.tar.gz
     6ac9ab18dc3768dc2534f33bce8b449fd6ffe91a4415236df0b8f3efc27b61762  guix-build-b0322c462106/output/arm64-apple-darwin/SHA256SUMS.part
     7cd6fa6aaf5a8ea6b0ef4722912195be3059797066266e4fb35a2ede66111afcd  guix-build-b0322c462106/output/arm64-apple-darwin/bitcoin-b0322c462106-arm64-apple-darwin-unsigned.tar.gz
     8e0b18266bbed598c2fa85190453be32b7b4ec4e25d4cf1df5827a2ea4f9c52a9  guix-build-b0322c462106/output/arm64-apple-darwin/bitcoin-b0322c462106-arm64-apple-darwin-unsigned.zip
     9d9f03fd32eab79042097eb1f90d0ef538ecdd79336c4d27db912b48292b4d8d1  guix-build-b0322c462106/output/arm64-apple-darwin/bitcoin-b0322c462106-arm64-apple-darwin.tar.gz
    106a8a66690be70670f1b5ba9ae33e03801c896c310d38a6ad3dc83a4522d1b3cb  guix-build-b0322c462106/output/dist-archive/bitcoin-b0322c462106.tar.gz
    11b24c19c359f2b4d4569521d0fd9ef29f805d40ff719fa0c935eac6d09f336526  guix-build-b0322c462106/output/powerpc64-linux-gnu/SHA256SUMS.part
    1258cf5a3464ea5512feec946db2841d2758e5b6636ad8d589ff666ee16b007256  guix-build-b0322c462106/output/powerpc64-linux-gnu/bitcoin-b0322c462106-powerpc64-linux-gnu-debug.tar.gz
    13596f46ce4a66798cc2945dd669d0f105f37d4a4315d669750a39695018ee1dff  guix-build-b0322c462106/output/powerpc64-linux-gnu/bitcoin-b0322c462106-powerpc64-linux-gnu.tar.gz
    142c7ace96ad6c46593a523c04213cd676983774b5b6ddde8f5d0baba9a1737fe5  guix-build-b0322c462106/output/riscv64-linux-gnu/SHA256SUMS.part
    152699188f0b44b359ef0f0274488600a2ab5e5500303ca6b1f978a933ab090c44  guix-build-b0322c462106/output/riscv64-linux-gnu/bitcoin-b0322c462106-riscv64-linux-gnu-debug.tar.gz
    161e0d6906521045a745e8c7ce358c8a8aa32f987e3b7870767d6150676e97706e  guix-build-b0322c462106/output/riscv64-linux-gnu/bitcoin-b0322c462106-riscv64-linux-gnu.tar.gz
    179e5e0a622549cc0ca6daee1419a5bfd8be0960dab8df6990ee7e892f3ce1ddde  guix-build-b0322c462106/output/x86_64-apple-darwin/SHA256SUMS.part
    18d8bc255eedaff74524cb7213f7dc0b6417763b7a79e7c38b7524fa64465d2ff8  guix-build-b0322c462106/output/x86_64-apple-darwin/bitcoin-b0322c462106-x86_64-apple-darwin-unsigned.tar.gz
    1985a5bc0c64ede11b14a171696552b5add4091376715f53e0a4b229985118fe0d  guix-build-b0322c462106/output/x86_64-apple-darwin/bitcoin-b0322c462106-x86_64-apple-darwin-unsigned.zip
    207d71369bc4c266c06796d509169acfa11fd9f31f34c0ef837423dad1f94cfc97  guix-build-b0322c462106/output/x86_64-apple-darwin/bitcoin-b0322c462106-x86_64-apple-darwin.tar.gz
    219fd75cfeeda4b34227665dd1d39fee4ed4d9f4e9a68207554abee34db6ff7e6f  guix-build-b0322c462106/output/x86_64-linux-gnu/SHA256SUMS.part
    2266569101d00e168d7642993ccb3aa0dd3b7d6bb125c1b13924ce195fd93c14ef  guix-build-b0322c462106/output/x86_64-linux-gnu/bitcoin-b0322c462106-x86_64-linux-gnu-debug.tar.gz
    231f04c2aa87691575832be3bd81fef6687b01a10e3e402d62ba8f36d4bb141df3  guix-build-b0322c462106/output/x86_64-linux-gnu/bitcoin-b0322c462106-x86_64-linux-gnu.tar.gz
    2418b49344f8bf132e5c267b6ac35643f038da6202fee293adb768cc285383b67e  guix-build-b0322c462106/output/x86_64-w64-mingw32/SHA256SUMS.part
    254af8735b6e2cda60c3aa7c1fde8fccb7f612af8a726e71935a2757d96a26cd46  guix-build-b0322c462106/output/x86_64-w64-mingw32/bitcoin-b0322c462106-win64-debug.zip
    26428961f5cdc3e8215a4c81d990d19b23d551875e0a39691335acf61ef9e94d59  guix-build-b0322c462106/output/x86_64-w64-mingw32/bitcoin-b0322c462106-win64-setup-unsigned.exe
    276c89429038d35ed7d06daadda4fc499682bf620aafe54245fca3ab8b329e7fef  guix-build-b0322c462106/output/x86_64-w64-mingw32/bitcoin-b0322c462106-win64-unsigned.tar.gz
    28a3bb468f68547af1fabe37a5da29f49c178bc7ba12bac8db6b3ecce7ac0b21f6  guix-build-b0322c462106/output/x86_64-w64-mingw32/bitcoin-b0322c462106-win64.zip
    
    • x86_64:
     0ad3093fa02114e2ec80b54312ff0df232893dc73395630c3d7fdb34d7fe79d83  guix-build-b0322c462106/output/aarch64-linux-gnu/SHA256SUMS.part
     1d0b95a6538bb8ad217dcbf6cf481d9849d8a9b0c40ca18717cd3594087a5a5a5  guix-build-b0322c462106/output/aarch64-linux-gnu/bitcoin-b0322c462106-aarch64-linux-gnu-debug.tar.gz
     2d85f9ce2e9ffb310d55fcc4b9755a52d33935bb742f460fc7b6b74b61bad35a3  guix-build-b0322c462106/output/aarch64-linux-gnu/bitcoin-b0322c462106-aarch64-linux-gnu.tar.gz
     3ddf010c3ffb5c304ef24221e2be6ab073a37581b070114a191bc0ab63d3dbb15  guix-build-b0322c462106/output/arm-linux-gnueabihf/SHA256SUMS.part
     4befd37fcf0221cf66ec0b630c45ae08691dc51c36faca5edbcbb6b6822e59eb0  guix-build-b0322c462106/output/arm-linux-gnueabihf/bitcoin-b0322c462106-arm-linux-gnueabihf-debug.tar.gz
     52c4c1a11f826abf8dc20945d46556bd966b6f0ef3383157648480eb9185159a2  guix-build-b0322c462106/output/arm-linux-gnueabihf/bitcoin-b0322c462106-arm-linux-gnueabihf.tar.gz
     6ac9ab18dc3768dc2534f33bce8b449fd6ffe91a4415236df0b8f3efc27b61762  guix-build-b0322c462106/output/arm64-apple-darwin/SHA256SUMS.part
     7cd6fa6aaf5a8ea6b0ef4722912195be3059797066266e4fb35a2ede66111afcd  guix-build-b0322c462106/output/arm64-apple-darwin/bitcoin-b0322c462106-arm64-apple-darwin-unsigned.tar.gz
     8e0b18266bbed598c2fa85190453be32b7b4ec4e25d4cf1df5827a2ea4f9c52a9  guix-build-b0322c462106/output/arm64-apple-darwin/bitcoin-b0322c462106-arm64-apple-darwin-unsigned.zip
     9d9f03fd32eab79042097eb1f90d0ef538ecdd79336c4d27db912b48292b4d8d1  guix-build-b0322c462106/output/arm64-apple-darwin/bitcoin-b0322c462106-arm64-apple-darwin.tar.gz
    106a8a66690be70670f1b5ba9ae33e03801c896c310d38a6ad3dc83a4522d1b3cb  guix-build-b0322c462106/output/dist-archive/bitcoin-b0322c462106.tar.gz
    11b24c19c359f2b4d4569521d0fd9ef29f805d40ff719fa0c935eac6d09f336526  guix-build-b0322c462106/output/powerpc64-linux-gnu/SHA256SUMS.part
    1258cf5a3464ea5512feec946db2841d2758e5b6636ad8d589ff666ee16b007256  guix-build-b0322c462106/output/powerpc64-linux-gnu/bitcoin-b0322c462106-powerpc64-linux-gnu-debug.tar.gz
    13596f46ce4a66798cc2945dd669d0f105f37d4a4315d669750a39695018ee1dff  guix-build-b0322c462106/output/powerpc64-linux-gnu/bitcoin-b0322c462106-powerpc64-linux-gnu.tar.gz
    142c7ace96ad6c46593a523c04213cd676983774b5b6ddde8f5d0baba9a1737fe5  guix-build-b0322c462106/output/riscv64-linux-gnu/SHA256SUMS.part
    152699188f0b44b359ef0f0274488600a2ab5e5500303ca6b1f978a933ab090c44  guix-build-b0322c462106/output/riscv64-linux-gnu/bitcoin-b0322c462106-riscv64-linux-gnu-debug.tar.gz
    161e0d6906521045a745e8c7ce358c8a8aa32f987e3b7870767d6150676e97706e  guix-build-b0322c462106/output/riscv64-linux-gnu/bitcoin-b0322c462106-riscv64-linux-gnu.tar.gz
    179e5e0a622549cc0ca6daee1419a5bfd8be0960dab8df6990ee7e892f3ce1ddde  guix-build-b0322c462106/output/x86_64-apple-darwin/SHA256SUMS.part
    18d8bc255eedaff74524cb7213f7dc0b6417763b7a79e7c38b7524fa64465d2ff8  guix-build-b0322c462106/output/x86_64-apple-darwin/bitcoin-b0322c462106-x86_64-apple-darwin-unsigned.tar.gz
    1985a5bc0c64ede11b14a171696552b5add4091376715f53e0a4b229985118fe0d  guix-build-b0322c462106/output/x86_64-apple-darwin/bitcoin-b0322c462106-x86_64-apple-darwin-unsigned.zip
    207d71369bc4c266c06796d509169acfa11fd9f31f34c0ef837423dad1f94cfc97  guix-build-b0322c462106/output/x86_64-apple-darwin/bitcoin-b0322c462106-x86_64-apple-darwin.tar.gz
    219fd75cfeeda4b34227665dd1d39fee4ed4d9f4e9a68207554abee34db6ff7e6f  guix-build-b0322c462106/output/x86_64-linux-gnu/SHA256SUMS.part
    2266569101d00e168d7642993ccb3aa0dd3b7d6bb125c1b13924ce195fd93c14ef  guix-build-b0322c462106/output/x86_64-linux-gnu/bitcoin-b0322c462106-x86_64-linux-gnu-debug.tar.gz
    231f04c2aa87691575832be3bd81fef6687b01a10e3e402d62ba8f36d4bb141df3  guix-build-b0322c462106/output/x86_64-linux-gnu/bitcoin-b0322c462106-x86_64-linux-gnu.tar.gz
    2418b49344f8bf132e5c267b6ac35643f038da6202fee293adb768cc285383b67e  guix-build-b0322c462106/output/x86_64-w64-mingw32/SHA256SUMS.part
    254af8735b6e2cda60c3aa7c1fde8fccb7f612af8a726e71935a2757d96a26cd46  guix-build-b0322c462106/output/x86_64-w64-mingw32/bitcoin-b0322c462106-win64-debug.zip
    26428961f5cdc3e8215a4c81d990d19b23d551875e0a39691335acf61ef9e94d59  guix-build-b0322c462106/output/x86_64-w64-mingw32/bitcoin-b0322c462106-win64-setup-unsigned.exe
    276c89429038d35ed7d06daadda4fc499682bf620aafe54245fca3ab8b329e7fef  guix-build-b0322c462106/output/x86_64-w64-mingw32/bitcoin-b0322c462106-win64-unsigned.tar.gz
    28a3bb468f68547af1fabe37a5da29f49c178bc7ba12bac8db6b3ecce7ac0b21f6  guix-build-b0322c462106/output/x86_64-w64-mingw32/bitcoin-b0322c462106-win64.zip
    

    The diff:

     0 ad3093fa02114e2ec80b54312ff0df232893dc73395630c3d7fdb34d7fe79d83  guix-build-b0322c462106/output/aarch64-linux-gnu/SHA256SUMS.part
     1 d0b95a6538bb8ad217dcbf6cf481d9849d8a9b0c40ca18717cd3594087a5a5a5  guix-build-b0322c462106/output/aarch64-linux-gnu/bitcoin-b0322c462106-aarch64-linux-gnu-debug.tar.gz
     2 d85f9ce2e9ffb310d55fcc4b9755a52d33935bb742f460fc7b6b74b61bad35a3  guix-build-b0322c462106/output/aarch64-linux-gnu/bitcoin-b0322c462106-aarch64-linux-gnu.tar.gz
     3-6df0a60d4650e3fb3440e658611707abd3cd6788ffaf9c7c0fe1309f39c7ca46  guix-build-b0322c462106/output/arm-linux-gnueabihf/SHA256SUMS.part
     4+ddf010c3ffb5c304ef24221e2be6ab073a37581b070114a191bc0ab63d3dbb15  guix-build-b0322c462106/output/arm-linux-gnueabihf/SHA256SUMS.part
     5 befd37fcf0221cf66ec0b630c45ae08691dc51c36faca5edbcbb6b6822e59eb0  guix-build-b0322c462106/output/arm-linux-gnueabihf/bitcoin-b0322c462106-arm-linux-gnueabihf-debug.tar.gz
     6-f510304dbea54b6fdc1d010c8bc6e9dcc4e02b9ef55063dda3e36f817385e5b7  guix-build-b0322c462106/output/arm-linux-gnueabihf/bitcoin-b0322c462106-arm-linux-gnueabihf.tar.gz
     7+2c4c1a11f826abf8dc20945d46556bd966b6f0ef3383157648480eb9185159a2  guix-build-b0322c462106/output/arm-linux-gnueabihf/bitcoin-b0322c462106-arm-linux-gnueabihf.tar.gz
     8 ac9ab18dc3768dc2534f33bce8b449fd6ffe91a4415236df0b8f3efc27b61762  guix-build-b0322c462106/output/arm64-apple-darwin/SHA256SUMS.part
     9 cd6fa6aaf5a8ea6b0ef4722912195be3059797066266e4fb35a2ede66111afcd  guix-build-b0322c462106/output/arm64-apple-darwin/bitcoin-b0322c462106-arm64-apple-darwin-unsigned.tar.gz
    10 e0b18266bbed598c2fa85190453be32b7b4ec4e25d4cf1df5827a2ea4f9c52a9  guix-build-b0322c462106/output/arm64-apple-darwin/bitcoin-b0322c462106-arm64-apple-darwin-unsigned.zip
    
  73. hebasto force-pushed on Oct 5, 2024
  74. hebasto commented at 4:50 pm on October 5, 2024: member

    All non-determinism issues have been resolved.

    Guix build hashes for both aarch64 and x86_64:

     05214a1585050ee8504bf20db8bc70bc8e0f7282ef8eb453290ab8e909b32bd83  guix-build-27f3847d9f97/output/aarch64-linux-gnu/SHA256SUMS.part
     1b714cadb11d1250f7f5f27ed9d0d1ad10550e279de4f15e40c9008392b5189c3  guix-build-27f3847d9f97/output/aarch64-linux-gnu/bitcoin-27f3847d9f97-aarch64-linux-gnu-debug.tar.gz
     206d41ffcf080d583e0cfb41c55286300e0f36d05d32f546177b54cb8d3e7531f  guix-build-27f3847d9f97/output/aarch64-linux-gnu/bitcoin-27f3847d9f97-aarch64-linux-gnu.tar.gz
     3f9d5a0523d807a1187f519b0e1a2275701885da3897bd6710c5f32f03512ae28  guix-build-27f3847d9f97/output/arm-linux-gnueabihf/SHA256SUMS.part
     4fb34170d0d7cc2cb3b641bd1a3b0ab8b20549cc4fe895a91efafe1c2b78f10ab  guix-build-27f3847d9f97/output/arm-linux-gnueabihf/bitcoin-27f3847d9f97-arm-linux-gnueabihf-debug.tar.gz
     5280c5b70992fda3a643930abd34a4562fe53d15f65e7347a5274d01a0041c7b8  guix-build-27f3847d9f97/output/arm-linux-gnueabihf/bitcoin-27f3847d9f97-arm-linux-gnueabihf.tar.gz
     6cc83f447b596a8e09058f9f7bc5427820c04c67ab50d53f07a5428344e41e1ba  guix-build-27f3847d9f97/output/arm64-apple-darwin/SHA256SUMS.part
     79e618c1fcb24b93aa88d90d73279aefa4e1fe7f2cd1a2d1ce08c80e559821e7f  guix-build-27f3847d9f97/output/arm64-apple-darwin/bitcoin-27f3847d9f97-arm64-apple-darwin-unsigned.tar.gz
     8000eaecdc9667912f9d19daa6e43e3024ccac788726f822c9bfb972b0ced89dd  guix-build-27f3847d9f97/output/arm64-apple-darwin/bitcoin-27f3847d9f97-arm64-apple-darwin-unsigned.zip
     95baddb2e7c4c9b031c31a461720d4f716578cb32b0bc0a19660521932d25b392  guix-build-27f3847d9f97/output/arm64-apple-darwin/bitcoin-27f3847d9f97-arm64-apple-darwin.tar.gz
    10531d37e585584ec41a898ab6ee9b1bddfce5202666949704f2a4ac749f37741f  guix-build-27f3847d9f97/output/dist-archive/bitcoin-27f3847d9f97.tar.gz
    11e89ad51f5e20d75e1e487c19974bc75142a7c70c9befe4e34272524404f9b1c9  guix-build-27f3847d9f97/output/powerpc64-linux-gnu/SHA256SUMS.part
    124185083ae7636593a9c0f5b4a070ec7a73546ed0bb05aeed9f5791407161ccc0  guix-build-27f3847d9f97/output/powerpc64-linux-gnu/bitcoin-27f3847d9f97-powerpc64-linux-gnu-debug.tar.gz
    13ed7656c2778f3bb0083118492fdfc7a76fc78542edffc9bbb0e9454ce81b0637  guix-build-27f3847d9f97/output/powerpc64-linux-gnu/bitcoin-27f3847d9f97-powerpc64-linux-gnu.tar.gz
    14b760bd4e3fa477ebfc75596e09b484c08eed130f4bfde4d86e6763621c24e6d5  guix-build-27f3847d9f97/output/riscv64-linux-gnu/SHA256SUMS.part
    15e5e3435991d88e2e8f1da8d41526490295c9c5df36bea724fece4e8f14307d2a  guix-build-27f3847d9f97/output/riscv64-linux-gnu/bitcoin-27f3847d9f97-riscv64-linux-gnu-debug.tar.gz
    16d1aa265156afc27437ac1d9648d199c521147b94cec8870d3bceaaa4acc0d6b8  guix-build-27f3847d9f97/output/riscv64-linux-gnu/bitcoin-27f3847d9f97-riscv64-linux-gnu.tar.gz
    1739bedb1e4d90834cc4429f6f85e7d8ec012e3699124f5c55f3b857d7b66311e4  guix-build-27f3847d9f97/output/x86_64-apple-darwin/SHA256SUMS.part
    1870c96422428cfe3fa534d6e5e019e4b67a80457fc60d43a56f49f7d653584893  guix-build-27f3847d9f97/output/x86_64-apple-darwin/bitcoin-27f3847d9f97-x86_64-apple-darwin-unsigned.tar.gz
    19ecdd8a5052beb9ef07dba7848f242c76cb46acb99e5a866d4f1a78c8b235ff06  guix-build-27f3847d9f97/output/x86_64-apple-darwin/bitcoin-27f3847d9f97-x86_64-apple-darwin-unsigned.zip
    20e8ef380cd85b506a483920982fbc129756db03ef88410b8a74d1a7b209511dfe  guix-build-27f3847d9f97/output/x86_64-apple-darwin/bitcoin-27f3847d9f97-x86_64-apple-darwin.tar.gz
    21da8926b08e6fd13fe0a9343f09f5773cea6329e98c38789d5b264dadb6807bfc  guix-build-27f3847d9f97/output/x86_64-linux-gnu/SHA256SUMS.part
    22ca64b83f57b965b17fcc062448f6bc07496f41f627ef4e6e86230c22da1ab89f  guix-build-27f3847d9f97/output/x86_64-linux-gnu/bitcoin-27f3847d9f97-x86_64-linux-gnu-debug.tar.gz
    23cad58a4badac70ec21e41d2884f7f3de4e3d10dec2862714c9d53369878062e1  guix-build-27f3847d9f97/output/x86_64-linux-gnu/bitcoin-27f3847d9f97-x86_64-linux-gnu.tar.gz
    246d2b94f1b2c136dcb95bef90e6677ec3c4c099eb0eb43145ca61ab1749fbb130  guix-build-27f3847d9f97/output/x86_64-w64-mingw32/SHA256SUMS.part
    25af98caa8b8ab667708ee210191776ef1c48a7d49f1f105e20ead1f2d7901add0  guix-build-27f3847d9f97/output/x86_64-w64-mingw32/bitcoin-27f3847d9f97-win64-debug.zip
    26bdaa0e7cefbb2cbe14859ae545737ce128509228df8c447af809f652abaa8ca8  guix-build-27f3847d9f97/output/x86_64-w64-mingw32/bitcoin-27f3847d9f97-win64-setup-unsigned.exe
    27240d5eca62a2fd351941a298cc73620f2d9d66847b766d636687313353f85fd7  guix-build-27f3847d9f97/output/x86_64-w64-mingw32/bitcoin-27f3847d9f97-win64-unsigned.tar.gz
    28e1f08b6ccb6d6ef4baf2461727965b5f8fad84b8a015a3312874d1fa22225b0f  guix-build-27f3847d9f97/output/x86_64-w64-mingw32/bitcoin-27f3847d9f97-win64.zip
    

    The PR description has been updated.

  75. in contrib/devtools/symbol-check.py:35 in 27f3847d9f outdated
    31@@ -32,7 +32,7 @@
    32 # See https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html for more info.
    33 
    34 MAX_VERSIONS = {
    35-'GCC':       (4,3,0),
    36+'GCC':       (12,0,0),
    


    hebasto commented at 4:21 pm on October 6, 2024:

    From #30997#pullrequestreview-2337118352:

    It’d be good if 49b0256 explained why bumping to 12 is needed, as the Qt 6 supported platforms for Linux claims anything down to GCC 9 should be supported: https://doc.qt.io/qt-6/supported-platforms.html#linux-x11. I’m guessing this is just because we are using 12 to compile the bins, and could also be worked around.

    All new symbols are related to software floating-point emulation.

    FWIW, our code does not use qfloat16.


    hebasto commented at 6:56 pm on October 6, 2024:
    A workaround applied.
  76. hebasto force-pushed on Oct 6, 2024
  77. hebasto commented at 8:58 pm on October 6, 2024: member

    Compatibility issues with the release binaries for Linux platforms have been resolved.

    The resulting bitcoin-qt binary from bitcoin-b71b4ba2700b-x86_64-linux-gnu.tar.gz has been successfully tested on Ubuntu 20.04.

  78. Zero-1729 commented at 9:16 pm on October 6, 2024: contributor
    Concept ACK
  79. Sjors commented at 8:18 am on October 7, 2024: member

    Getting fresh the same error as #30997 (comment) when trying to make b71b4ba2700b5ff1816096a3165b69326bee37ef depends on Intel macOS 15.0.1, without Xcode.

     0ERROR: detected a std::atomic implementation that fails for function pointers.  Please apply the patch corresponding to your Standard Library vendor, found in qtbase/config.tests/atomicfptr
     1
     2CMake Error at qtbase/cmake/QtBuildInformation.cmake:208 (message):
     3  Check the configuration messages for an error that has occurred.
     4Call Stack (most recent call first):
     5  qtbase/cmake/QtBuildInformation.cmake:39 (qt_configure_print_summary)
     6  qtbase/cmake/QtBaseTopLevelHelpers.cmake:84 (qt_print_feature_summary)
     7  qtbase/cmake/QtBaseTopLevelHelpers.cmake:72 (qt_internal_print_top_level_info)
     8  CMakeLists.txt:113 (qt_internal_top_level_end)
     9
    10
    11-- Configuring incomplete, errors occurred!
    12CMake Error at qtbase/cmake/QtProcessConfigureArgs.cmake:1077 (message):
    13  CMake exited with code 1.
    

    If so, I will need to apply one more patch.

    I’ll await that…

    The PR description says you need Ninja, but build-osx.md does not mention this. I haven’t installed it yet, and in earlier builds nothing complained about Ninja missing.

  80. fanquake referenced this in commit ec58dfe8f7 on Oct 7, 2024
  81. hebasto commented at 9:08 am on October 7, 2024: member

    The PR description says you need Ninja, but build-osx.md does not mention this.

    Ninja is required to build the qt package in depends. It is mentioned in depends/README.md. However, doc/build-osx.md does not cover building with depends, so I don’t think it is necessary to mention Ninja there.

  82. hebasto referenced this in commit 1b70714671 on Oct 7, 2024
  83. hebasto force-pushed on Oct 7, 2024
  84. hebasto commented at 9:34 am on October 7, 2024: member
    Rebased.
  85. in doc/release-notes-empty-template.md:46 in dae1d48c54 outdated
    42@@ -43,7 +43,7 @@ Compatibility
    43 ==============
    44 
    45 Bitcoin Core is supported and extensively tested on operating systems
    46-using the Linux Kernel 3.17+, macOS 11.0+, and Windows 7 and newer. Bitcoin
    47+using the Linux Kernel 3.17+, macOS 12.0+, and Windows 7 and newer. Bitcoin
    


    maflcko commented at 9:51 am on October 7, 2024:

    semi-related: I wonder if Windows can be bumped to Windows 10 either way. If long EOL, and ancient versions of Windows are documented to be supported, people may use them and open up themselves to security issues. I think it could be useful to only list supported (receiving security updates) operating systems here.

    Could be done here, or in a separate pull.

  86. hebasto commented at 10:14 am on October 7, 2024: member

    It’d be good if fba4df9 explained why macOS 12.x is needed, because Qt 6 claims to support macOS 11.x through to 14.x: https://doc.qt.io/qt-6/macos.html.

    Qt 6 uses @available directives in Objective-C++ code, which causes unresolved __isPlatformVersionAtLeast symbols during cross-compilation. A patch phases out all relevant instances of @available by replacing them with hardcoding our oldest supported version, macOS 12. This deviates from the runtime requirements for bitcoind, which can run on macOS 11.

    Upon further consideration, I believe that dropping support for macOS 11 offers little to no benefit for users. Specifically, the affected features include:

    1. Advanced use of a colour scheme.
    2. A feature that is not actually supported by Qt.
    3. Advanced shader language features of the Metal API.

    Therefore, I’m inclined not to bother about them and to restore compatibility with macOS 11. @Sjors @promag @fanquake @jarolrod

    What do you think?

  87. Sjors commented at 12:39 pm on October 7, 2024: member
    It’s nice to keep macOS 11 support, but I don’t have a (easy) way to test it, so I wouldn’t put too much effort in it.
  88. maflcko commented at 12:45 pm on October 7, 2024: member
    IIUC macOS 11 does not receive security patches, so it may be better to remove it either way, see #30997 (review)
  89. hebasto commented at 1:12 pm on October 7, 2024: member

    IIUC macOS 11 does not receive security patches, so it may be better to remove it either way, see #30997 (comment)

    Addressed in #31048.

  90. theuni commented at 3:15 pm on October 7, 2024: member

    Ninja is required to build the qt package in depends. It is mentioned in depends/README.md. However, doc/build-osx.md does not cover building with depends, so I don’t think it is necessary to mention Ninja there.

    Could you please explain why this is the case? Ninja seems like an odd requirement here.

  91. pablomartin4btc commented at 6:00 pm on October 7, 2024: member

    tACK dae1d48c546c2e1daadbf982420ba3d8feda2a9f

    Tested on Ubuntu 22.04 using -DCMAKE_BUILD_TYPE=Debug work fine.

    With depends:

    -- Found Qt: /home/pablo/workspace/bitcoin/depends/x86_64-pc-linux-gnu/lib/cmake/Qt6 (found suitable version "6.7.3", minimum required is "6.2")

    In order to run bitcoin-qt I had to install libxcb-cursor0 (as expected specified in the description). Is this going to be clarified somewhere?

    image

    Without depends:

    -- Found Qt: /usr/lib/x86_64-linux-gnu/cmake/Qt6 (found suitable version "6.2.4", minimum required is "6.2")

    image

    Perhaps this was already discussed and I couldn’t find it or was already done on a separate PR but there are still references to Qt 5 that would need to be updated at some point:

    • src/qt/bitcoingui.cpp
    • src/qt/guiutil.h
    • src/qt/README.md
    • doc/build-openbsd.md
    • doc/build-osx.md
  92. DrahtBot requested review from jonatack on Oct 7, 2024
  93. DrahtBot requested review from laanwj on Oct 7, 2024
  94. DrahtBot requested review from promag on Oct 7, 2024
  95. pablomartin4btc commented at 8:10 pm on October 7, 2024: member

    Ninja is required to build the qt package in depends. It is mentioned in depends/README.md. However, doc/build-osx.md does not cover building with depends, so I don’t think it is necessary to mention Ninja there.

    Could you please explain why this is the case? Ninja seems like an odd requirement here.

    It’s described in the Qt 6/ 6.7 dependencies (edited: that was for Integrity OS specifically, but the same applies to us as per the references provided below). I’ve tested it myself and can’t build depends without ninja-build in Ubuntu 22.04 at least.

    Apart from that I’ve also tested “Ninja Multi-Config” and run bitcoin-qt successfully in Ubuntu.

  96. maflcko added the label DrahtBot Guix build requested on Oct 8, 2024
  97. fanquake referenced this in commit caf44e500e on Oct 8, 2024
  98. in depends/README.md:44 in 34e54cbdcd outdated
    40@@ -41,7 +41,7 @@ The paths are automatically configured and no other options are needed.
    41 
    42 #### Common
    43 
    44-    apt install bison cmake curl make patch pkg-config python3 xz-utils
    45+    apt install bison cmake curl make ninja-build patch pkg-config python3 xz-utils
    


    fanquake commented at 12:31 pm on October 8, 2024:
    There’s probably enough GUI-only stuff here, i.e bison, ninja-build, python3, xz-utils, that this could be moved to it’s own #### Gui section.

    hebasto commented at 1:21 pm on October 31, 2024:
    See #31192.
  99. in depends/patches/qt/qtbase_avoid_qmain.patch:9 in 34e54cbdcd outdated
    0@@ -0,0 +1,17 @@
    1+Avoid defining QT_NEEDS_QMAIN macro
    2+
    3+This macro is required for linking to the Qt DLL on Windows, and it
    4+breaks the CONTROL_FLOW security check during Guix build for Windows.
    5+
    


    fanquake commented at 12:32 pm on October 8, 2024:
    Could you better explain this patch? The description says that using the QT_NEEDS_QMAIN macro is required, but using it breaks things, so you’re just getting rid of it? So how do things continue to work, if you’re removing the required macro?

    hebasto commented at 1:37 pm on October 31, 2024:

    Could you better explain this patch?

    Sure.

    The description says that using the QT_NEEDS_QMAIN macro is required…

    … “for linking to the Qt DLL on Windows”, which is not our use case.

    … but using it breaks things, so you’re just getting rid of it? So how do things continue to work, if you’re removing the required macro?

    Using static libraries for Windows does not require all Windows-specific stuff with export/import declarations, entry points etc.


    fanquake commented at 1:39 pm on October 31, 2024:
    It’d be good to add all the relevant information and context to the patch. Can you also explain “breaks the CONTROL_FLOW security check during Guix build for Windows.”

    hebasto commented at 1:53 pm on October 31, 2024:

    How about this description:

    0Avoid defining QT_NEEDS_QMAIN macro
    1
    2Qt's QT_NEEDS_QMAIN macro renames our main() function to qMain(),
    3which breaks our assumptions regarding exported symbols. In particular,
    4the CONTROL_FLOW security check fails for Windows builds in Guix.
    5
    6The QT_NEEDS_QMAIN macro is required for linking to the Qt DLLs only,
    7so we can safely disable it.
    

    ?


    fanquake commented at 2:50 pm on October 31, 2024:
    This seems more clear.

    hebasto commented at 4:14 pm on October 31, 2024:
    Thanks! Updated.
  100. in depends/patches/native_qt/dont_hardcode_pwd.patch:1 in dae1d48c54 outdated
    0@@ -0,0 +1,51 @@
    1+Do not assume FHS in scripts
    


    fanquake commented at 12:37 pm on October 8, 2024:
    Given that this is introducing a second copy of a patch we already have, it’d be good if there was someway we could avoid having to maintain two different copies of the same thing.

    hebasto commented at 6:20 pm on October 9, 2024:
    Fixed in #30997 (comment).
  101. in depends/patches/native_qt/qttools_skip_dependencies.patch:1 in dae1d48c54 outdated
    0@@ -0,0 +1,36 @@
    1+QtTools: Skip unnecessary dependencies:
    


    fanquake commented at 12:38 pm on October 8, 2024:
    I guess same thought here, given that this PR is introducing two copies of this same patch.

    hebasto commented at 6:20 pm on October 9, 2024:
    Fixed in #30997 (comment).
  102. hebasto commented at 12:59 pm on October 8, 2024: member

    Ninja is required to build the qt package in depends. It is mentioned in depends/README.md. However, doc/build-osx.md does not cover building with depends, so I don’t think it is necessary to mention Ninja there.

    Could you please explain why this is the case? Ninja seems like an odd requirement here.

    Sure!

    From the Qt’s source code:

    0        message(WARNING
    1               "The officially supported CMake generator for building Qt is "
    2               "Ninja / Ninja Multi-Config. "
    3               "You are using: '${CMAKE_GENERATOR}' instead. "
    4               "Thus, you might encounter issues. Use at your own risk.")
    

    From Qt’s build docs:

    You must also have an up-to date version of the Ninja tool installed.

  103. in depends/packages/qt.mk:38 in dae1d48c54 outdated
    69+$(package)_extra_sources += $($(package)_top_cmakelists_file_name)
    70+$(package)_extra_sources += $($(package)_top_cmake_ecmoptionaladdsubdirectory_file_name)
    71+$(package)_extra_sources += $($(package)_top_cmake_qttoplevelhelpers_file_name)
    72+
    73 define $(package)_set_vars
    74-$(package)_config_env = QT_MAC_SDK_NO_VERSION_CHECK=1
    


    fanquake commented at 1:08 pm on October 8, 2024:

    Looks like this was dropped entirely. Any particular reason? It was previously suppressing:

     0CMake Warning at qtbase/cmake/QtPublicAppleHelpers.cmake:920 (message):
     1  Qt requires at least version 14 of Xcode, you're building against version .
     2  Please upgrade.  You can turn this warning into an error by configuring
     3  with -DQT_FORCE_FATAL_APPLE_SDK_AND_XCODE_CHECK=ON.
     4Call Stack (most recent call first):
     5  qtbase/cmake/QtBuildHelpers.cmake:443 (_qt_internal_check_apple_sdk_and_xcode_versions)
     6  qtbase/cmake/QtBuild.cmake:4 (qt_internal_setup_build_and_global_variables)
     7  qtbase/cmake/QtSetup.cmake:6 (include)
     8  qtbase/cmake/QtBuildRepoHelpers.cmake:21 (include)
     9  qtbase/cmake/QtBuildRepoHelpers.cmake:179 (qt_build_internals_set_up_private_api)
    10  qtbase/cmake/QtBaseHelpers.cmake:154 (qt_build_repo_begin)
    11  qtbase/CMakeLists.txt:32 (qt_internal_qtbase_build_repo)
    12
    13
    14CMake Warning at qtbase/cmake/QtPublicAppleHelpers.cmake:934 (message):
    15  Qt has only been tested with version 14 of the platform SDK, you're using
    16  15.0.  This is an unsupported configuration.  You may experience build
    17  issues, and by using the 15.0 SDK you are opting in to new features that Qt
    18  has not been prepared for.  Please downgrade the SDK you use to build your
    19  app to version 14, or configure with -DQT_NO_APPLE_SDK_MAX_VERSION_CHECK=ON
    20  to silence this warning.
    21Call Stack (most recent call first):
    22  qtbase/cmake/QtBuildHelpers.cmake:443 (_qt_internal_check_apple_sdk_and_xcode_versions)
    23  qtbase/cmake/QtBuild.cmake:4 (qt_internal_setup_build_and_global_variables)
    24  qtbase/cmake/QtSetup.cmake:6 (include)
    25  qtbase/cmake/QtBuildRepoHelpers.cmake:21 (include)
    26  qtbase/cmake/QtBuildRepoHelpers.cmake:179 (qt_build_internals_set_up_private_api)
    27  qtbase/cmake/QtBaseHelpers.cmake:154 (qt_build_repo_begin)
    28  qtbase/CMakeLists.txt:32 (qt_internal_qtbase_build_repo)
    

    Athough this may also hint at some other issues, given it seems QTs SDK version detection isn’t working properly here? i.e you're building against against version .


    hebasto commented at 6:21 pm on October 9, 2024:
    Addressed in #30997 (comment).

    fanquake commented at 10:58 am on October 10, 2024:

    Addressed in #30997 (comment).

    How was it addressed? I still see the same output using 2d009aa8e861c161820a4c0619ecd4b2329267af:

     0make -C depends -j12 HOST=x86_64-apple-darwin
     1gmake: Entering directory '/bitcoin/depends'
     2Fetching qtbase-everywhere-src-6.7.3.tar.xz from https://download.qt.io/official_releases/qt/6.7/6.7.3/submodules
     3  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
     4                                 Dload  Upload   Total   Spent    Left  Speed
     5<snip>
     6-- Configuring submodule 'qtbase'
     7-- [QtBase] CMAKE_BUILD_TYPE was already explicitly set to: 'Release'
     8CMake Warning at qtbase/cmake/QtPublicAppleHelpers.cmake:920 (message):
     9  Qt requires at least version 14 of Xcode, you're building against version .
    10  Please upgrade.  You can turn this warning into an error by configuring
    11  with -DQT_FORCE_FATAL_APPLE_SDK_AND_XCODE_CHECK=ON.
    12Call Stack (most recent call first):
    13  qtbase/cmake/QtBuildHelpers.cmake:443 (_qt_internal_check_apple_sdk_and_xcode_versions)
    14  qtbase/cmake/QtBuild.cmake:4 (qt_internal_setup_build_and_global_variables)
    15  qtbase/cmake/QtSetup.cmake:6 (include)
    16  qtbase/cmake/QtBuildRepoHelpers.cmake:21 (include)
    17  qtbase/cmake/QtBuildRepoHelpers.cmake:179 (qt_build_internals_set_up_private_api)
    18  qtbase/cmake/QtBaseHelpers.cmake:154 (qt_build_repo_begin)
    19  qtbase/CMakeLists.txt:32 (qt_internal_qtbase_build_repo)
    20
    21
    22CMake Warning at qtbase/cmake/QtPublicAppleHelpers.cmake:934 (message):
    23  Qt has only been tested with version 14 of the platform SDK, you're using
    24  15.0.  This is an unsupported configuration.  You may experience build
    25  issues, and by using the 15.0 SDK you are opting in to new features that Qt
    26  has not been prepared for.  Please downgrade the SDK you use to build your
    27  app to version 14, or configure with -DQT_NO_APPLE_SDK_MAX_VERSION_CHECK=ON
    28  to silence this warning.
    29Call Stack (most recent call first):
    30  qtbase/cmake/QtBuildHelpers.cmake:443 (_qt_internal_check_apple_sdk_and_xcode_versions)
    31  qtbase/cmake/QtBuild.cmake:4 (qt_internal_setup_build_and_global_variables)
    32  qtbase/cmake/QtSetup.cmake:6 (include)
    33  qtbase/cmake/QtBuildRepoHelpers.cmake:21 (include)
    34  qtbase/cmake/QtBuildRepoHelpers.cmake:179 (qt_build_internals_set_up_private_api)
    35  qtbase/cmake/QtBaseHelpers.cmake:154 (qt_build_repo_begin)
    36  qtbase/CMakeLists.txt:32 (qt_internal_qtbase_build_repo)
    37
    38
    39-- [QtBase] Checking for feature set changes
    40-- [QtBase] The OBJC compiler identification is AppleClang 16.0.0.16000026
    

    hebasto commented at 4:06 pm on October 31, 2024:

    How was it addressed? I still see the same output using…

    I assume you’re still observing the warning for the native_qt package, not the qt package. In that case, I don’t think we need to worry about it.

  104. DrahtBot added the label Needs rebase on Oct 8, 2024
  105. hebasto force-pushed on Oct 8, 2024
  106. DrahtBot removed the label Needs rebase on Oct 8, 2024
  107. DrahtBot added the label CI failed on Oct 8, 2024
  108. DrahtBot commented at 7:42 pm on October 8, 2024: contributor

    🚧 At least one of the CI tasks failed. Debug: https://github.com/bitcoin/bitcoin/runs/31249221538

    Try to run the tests locally, according to the documentation. However, a CI failure may still happen due to a number of reasons, for example:

    • Possibly due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    • A sanitizer issue, which can only be found by compiling with the sanitizer and running the affected test.

    • An intermittent issue.

    Leave a comment here, if you need help tracking down a confusing failure.

  109. hebasto force-pushed on Oct 8, 2024
  110. DrahtBot commented at 9:15 pm on October 8, 2024: contributor

    Guix builds (on x86_64) [untrusted test-only build, possibly unsafe, not for production use]

    File commit 62e4516722115c2d5aeb6c197abc73ca7c078b23(master) commit d4aa6cafd61821a473c92626150139aa78cf7601(master and this pull)
    SHA256SUMS.part f2d49fb72517ef0c... 88a1db44d9f7735e...
    *-aarch64-linux-gnu-debug.tar.gz d37cbe26a25f7540... 034d8589c7affd6f...
    *-aarch64-linux-gnu.tar.gz 42b4d4db0c531caf... dc745e82ada4bea7...
    *-arm-linux-gnueabihf-debug.tar.gz 63eddcf3cfdb6c32... 5d1e4bf3f2bfc04e...
    *-arm-linux-gnueabihf.tar.gz fd2eb3904357b5f4... b33529887352889a...
    *-arm64-apple-darwin-unsigned.tar.gz 71a08c8f938313cf... e591b0ba456d5170...
    *-arm64-apple-darwin-unsigned.zip ed11994d8f055418... 5d67c74733c5dc72...
    *-arm64-apple-darwin.tar.gz 0c11a002f4f3030c... 4e12bd548581c02b...
    *-powerpc64-linux-gnu-debug.tar.gz a76483c3abcddcc1... 1665689f6632ec74...
    *-powerpc64-linux-gnu.tar.gz 335ec17b370a19d5... dd17e7b904996a0d...
    *-riscv64-linux-gnu-debug.tar.gz 8494e354e088382e... b3cffccd096cbc60...
    *-riscv64-linux-gnu.tar.gz 457df2421685bdda... 6fcac22e1d1864e7...
    *-x86_64-apple-darwin-unsigned.tar.gz 3cedc5861a78c8a5... 6ed5d9dee0c1648e...
    *-x86_64-apple-darwin-unsigned.zip 19b332dccbc792b4... 7627113186423f11...
    *-x86_64-apple-darwin.tar.gz 54c6788eb266f818... 3baa3edad25256b2...
    *-x86_64-linux-gnu-debug.tar.gz a761c3712ed00392... a505e1dbb3328223...
    *-x86_64-linux-gnu.tar.gz fceda20d8f50b5ab... 5167f8974d23fb11...
    *.tar.gz 38978a4be1a7c7eb... 58781c08f2c8945f...
    guix_build.log 022bedb7b63b12f2... aba49b8d991a4eee...
    guix_build.log.diff 6a71f9e2855dfa8b...
  111. DrahtBot removed the label DrahtBot Guix build requested on Oct 8, 2024
  112. hebasto force-pushed on Oct 8, 2024
  113. hebasto force-pushed on Oct 8, 2024
  114. hebasto force-pushed on Oct 8, 2024
  115. hebasto force-pushed on Oct 8, 2024
  116. hebasto force-pushed on Oct 8, 2024
  117. hebasto force-pushed on Oct 8, 2024
  118. hebasto force-pushed on Oct 9, 2024
  119. hebasto commented at 2:10 pm on October 9, 2024: member

    @maflcko

    How do I clean depends sources cache on the Cirrus CI for this PR?

  120. maflcko commented at 2:24 pm on October 9, 2024: member
    They’d have to be cleared on all machines. Let me known if you want that to happen. If you are just looking for a temporary workaround for testing, you can pick a different qt version, like 6.7.1. Or you can temporarily use a new sources volume, similar to the diff in #30851 (comment).
  121. hebasto commented at 5:31 pm on October 9, 2024: member

    @Sjors

    I cannot reproduce the issue on macOS Intel w/o Xcode you mentioned in:

    On my MacBook Pro (2019, Intel) + macOS 15.0.1, no Xcode, I can successfully build 86837bc75c4c1282fc652dfd755273db956222db as follows:

     0% brew list
     1==> Formulae
     2cmake		ninja		pkg-config
     3
     4==> Casks
     5% make -j 16 -C depends NO_WALLET=1 NO_UPNP=1 NO_ZMQ=1
     6% cmake -B build --toolchain depends/x86_64-apple-darwin24.0.0/toolchain.cmake
     7% cmake --build build -j 16 -t bitcoin-qt test_bitcoin-qt
     8% ./build/src/qt/bitcoin-qt -signet -printtoconsole
     92024-10-09T17:28:26Z Bitcoin Core version v28.99.0-86837bc75c4c (release build)
    102024-10-09T17:28:26Z Qt 6.7.3 (static), plugin=cocoa
    112024-10-09T17:28:26Z Static plugins:
    122024-10-09T17:28:26Z  QMacStylePlugin, version 395008
    132024-10-09T17:28:26Z  QCocoaIntegrationPlugin, version 395008
    142024-10-09T17:28:26Z  QMinimalIntegrationPlugin, version 395008
    152024-10-09T17:28:26Z Style: macos / QMacStyle
    162024-10-09T17:28:26Z System: macOS Sequoia (15.0), x86_64-little_endian-lp64
    172024-10-09T17:28:26Z Screen: Built-in Retina Display 1792x1120, pixel ratio=2.0
    18...
    
  122. hebasto referenced this in commit 2d009aa8e8 on Oct 9, 2024
  123. hebasto commented at 5:59 pm on October 9, 2024: member

    They’d have to be cleared on all machines. Let me known if you want that to happen.

    At some point, we may have to do this anyway.

    If you are just looking for a temporary workaround for testing, you can pick a different qt version, like 6.7.1.

    Not really, as it’ll break patches.

    Or you can temporarily use a new sources volume, similar to the diff in #30851 (comment).

    Thanks for a hint. I’ve added a temporary commit.

  124. hebasto commented at 6:20 pm on October 9, 2024: member

    The issue with two copies of patches has been resolved. See:

    Additionally, a few other comments have been addressed.


    In the meantime, Qt 6.8.0 has been released. However, it breaks cross-compiling for Windows on Debian Bookworm, which uses GCC 12.2. The Qt docs also switched the Windows compiler from “MinGW 11.2” (for Qt 6.7) to “Mingw-w64 13.1” (for Qt 6.8).

    As a result, I’ll stick to Qt 6.7 in this branch. Moving to newer Qt versions is left for a follow up.

  125. maflcko removed the label CI failed on Oct 10, 2024
  126. maflcko added the label DrahtBot Guix build requested on Oct 10, 2024
  127. DrahtBot commented at 3:02 pm on October 10, 2024: contributor

    Guix builds (on x86_64) [untrusted test-only build, possibly unsafe, not for production use]

    File commit 0c2c3bb3f5c6f52c8db625c3edb51409c72c14b0(master) commit a4cd769c9b075d257cbf3b856ba9e572868ca62f(master and this pull)
    SHA256SUMS.part 6e0ec82579f1ffc1...
    *-aarch64-linux-gnu-debug.tar.gz 342b123187a9a1cd...
    *-aarch64-linux-gnu.tar.gz 062f644d8d9645ad...
    *-arm-linux-gnueabihf-debug.tar.gz 89ae822babe8bfa6...
    *-arm-linux-gnueabihf.tar.gz 9c964f8a44db0f19...
    *-arm64-apple-darwin-unsigned.tar.gz 3acb78d3d475c3da...
    *-arm64-apple-darwin-unsigned.zip 32db7c593617431c...
    *-arm64-apple-darwin.tar.gz 8beb0cce1c99c7a4...
    *-powerpc64-linux-gnu-debug.tar.gz 7959dcfb3cd01991...
    *-powerpc64-linux-gnu.tar.gz a24ffe95ef7cfe37...
    *-riscv64-linux-gnu-debug.tar.gz 96c6a022e9f5e1d5...
    *-riscv64-linux-gnu.tar.gz cf1eab2945f30dc0...
    *-x86_64-apple-darwin-unsigned.tar.gz 1e51e343a166b420...
    *-x86_64-apple-darwin-unsigned.zip 3b5a1d27179b338c...
    *-x86_64-apple-darwin.tar.gz 93b7b2a4979e2708...
    *-x86_64-linux-gnu-debug.tar.gz 41aab9d4e81172cd...
    *-x86_64-linux-gnu.tar.gz 5ec5e9ccbf3f41a1...
    *.tar.gz a472af8c2f46f68e...
    guix_build.log 4cbb298134ea692e... 0631b3a0f9364cf1...
    guix_build.log.diff 551aa69df864b26c...
  128. DrahtBot removed the label DrahtBot Guix build requested on Oct 10, 2024
  129. in depends/patches/qt/utc_from_string_no_optimize.patch:11 in 2d009aa8e8 outdated
     4@@ -5,7 +5,7 @@ the arm64-apple-darwin HOST.
     5 
     6 --- a/qtbase/src/corelib/itemmodels/qitemselectionmodel.cpp
     7 +++ b/qtbase/src/corelib/itemmodels/qitemselectionmodel.cpp
     8-@@ -1078,9 +1078,9 @@ void QItemSelectionModelPrivate::_q_layoutChanged(const QList<QPersistentModelIn
     9+@@ -1028,9 +1028,9 @@ void QItemSelectionModelPrivate::_q_layoutChanged(const QList<QPersistentModelIn
    10  
    11      if (hint != QAbstractItemModel::VerticalSortHint) {
    12          // sort the "new" selection, as preparation for merging
    


    laanwj commented at 2:35 pm on October 14, 2024:
    Changing from stable_sort to sort affects more than just optimization, are we sure this doesn’t change item ordering where not expected?

    hebasto commented at 8:19 am on October 15, 2024:

    This was introduced in b335710782c2545e6eeed67b5e1763c07eab26b0.

    Related to #28880 (comment).

  130. DrahtBot added the label Needs rebase on Oct 16, 2024
  131. laanwj removed review request from promag on Oct 17, 2024
  132. laanwj requested review from laanwj on Oct 17, 2024
  133. laanwj commented at 3:22 pm on October 21, 2024: member

    Lightly tested native builds on Debian 12.7 and Ubuntu 24.04 using the qt6 packages described in build-unix.md. Found no regression compared to Qt5. Will test guix builds next.

    fwiw: this can be trivially rebased by dropping the MacOS 12 commit, all the conflicts are in that.

  134. hebasto referenced this in commit 59a5ab5e82 on Oct 22, 2024
  135. hebasto force-pushed on Oct 22, 2024
  136. hebasto commented at 9:59 am on October 22, 2024: member
    Rebased.
  137. DrahtBot removed the label Needs rebase on Oct 22, 2024
  138. in src/qt/test/CMakeLists.txt:35 in 59a5ab5e82 outdated
    31@@ -32,14 +32,6 @@ if(ENABLE_WALLET)
    32   )
    33 endif()
    34 
    35-if(NOT QT_IS_STATIC)
    


    fanquake commented at 11:16 am on October 22, 2024:
    In e0b79e029f15cf2e984c513e230b0d7c7914554d (build: Remove problematic code ): Can you add a sentence explaining why it’s problematic?

    hebasto commented at 10:31 am on October 24, 2024:
    Please see #31147.
  139. maflcko commented at 12:39 pm on October 24, 2024: member
    Could remove “To run release binaries on macOS, Monterey 12 or later is required.” from the pull description, now that macOS 13 is required and this is no longer relevant?
  140. maflcko added the label DrahtBot Guix build requested on Oct 24, 2024
  141. hebasto commented at 12:41 pm on October 24, 2024: member

    Could remove “To run release binaries on macOS, Monterey 12 or later is required.” from the pull description, now that macOS 13 is required and this is no longer relevant?

    Removed.

  142. fanquake commented at 12:42 pm on October 24, 2024: member
    Add the #31042 (comment) requirement at the same time?
  143. hebasto referenced this in commit 1035d8b9bb on Oct 24, 2024
  144. hebasto force-pushed on Oct 24, 2024
  145. hebasto commented at 12:52 pm on October 24, 2024: member

    Add the #31042 (comment) requirement at the same time?

    Rebased on #31042.

    Please review #31042 and #31147 first.

  146. fanquake referenced this in commit 0c79c343a9 on Oct 24, 2024
  147. hebasto referenced this in commit f0bf1e7d4b on Oct 24, 2024
  148. hebasto force-pushed on Oct 24, 2024
  149. DrahtBot added the label CI failed on Oct 24, 2024
  150. hebasto referenced this in commit f92b5bea40 on Oct 24, 2024
  151. hebasto force-pushed on Oct 24, 2024
  152. DrahtBot removed the label CI failed on Oct 24, 2024
  153. DrahtBot commented at 5:17 am on October 25, 2024: contributor

    Guix builds (on x86_64) [untrusted test-only build, possibly unsafe, not for production use]

    File commit 74fb19317aec6d5156e12da6be63e59e0cc99770(master) commit 8bc1d404e6dc18b2cfdec2aed25eb2382edc7022(master and this pull)
    SHA256SUMS.part ad80f9275f7592f5...
    *-aarch64-linux-gnu-debug.tar.gz e3f077c9e2efe42c...
    *-aarch64-linux-gnu.tar.gz 84c5837e967a705e...
    *-arm-linux-gnueabihf-debug.tar.gz 198436220bbb764e...
    *-arm-linux-gnueabihf.tar.gz 8ab9ee456035f028...
    *-arm64-apple-darwin-unsigned.tar.gz 5f3493c8841e7000...
    *-arm64-apple-darwin-unsigned.zip 53586205b08dae04...
    *-arm64-apple-darwin.tar.gz 9bc61a1a9c494690...
    *-powerpc64-linux-gnu-debug.tar.gz d736c35074e1ab00...
    *-powerpc64-linux-gnu.tar.gz dc3411d9d8e023d0...
    *-riscv64-linux-gnu-debug.tar.gz 14f550c7e6be73cb...
    *-riscv64-linux-gnu.tar.gz a5ce20b057de5651...
    *-x86_64-apple-darwin-unsigned.tar.gz 0a5aeae59a745fdd...
    *-x86_64-apple-darwin-unsigned.zip c17d6c147152032f...
    *-x86_64-apple-darwin.tar.gz eb310f282a01918f...
    *-x86_64-linux-gnu-debug.tar.gz 788598dd19a44259...
    *-x86_64-linux-gnu.tar.gz 6b13f937a5601c35...
    *.tar.gz d344eb18d56160d8...
    guix_build.log baf52e47221c27f4... 50d3871447b15964...
    guix_build.log.diff 5f8549f73d1c3ff4...
  154. DrahtBot removed the label DrahtBot Guix build requested on Oct 25, 2024
  155. hebasto referenced this in commit 8ac1243ba9 on Oct 25, 2024
  156. hebasto force-pushed on Oct 25, 2024
  157. hebasto force-pushed on Oct 25, 2024
  158. DrahtBot added the label CI failed on Oct 25, 2024
  159. DrahtBot commented at 12:16 pm on October 25, 2024: contributor

    🚧 At least one of the CI tasks failed. Debug: https://github.com/bitcoin/bitcoin/runs/32061758488

    Try to run the tests locally, according to the documentation. However, a CI failure may still happen due to a number of reasons, for example:

    • Possibly due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    • A sanitizer issue, which can only be found by compiling with the sanitizer and running the affected test.

    • An intermittent issue.

    Leave a comment here, if you need help tracking down a confusing failure.

  160. DrahtBot removed the label CI failed on Oct 25, 2024
  161. DrahtBot added the label Needs rebase on Oct 28, 2024
  162. hebasto referenced this in commit 6cbfcc886f on Oct 28, 2024
  163. hebasto force-pushed on Oct 28, 2024
  164. hebasto commented at 12:43 pm on October 28, 2024: member
    Rebased due to the conflict with the merged #31130.
  165. DrahtBot removed the label Needs rebase on Oct 28, 2024
  166. fanquake referenced this in commit 54c4b09f08 on Oct 28, 2024
  167. hebasto referenced this in commit af05dd9a12 on Oct 28, 2024
  168. hebasto force-pushed on Oct 28, 2024
  169. fanquake commented at 4:12 pm on October 28, 2024: member

    This thread is getting long, but from what I tell, these are the current unaddressed review comments:

    #30997 (review) #30997 (review) #30997 (review) #30997 (review) #30997 (review) #30997 (review) #30997 (review)

  170. DrahtBot added the label CI failed on Oct 28, 2024
  171. DrahtBot removed the label CI failed on Oct 28, 2024
  172. Sjors commented at 2:24 am on October 31, 2024: member

    I’m still confused why Ninja is needed and why nothing complains when it’s missing.

    Ninja is required to build the qt package in depends. It is mentioned in depends/README.md.

    It only mentions it in the context of an Ubuntu & Debian install.

    I did a depends build for af05dd9a12b89224dc7ad229698eeceb3e560ed4 again on Intel macOS 15.0.1 with Xcode 16 and no Ninja. It seems to work fine, at first glance.

    I didn’t try without Xcode since my laptop seems to be in a weird state: #31054 (comment)

  173. hebasto referenced this in commit 8a3fecaaed on Oct 31, 2024
  174. hebasto force-pushed on Oct 31, 2024
  175. hebasto force-pushed on Oct 31, 2024
  176. DrahtBot added the label CI failed on Oct 31, 2024
  177. hebasto referenced this in commit 4434e1c7e7 on Oct 31, 2024
  178. hebasto referenced this in commit e8b008a562 on Oct 31, 2024
  179. hebasto force-pushed on Oct 31, 2024
  180. DrahtBot removed the label CI failed on Oct 31, 2024
  181. hebasto commented at 4:08 pm on October 31, 2024: member

    @Sjors

    I’m still confused why Ninja is needed and why nothing complains when it’s missing.

    Ninja is required to build the qt package in depends. It is mentioned in depends/README.md.

    It only mentions it in the context of an Ubuntu & Debian install.

    I did a depends build for af05dd9 again on Intel macOS 15.0.1 with Xcode 16 and no Ninja. It seems to work fine, at first glance.

    I didn’t try without Xcode since my laptop seems to be in a weird state: #31054 (comment)

    I believe your build log contains a warning like this:

    0CMake Warning at qtbase/cmake/QtBuildHelpers.cmake:12 (message):
    1  The officially supported CMake generator for building Qt is Ninja / Ninja
    2  Multi-Config.  You are using: 'Unix Makefiles' instead.  Thus, you might
    3  encounter issues.  Use at your own risk.
    
  182. hebasto referenced this in commit add3067e76 on Oct 31, 2024
  183. hebasto force-pushed on Oct 31, 2024
  184. Sjors commented at 4:30 pm on October 31, 2024: member

    I believe your build log contains a warning like this:

    Ah yes, I see those, though buried in the logs. It seems good to recommend ninja in that case, for the QT depends build and all platforms.

  185. hebasto commented at 4:32 pm on October 31, 2024: member

    I believe your build log contains a warning like this:

    Ah yes, I see those, though buried in the logs. It seems good to recommend ninja in that case, for the QT depends build and all platforms.

    GNU Make fails to build Qt on Linux though.

  186. hebasto commented at 5:08 pm on October 31, 2024: member

    There’s probably enough GUI-only stuff here, i.e bison, ninja-build, python3, xz-utils, that this could be moved to it’s own #### Gui section.

    See #31192.

    Fellow reviewers!

    Please review #31192 first :)

    UPD. #31192 has been merged. Thanks to all reviewers!

  187. hebasto commented at 11:20 am on November 4, 2024: member

    @maflcko

    They’d have to be cleared on all machines. Let me known if you want that to happen.

    I believe this PR is in quite good shape, and it might be worth clearing the depends caches for CI and DrahtBot’s Guix builder machines.

    Shall we proceed with that?

  188. in depends/patches/qt/guix_cross_lib_path.patch:1 in add3067e76 outdated
    -1@@ -1,17 +0,0 @@
    0-Facilitate guix building with CROSS_LIBRARY_PATH
    


    fanquake commented at 11:52 am on November 4, 2024:
    In 54d81cab53a07fc47ddd38d3be0384651d785558: You’re removing this patch, but looking at the upstream source for 6.7.3, it’s not immediately clear where this was fixed upstream, and the commit doesn’t explain why it’s no-longer needed. Can you elaborate? I’m wondering if new patches you are introducing are just a result of deleting this one.

    hebasto commented at 12:06 pm on November 4, 2024:

    In 54d81ca: You’re removing this patch, but looking at the upstream source for 6.7.3, it’s not immediately clear where this was fixed upstream, and the commit doesn’t explain why it’s no-longer needed. Can you elaborate?

    The patched files are part of the legacy qmake-based build system and are unrelated to the new CMake-based build system.

    I’m wondering if new patches you are introducing are just a result of deleting this one.

    I had the same thought while working on this PR. However, I couldn’t find corresponding CMake code that performs a similar cleanup.

  189. maflcko commented at 12:01 pm on November 4, 2024: member

    maflcko

    They’d have to be cleared on all machines. Let me known if you want that to happen.

    I believe this PR is in quite good shape, and it might be worth clearing the depends caches for CI and DrahtBot’s Guix builder machines.

    Sorry for the delay. I installed DrahtBot from scratch, so that should be clear. The CI may still take a few days. For now, reviewers can ignore the last commit (and just drop it from their review).

  190. hebasto referenced this in commit 8c4cfec49f on Nov 4, 2024
  191. hebasto force-pushed on Nov 4, 2024
  192. hebasto commented at 8:50 pm on November 4, 2024: member

    The questionable patch has been dropped.

    My Guix build:

     0aarch64
     173c719eba2956cefdad25d796b8c2a43c5831f39e3120c477f645d4aa6c95c6d  guix-build-8c4cfec49fae/output/aarch64-linux-gnu/SHA256SUMS.part
     215cc088261e6b823a14ccbde8f606d4c7da857af9bdb3ca98820847f25eb4982  guix-build-8c4cfec49fae/output/aarch64-linux-gnu/bitcoin-8c4cfec49fae-aarch64-linux-gnu-debug.tar.gz
     34e2c83139e5bd2ed56b64143e258ea4e02ac29bb5bc64629bf63b2a8f9d32a82  guix-build-8c4cfec49fae/output/aarch64-linux-gnu/bitcoin-8c4cfec49fae-aarch64-linux-gnu.tar.gz
     4781211cb46ba9ef812ca82008bbcf87bbe7348c071899c83a99e2104c4d0a0cf  guix-build-8c4cfec49fae/output/arm-linux-gnueabihf/SHA256SUMS.part
     5928b19366dab193e08d42a89936d4f5cec7b477c261c27f94109af172b602290  guix-build-8c4cfec49fae/output/arm-linux-gnueabihf/bitcoin-8c4cfec49fae-arm-linux-gnueabihf-debug.tar.gz
     6bba142ac6a9b869c1118c0f91a34da13f9e2dce9458d96adaee2d9b07c299da0  guix-build-8c4cfec49fae/output/arm-linux-gnueabihf/bitcoin-8c4cfec49fae-arm-linux-gnueabihf.tar.gz
     7921e67e0a3d2cb9bf2a6b6fe359e7a73a6a319d5a5723f911341603a8b542597  guix-build-8c4cfec49fae/output/arm64-apple-darwin/SHA256SUMS.part
     843396c0b0bf5a4abccbf2ac321f489f65f0c78f9b8dcc3308b3753bc8453f159  guix-build-8c4cfec49fae/output/arm64-apple-darwin/bitcoin-8c4cfec49fae-arm64-apple-darwin-unsigned.tar.gz
     9ebd2561a1b3f31a144de9de720a22033e8fe1739012d7f4699b12cf5175579a8  guix-build-8c4cfec49fae/output/arm64-apple-darwin/bitcoin-8c4cfec49fae-arm64-apple-darwin-unsigned.zip
    1024902b00aee078011667767a5d53bdcf0e54f46e5a35bd7198d7a0840519a849  guix-build-8c4cfec49fae/output/arm64-apple-darwin/bitcoin-8c4cfec49fae-arm64-apple-darwin.tar.gz
    1136f0edc5dee140175b5f61798e14a9a2048f9573ae04dbcddf8ff239563ea6d5  guix-build-8c4cfec49fae/output/dist-archive/bitcoin-8c4cfec49fae.tar.gz
    1223d0a0491ae74a25618086a633251bd9e9714ae8c1adde8e963672bfee677d2d  guix-build-8c4cfec49fae/output/powerpc64-linux-gnu/SHA256SUMS.part
    13972dbed0d07fe351a68260ec851c1a990f68a4dbe9caf3b04d763c5aa922116a  guix-build-8c4cfec49fae/output/powerpc64-linux-gnu/bitcoin-8c4cfec49fae-powerpc64-linux-gnu-debug.tar.gz
    148e652d2411f19d89ba282c2367915be3f96dc346ccb2547a141cda4450850799  guix-build-8c4cfec49fae/output/powerpc64-linux-gnu/bitcoin-8c4cfec49fae-powerpc64-linux-gnu.tar.gz
    15d8a73d832406520b62cff55377665f92e9de1adf8820f93cdd21ff40f232f135  guix-build-8c4cfec49fae/output/riscv64-linux-gnu/SHA256SUMS.part
    16a6bd85bdd05632ae49566f8a243b139db9685e88fbb5788acdea9a277a369c3f  guix-build-8c4cfec49fae/output/riscv64-linux-gnu/bitcoin-8c4cfec49fae-riscv64-linux-gnu-debug.tar.gz
    17ac0f4acbaf06928761805813d78d1d0020f8f09e2f290d47e50ab934e1761592  guix-build-8c4cfec49fae/output/riscv64-linux-gnu/bitcoin-8c4cfec49fae-riscv64-linux-gnu.tar.gz
    180b896a94ca5cad26b31cd0a52d7cf4ade0fd86fe5a13a9c2dfc7964c832e0a6b  guix-build-8c4cfec49fae/output/x86_64-apple-darwin/SHA256SUMS.part
    196aaec84ea667df2c77205777182bff50da521c5310a0d104e5d48aac8a641240  guix-build-8c4cfec49fae/output/x86_64-apple-darwin/bitcoin-8c4cfec49fae-x86_64-apple-darwin-unsigned.tar.gz
    20fcd5bd15a8aad8c6c530a2c6225ce6e085a1b62d7403b9ff96f354601fe076c3  guix-build-8c4cfec49fae/output/x86_64-apple-darwin/bitcoin-8c4cfec49fae-x86_64-apple-darwin-unsigned.zip
    21e6d7766c019c82d058372e1765f6771b4382d2835414bb85e8bc3962edc0c10c  guix-build-8c4cfec49fae/output/x86_64-apple-darwin/bitcoin-8c4cfec49fae-x86_64-apple-darwin.tar.gz
    225cdecaf394991c5654e1103e6c1187edec376d6faa877447196fe099d09b73d6  guix-build-8c4cfec49fae/output/x86_64-linux-gnu/SHA256SUMS.part
    231b8868cec5eae22923e7d6b4a8c7870575a978662b2e22878a694d326fa5022b  guix-build-8c4cfec49fae/output/x86_64-linux-gnu/bitcoin-8c4cfec49fae-x86_64-linux-gnu-debug.tar.gz
    24d15bfd87fda2674f7befe31a8677f95e1b9aba044a929b4859826a806ded0884  guix-build-8c4cfec49fae/output/x86_64-linux-gnu/bitcoin-8c4cfec49fae-x86_64-linux-gnu.tar.gz
    2536aa6b1213e572215b8c49aa25a19f2b3355f4b7b76c08e0a8f472fb01039e42  guix-build-8c4cfec49fae/output/x86_64-w64-mingw32/SHA256SUMS.part
    26cfdaaf0259cf630197ab6b28f0a4b5a712469704c4ec541ab93ef6b1076e5e86  guix-build-8c4cfec49fae/output/x86_64-w64-mingw32/bitcoin-8c4cfec49fae-win64-debug.zip
    27a572e4637e202d77cdc2d7516f2b6d22e5663e62b99f145678863ba4e1ad2de6  guix-build-8c4cfec49fae/output/x86_64-w64-mingw32/bitcoin-8c4cfec49fae-win64-setup-unsigned.exe
    28b0e50c894e22f99b9c3146ff7741bd5c8361e31304fb9e168d102f886626e489  guix-build-8c4cfec49fae/output/x86_64-w64-mingw32/bitcoin-8c4cfec49fae-win64-unsigned.tar.gz
    293edcd77cf4070525d7861b88676e412eb61a9d031d1e1dfe4e9ca87e9bb8257f  guix-build-8c4cfec49fae/output/x86_64-w64-mingw32/bitcoin-8c4cfec49fae-win64.zip
    
  193. fanquake referenced this in commit 9f2c8287a2 on Nov 5, 2024
  194. hebasto referenced this in commit 3020a4ac61 on Nov 5, 2024
  195. hebasto force-pushed on Nov 5, 2024
  196. hebasto commented at 4:21 pm on November 5, 2024: member
    Rebased due to the conflict with the merged bitcoin/bitcoin#31192.
  197. hebasto referenced this in commit ce61238f93 on Nov 5, 2024
  198. hebasto force-pushed on Nov 5, 2024
  199. hebasto commented at 4:34 pm on November 5, 2024: member
    Rebased due to the conflict with the merged bitcoin/bitcoin#31186.
  200. DrahtBot added the label Needs rebase on Nov 6, 2024
  201. hebasto referenced this in commit 3d95aa473b on Nov 6, 2024
  202. hebasto force-pushed on Nov 6, 2024
  203. hebasto commented at 2:12 pm on November 6, 2024: member
    Rebased due to the conflicts with the merged bitcoin/bitcoin#30634 and bitcoin/bitcoin#31173.
  204. DrahtBot removed the label Needs rebase on Nov 6, 2024
  205. BrandonOdiwuor commented at 12:57 pm on November 13, 2024: contributor
    Concept ACK
  206. DrahtBot added the label Needs rebase on Nov 14, 2024
  207. hebasto referenced this in commit a16bd17d34 on Nov 16, 2024
  208. hebasto force-pushed on Nov 16, 2024
  209. hebasto commented at 5:32 pm on November 16, 2024: member
    Rebased due to the conflict with the merged #31285.
  210. DrahtBot removed the label Needs rebase on Nov 16, 2024
  211. pablomartin4btc commented at 6:36 pm on November 17, 2024: member

    tACK a16bd17d34bb7a8e704cbd7d4f741b9d2e309246

    Built with dependencies on both macOS 14.4 and Ubuntu 22.04, having successfully run bitcoin-qt.

    (edit: removed detailed outputs from my setup to avoid confusion, as they were not directly related to the PR.)

  212. DrahtBot requested review from BrandonOdiwuor on Nov 17, 2024
  213. DrahtBot added the label Needs rebase on Nov 20, 2024
  214. in ci/test/02_run_container.sh:40 in a16bd17d34 outdated
    36@@ -37,12 +37,12 @@ if [ -z "$DANGER_RUN_CI_ON_HOST" ]; then
    37 
    38   docker volume create "${CONTAINER_NAME}_ccache" || true
    39   docker volume create "${CONTAINER_NAME}_depends" || true
    40-  docker volume create "${CONTAINER_NAME}_depends_sources" || true
    41+  docker volume create "pr30997_${CONTAINER_NAME}_depends_sources" || true
    


    maflcko commented at 12:42 pm on November 20, 2024:
    for reference, there are new CI machines lined up, but they can’t be deployed due to #31210 (comment)

    maflcko commented at 12:43 pm on November 21, 2024:
    Actually, fixed. You can drop this now.

    hebasto commented at 2:17 pm on November 22, 2024:
    The depends sources cache still seems to contain unversioned variants of CMakeLists.txt, ECMOptionalAddSubdirectory.cmake and QtTopLevelHelpers.cmake: https://cirrus-ci.com/task/4792887920033792

    maflcko commented at 2:41 pm on November 22, 2024:
    Thanks, cleared the machine

    hebasto commented at 3:50 pm on November 22, 2024:
    Thank you!
  215. hebasto referenced this in commit ac34d06290 on Nov 20, 2024
  216. hebasto force-pushed on Nov 22, 2024
  217. hebasto referenced this in commit 263bf0388e on Nov 22, 2024
  218. DrahtBot added the label CI failed on Nov 22, 2024
  219. hebasto force-pushed on Nov 22, 2024
  220. DrahtBot removed the label Needs rebase on Nov 22, 2024
  221. DrahtBot removed the label CI failed on Nov 22, 2024
  222. achow101 referenced this in commit 70e20ea024 on Nov 26, 2024
  223. in contrib/guix/manifest.scm:6 in 758c41a303 outdated
    2@@ -3,6 +3,7 @@
    3              (gnu packages bison)
    4              ((gnu packages certs) #:select (nss-certs))
    5              ((gnu packages cmake) #:select (cmake-minimal))
    6+             (gnu packages ninja)
    


    Sjors commented at 11:09 am on November 29, 2024:
    758c41a303a2471c7f92bf1f68f4582c146f26f5: is there anything other than QT in our guix build that will magically start using ninja once we add it here?

    hebasto commented at 1:32 pm on November 29, 2024:
    I guess no. See #31171.
  224. Sjors commented at 1:06 pm on November 29, 2024: member

    Tested 346218ae614a90afdf4e20621cfa66e40700116a on:

    • Intel macOS 13.7.1 with depends as well as qt 6.7.3 from homebrew
    • Apple Silicon macOS 15.1.1 with depends as well as qt 6.7.3 from homebrew
    • Ubuntu 24.10 with Wayland, with depends as well as qt-wayland
    • A guix build tested on Windows 11
    • Guix build tested on the first three machines

    Starting with Qt 6.5.0, the libxcb-cursor0 package is required to be installed at runtime.

    There’s no mention of this in build-unix.md or depends/README.md.

    It also seems that regular Linux users need to install this in order to use the Guix release. That seems potentially problematic.

    For the non-depends build on Ubuntu there’s a weird animation when you move between tabs, but that seems to be a wayland issue which happens in Qt5 as well (though it seems to be slightly worse). It doesn’t impact the guix release builds.

    Guix hashes:

     0arm64 and x86_64
     16ec110435c0e6923769c7d0edf8fc23b615e72344a37fecb63a0e6e88ec1461d  guix-build-346218ae614a/output/aarch64-linux-gnu/SHA256SUMS.part
     29b5aa0591161f73d754f2af845fc2488387e3252d10d9d85c99b6b5f927240b7  guix-build-346218ae614a/output/aarch64-linux-gnu/bitcoin-346218ae614a-aarch64-linux-gnu-debug.tar.gz
     3910697bf9850bad2d604017b60047f23b6c56eeb269ea17a7583cf39f0017e68  guix-build-346218ae614a/output/aarch64-linux-gnu/bitcoin-346218ae614a-aarch64-linux-gnu.tar.gz
     4f6ec20eb4e8a9bc50a87f7b37719c8baa5ab1534419caa1bcf194dced420cb5f  guix-build-346218ae614a/output/arm-linux-gnueabihf/SHA256SUMS.part
     5e91f13cf66a4eae9d6cd86ddc23d563a610ea27213504c849d73c173fa76eca2  guix-build-346218ae614a/output/arm-linux-gnueabihf/bitcoin-346218ae614a-arm-linux-gnueabihf-debug.tar.gz
     6d461f44c577d6cc0ab7864fa546c6fb5d03af211b6107e3722aa300b40fa58c0  guix-build-346218ae614a/output/arm-linux-gnueabihf/bitcoin-346218ae614a-arm-linux-gnueabihf.tar.gz
     7c64e406732283a5a2b15fd9e2f992ab23d4fbac821f3a177095ae354d64e6742  guix-build-346218ae614a/output/arm64-apple-darwin/SHA256SUMS.part
     8c6380eae7c484f5017cedbbbcc52f94fa3b876cda5f59a35ca3b22492fe8f7b8  guix-build-346218ae614a/output/arm64-apple-darwin/bitcoin-346218ae614a-arm64-apple-darwin-unsigned.tar.gz
     9aab8442cb77c101170ef9ebf592702fcbdf8cdfdacb43933e45816e4714daf67  guix-build-346218ae614a/output/arm64-apple-darwin/bitcoin-346218ae614a-arm64-apple-darwin-unsigned.zip
    10b04049328959493d7c3988eea7feff3f64a3307093c2f3de90593b2b88cf1ef8  guix-build-346218ae614a/output/arm64-apple-darwin/bitcoin-346218ae614a-arm64-apple-darwin.tar.gz
    11a627cab8dfd4156c35d172b687015d71edd09a99eed59d75139dcb37a03e2ce9  guix-build-346218ae614a/output/dist-archive/bitcoin-346218ae614a.tar.gz
    1218e1ce84dad9d2ccfcaa68f89b1e9c154395f9dff2aa7c8de0119052147987ac  guix-build-346218ae614a/output/powerpc64-linux-gnu/SHA256SUMS.part
    135584eb857e9b5775e0daa476480241d2b8408f2be5ff87adb44878ef0aa0d2df  guix-build-346218ae614a/output/powerpc64-linux-gnu/bitcoin-346218ae614a-powerpc64-linux-gnu-debug.tar.gz
    143c93ee1942442865f2e7aad5e11ecb5a08e53de94fdf9b7953791268c593bc35  guix-build-346218ae614a/output/powerpc64-linux-gnu/bitcoin-346218ae614a-powerpc64-linux-gnu.tar.gz
    15571ba7baaeb26f6ca98ed78f6633c93cf2e5c7ead7366306a79823edddca8e7e  guix-build-346218ae614a/output/riscv64-linux-gnu/SHA256SUMS.part
    1637d3a873d2de40ad5a1651ffbf14272ddd1eceaa00bd860ed558bbc191ff191c  guix-build-346218ae614a/output/riscv64-linux-gnu/bitcoin-346218ae614a-riscv64-linux-gnu-debug.tar.gz
    17a2e207ceaae9c9c6b472c432cc0fdaf794baa92422094cb264dff5bcbcb21a31  guix-build-346218ae614a/output/riscv64-linux-gnu/bitcoin-346218ae614a-riscv64-linux-gnu.tar.gz
    187c3c6709b63c7adf931b92cb6807f09aaa81d619010ec0e99701f7bfe88051f4  guix-build-346218ae614a/output/x86_64-apple-darwin/SHA256SUMS.part
    19f0e118bf5557125eb28d8dd1cc2a010a87f2e0a5f8b9832f40ebe69ef48f7ee5  guix-build-346218ae614a/output/x86_64-apple-darwin/bitcoin-346218ae614a-x86_64-apple-darwin-unsigned.tar.gz
    200cddaf1c5049b9b24a7b742d90550b0be1c9f60872f2380cd7831a244bcf20fb  guix-build-346218ae614a/output/x86_64-apple-darwin/bitcoin-346218ae614a-x86_64-apple-darwin-unsigned.zip
    218314a7640971ce30c9c46b8abe36e5b5bd8deca17b694d42a045a7eddbdc6bc1  guix-build-346218ae614a/output/x86_64-apple-darwin/bitcoin-346218ae614a-x86_64-apple-darwin.tar.gz
    221664b9256f5ae33c9d64b1f2313b7e9afd5f3f5cc1c5db08d09141293ddb8759  guix-build-346218ae614a/output/x86_64-linux-gnu/SHA256SUMS.part
    2362c0c88624de7e8efbadb7323a98d6c0b5b7087d7ce8c52f6aa04be9a087c388  guix-build-346218ae614a/output/x86_64-linux-gnu/bitcoin-346218ae614a-x86_64-linux-gnu-debug.tar.gz
    24564d4d4733b99b6201ca2e7ead52fe728cc89e49e7105a98beb230b8be62c4cb  guix-build-346218ae614a/output/x86_64-linux-gnu/bitcoin-346218ae614a-x86_64-linux-gnu.tar.gz
    25a10cdca11ce23e0344bb7db3e24623141e7a7b789b83f133c9036c3d40767471  guix-build-346218ae614a/output/x86_64-w64-mingw32/SHA256SUMS.part
    2603f9fa1f0cf1558353d6cf0b6f0ab48c4fe9f353aeb7d51e60a1a73632aa840e  guix-build-346218ae614a/output/x86_64-w64-mingw32/bitcoin-346218ae614a-win64-debug.zip
    277e441da57794ce20047fc98f7cbe4b827eea6ad5a5a86fc529251e323b5cbc8f  guix-build-346218ae614a/output/x86_64-w64-mingw32/bitcoin-346218ae614a-win64-setup-unsigned.exe
    2801d743c2216fd5dc70e1b03dc5113d68ad330464a8a279ba1f4b04d42418f88f  guix-build-346218ae614a/output/x86_64-w64-mingw32/bitcoin-346218ae614a-win64-unsigned.tar.gz
    29d392696692a44dd9e6fe69349dc101159b515eaad860637ae7086a5d6ef76bd7  guix-build-346218ae614a/output/x86_64-w64-mingw32/bitcoin-346218ae614a-win64.zip
    
  225. DrahtBot added the label Needs rebase on Dec 2, 2024
  226. hebasto force-pushed on Dec 2, 2024
  227. DrahtBot removed the label Needs rebase on Dec 2, 2024
  228. hebasto commented at 1:00 pm on December 2, 2024: member

    Rebased.

    Starting with Qt 6.5.0, the libxcb-cursor0 package is required to be installed at runtime.

    There’s no mention of this in build-unix.md or depends/README.md.

    Amended.

  229. in doc/build-unix.md:78 in 12aecabbf8 outdated
    72@@ -73,11 +73,13 @@ GUI dependencies:
    73 Bitcoin Core includes a GUI built with the cross-platform Qt Framework. To compile the GUI, we need to install
    74 the necessary parts of Qt, the libqrencode and pass `-DBUILD_GUI=ON`. Skip if you don't intend to use the GUI.
    75 
    76-    sudo apt-get install qtbase5-dev qttools5-dev qttools5-dev-tools
    77+    sudo apt-get install qt6-base-dev qt6-tools-dev qt6-l10n-tools
    78+
    79+For Qt 6.5 and later, the `libxcb-cursor0` package must be installed at runtime.
    


    fanquake commented at 1:23 pm on December 2, 2024:
    Not sure that the self-compilation documentation is the right place to put a note about a runtime requirement for the guix built release binaries.

    hebasto commented at 1:28 pm on December 2, 2024:
    What do you suggest?

    laanwj commented at 7:09 pm on December 8, 2024:

    why are we not linking this library statically like the other xcb- libraries? they’re trivial protocol shims

    uhh, sorry, that was dumb, we actually require all of xcb at runtime:

     0 0x0000000000000001 (NEEDED)             Shared library: [libxcb-icccm.so.4]
     1 0x0000000000000001 (NEEDED)             Shared library: [libxcb-image.so.0]
     2 0x0000000000000001 (NEEDED)             Shared library: [libxcb-shm.so.0]
     3 0x0000000000000001 (NEEDED)             Shared library: [libxcb-keysyms.so.1]
     4 0x0000000000000001 (NEEDED)             Shared library: [libxcb-randr.so.0]
     5 0x0000000000000001 (NEEDED)             Shared library: [libxcb-render-util.so.0]
     6 0x0000000000000001 (NEEDED)             Shared library: [libxcb-render.so.0]
     7 0x0000000000000001 (NEEDED)             Shared library: [libxcb-shape.so.0]
     8 0x0000000000000001 (NEEDED)             Shared library: [libxcb-sync.so.1]
     9 0x0000000000000001 (NEEDED)             Shared library: [libxcb-xfixes.so.0]
    10 0x0000000000000001 (NEEDED)             Shared library: [libxcb-xinerama.so.0]
    11 0x0000000000000001 (NEEDED)             Shared library: [libxcb-xkb.so.1]
    12 0x0000000000000001 (NEEDED)             Shared library: [libxcb.so.1]
    

    there’s no reason to not require cursor as well, and no need to mention it specifically.


    Sjors commented at 5:04 am on December 14, 2024:

    So it seems like the download page should have an instruction to install libxcb?

    It’s only 400 kb though: https://www.linuxfromscratch.org/blfs/view/svn/x/libxcb.html (although that seems to be just the source, and it’s missing iccm and image)


    laanwj commented at 9:09 pm on December 19, 2024:

    xcb libraries are part of the X system libraries, everyone running X11 (or xwayland) on linux will have them, someone not running that isn’t going to run bitcoin-qt there’s no problem here

    So it seems like the download page should have an instruction to install libxcb?

    Would also need to mention fontconfig, freetype in that case. But like libxcb, if you don’t have those installed you have bigger problems with your system and won’t be running a desktop environment πŸ˜„

    Actually when we make native wayland an option it gets more complicated. But then we’d want to load all of xcb at runtime only if the X backend is used, and wayland libraries only when wayland is used (as i did in qtsowrap ). Out of scope for this PR.


    Sjors commented at 1:59 am on December 20, 2024:

    Strange, I have an Ubuntu 24 desktop machine at home with comes with Wayland by default. And it was complaining about libxcb missing. It’s possible that I accidentally uninstalled it at some point though.

    https://releases.ubuntu.com/noble/ubuntu-24.04.1-desktop-amd64.manifest

    It has libwayland-cursor0 but not libxcb-cursor0, so maybe it’s a matter of looking for that alternative name?

  230. DrahtBot added the label Needs rebase on Dec 8, 2024
  231. hebasto force-pushed on Dec 12, 2024
  232. hebasto commented at 11:17 am on December 12, 2024: member
    Rebased.
  233. DrahtBot removed the label Needs rebase on Dec 12, 2024
  234. DrahtBot added the label Needs rebase on Dec 13, 2024
  235. cmake: Require Qt 6 to build GUI ee044a325b
  236. depends: Bump `qt` package up to 6.7.3 9d75a8efb1
  237. depends: Introduce customizable `$(package)_patches_path` variables
    This change helps avoid patch duplication between a package and its
    native counterpart.
    6f79a12b6b
  238. depends: Factor out Qt modules' details cf627574f2
  239. depends: Add `native_qt` package
    Unlike Qt 5, Qt 6 requires a separate native Qt build for
    cross-building.
    
    See: https://www.qt.io/blog/qt-6-build-system.
    c8d294f8b4
  240. qt: Fix compiling for Windows
    Static builds for Windows now require Qt 6.7 or newer. This holds
    automatically to cross-compiled builds.
    82a7473087
  241. guix: Adjust for Qt 6
    1. Do not set `C{PLUS}_INCLUDE_PATH` variables for Darwin builds
    
    When cross-building for macOS, the `C{PLUS}_INCLUDE_PATH` environment
    variables modify the default include directories for both native GCC and
    cross Clang compilers, which is overkill and undesirable for the latter.
    
    This change avoids setting the `C{PLUS}_INCLUDE_PATH` environment
    variables and instead sets the required `-isystem` flags for the native
    compiler explicitly.
    
    2. Add `ninja` package.
    
    3. Adjust allowed symbol lists.
    194ad46426
  242. test: Update sanitizer suppressions for Qt 6 9396574903
  243. ci: Update for Qt 6 4fade7c93d
  244. build, msvc: Update `vcpkg.json` for Qt 6 d838dd99a2
  245. doc: Update `dependencies.md` for Qt 6 d5d727b439
  246. hebasto force-pushed on Dec 13, 2024
  247. hebasto commented at 12:10 pm on December 13, 2024: member
    Rebased.
  248. DrahtBot removed the label Needs rebase on Dec 13, 2024
  249. pythcoiner commented at 8:18 am on December 14, 2024: none

    concept ACK

    i’ve got few warnings during build:

     0/home/pyth/cpp/bitcoin/src/qt/sendcoinsdialog.cpp: In constructor β€˜SendCoinsDialog::SendCoinsDialog(const 
     1PlatformStyle*, QWidget*)’:
     2/home/pyth/cpp/bitcoin/src/qt/sendcoinsdialog.cpp:91:56: warning: β€˜void QCheckBox::stateChanged(int)’ is d
     3eprecated: Use checkStateChanged() instead [-Wdeprecated-declarations]
     4   91 |     connect(ui->checkBoxCoinControlChange, &QCheckBox::stateChanged, this, &SendCoinsDialog::coinC
     5ontrolChangeChecked);
     6      |                                                        ^~~~~~~~~~~~
     7In file included from /usr/include/qt6/QtWidgets/QCheckBox:1,
     8                 from /home/pyth/cpp/bitcoin/build/src/qt/bitcoinqt_autogen/include/qt/forms/ui_sendcoinsd
     9ialog.h:16,
    10                 from /home/pyth/cpp/bitcoin/src/qt/sendcoinsdialog.cpp:8:
    11/usr/include/qt6/QtWidgets/qcheckbox.h:41:10: note: declared here
    12   41 |     void stateChanged(int);
    13      |          ^~~~~~~~~~~~
    14/home/pyth/cpp/bitcoin/src/qt/sendcoinsdialog.cpp: In member function β€˜void SendCoinsDialog::setModel(Wall
    15etModel*)’:
    16/home/pyth/cpp/bitcoin/src/qt/sendcoinsdialog.cpp:186:43: warning: β€˜void QCheckBox::stateChanged(int)’ is 
    17deprecated: Use checkStateChanged() instead [-Wdeprecated-declarations]
    18  186 |         connect(ui->optInRBF, &QCheckBox::stateChanged, this, &SendCoinsDialog::updateSmartFeeLabe
    19l);
    20      |                                           ^~~~~~~~~~~~
    21/usr/include/qt6/QtWidgets/qcheckbox.h:41:10: note: declared here
    22   41 |     void stateChanged(int);
    23      |          ^~~~~~~~~~~~
    24/home/pyth/cpp/bitcoin/src/qt/sendcoinsdialog.cpp:187:43: warning: β€˜void QCheckBox::stateChanged(int)’ is 
    25deprecated: Use checkStateChanged() instead [-Wdeprecated-declarations]
    26  187 |         connect(ui->optInRBF, &QCheckBox::stateChanged, this, &SendCoinsDialog::coinControlUpdateL
    27abels);
    28      |                                           ^~~~~~~~~~~~
    29/usr/include/qt6/QtWidgets/qcheckbox.h:41:10: note: declared here
    30   41 |     void stateChanged(int);
    31      |          ^~~~~~~~~~~~
    

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-12-22 00:12 UTC

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