build: Switch to Qt 6 #30997

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

    The currently used Qt 5.15 is approaching EOL and will reach it before the Bitcoin Core v30 release. The recent migration of the 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

    Cross-compiling does not support LTO. We have to re-add it in a follow-up.

    A new style plugin causes minor visual glitches, such as image which 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.

    UPD 2025-03-18: Standard support for Qt 5.15 will end after 26th of May 2025

  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
    ACK hodlinator
    Concept ACK jonatack, promag, Zero-1729, BrandonOdiwuor, pythcoiner
    Stale ACK pablomartin4btc, laanwj

    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:

    • #32162 (depends: Switch from multilib to platform-specific toolchains by hebasto)
    • #32086 (Shuffle depends instructions and recommend modern make for macOS by Sjors)
    • #32081 (depends: patch Qt rounding bugs by fanquake)
    • #31895 (doc: Improve dependencies.md by NicolaLS)
    • #31349 (ci: detect outbound internet traffic generated while running tests by vasild)
    • #31233 (cmake: Improve robustness and usability by hebasto)
    • #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:177 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.


    hebasto commented at 2:08 pm on March 20, 2025:

    semi-related: I wonder if Windows can be bumped to Windows 10 either way.

    Addressed in #31172.

  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:36 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.

    hodlinator commented at 8:55 am on March 19, 2025:

    nit: Seems like this list used to be alphabetically ordered.

    Similar in ubsan: implicit-integer-sign-change:*/qarraydata.h should probably be after implicit-integer-sign-change:*/new_allocator.h.


    hebasto commented at 9:34 am on March 19, 2025:
    Thanks! Fixed.
  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?


    laanwj commented at 1:28 pm on February 3, 2025:

    Wait, X11 is still the only backend we support after this change, right?

    Do you have X installed at all, or is the system wayland-only?

    libwayland-cursor0 is for native wayland usage, not for using xserver-wayland. XCB is still required if you want to use emulated X.


    laanwj commented at 1:38 pm on February 3, 2025:

    Oh, that list has all of the other libxcb components, just not -cursor

     0libxcb-damage0:amd64	1.15-1ubuntu2
     1libxcb-dri2-0:amd64	1.15-1ubuntu2
     2libxcb-dri3-0:amd64	1.15-1ubuntu2
     3libxcb-glx0:amd64	1.15-1ubuntu2
     4libxcb-icccm4:amd64	0.4.1-1.1build3
     5libxcb-image0:amd64	0.4.0-2build1
     6libxcb-keysyms1:amd64	0.4.0-1build4
     7libxcb-present0:amd64	1.15-1ubuntu2
     8libxcb-randr0:amd64	1.15-1ubuntu2
     9libxcb-render-util0:amd64	0.3.9-1build4
    10libxcb-render0:amd64	1.15-1ubuntu2
    11libxcb-res0:amd64	1.15-1ubuntu2
    12libxcb-shape0:amd64	1.15-1ubuntu2
    13libxcb-shm0:amd64	1.15-1ubuntu2
    14libxcb-sync1:amd64	1.15-1ubuntu2
    15libxcb-util1:amd64	0.4.0-1build3
    16libxcb-xfixes0:amd64	1.15-1ubuntu2
    17libxcb-xkb1:amd64	1.15-1ubuntu2
    18libxcb-xv0:amd64	1.15-1ubuntu2
    19libxcb1:amd64	1.15-1ubuntu2
    

    Baffled here, really no clue.

    Anyhow, this isn’t a blocker, let’s just keep this recommendation for now. Maybe we can patch it out cursor switching out in the future it’s not like we rely on it.


    Sjors commented at 9:37 am on March 19, 2025:

    The system has both X and Wayland, but only tested on Wayland.

    If we don’t support Wayland, then I suppose it’s sufficient if a stock desktop Ubuntu running X can start Bitcoin Core without requiring the user to install something.

    But if Bitcoin Core worked with Wayland out of the box before and after this PR doesn’t, it will confuse users. Especially since Wayland has been the default for a few years now on Ubuntu, though they still make switching back to X easy.

    I made a note to test this (with a live CD).


    hebasto commented at 9:44 am on March 19, 2025:

    bitcoin-qt, when dynamically linked to the system’s Qt libraries, should support Wayland.

    For Wayland support with depends, please see #22708.

    UPD. The same is currently for Qt 5 as well.


    Sjors commented at 4:25 pm on March 19, 2025:

    I’m just looking at what users experience when they download the release, not self compilation.

    I created an Ubuntu 24.10 live CD, booted from it and switched to X.

    I extract the v29rc2 archive and try to run bitcoin-qt from finder, but nothing happens. Trying to start it from the command line reveals that it’s missing libxcb-xinerama.so. Same for older versions e.g. v27

    Same happens with Ubuntu 20.04 (which uses X11 by default), at least as far back as v26.2

    People have been installing dependencies manually for at least two years: https://www.reddit.com/r/BitcoinBeginners/comments/14m8f9q/comment/jq1mnjq/ https://bitcoin.stackexchange.com/questions/122646/libxcb-xinerama0-library-required-by-bitcoin-qt

    So there’s no need to worry about Wayland in this PR here, given that X doesn’t work without the user googling instructions and manually installing stuff.


    Sjors commented at 4:35 pm on March 19, 2025:
    Opened #32097 to track linux installation in general.

    fanquake commented at 8:12 am on March 20, 2025:
    Still not sure I understand this addtion. The people reading these docs (self compiling) don’t need it, because all the deps they need should be in the docs already, and the person using the release binaries isn’t reading the self-compilation docs, so isn’t going to see it?

    hebasto commented at 8:15 am on March 20, 2025:
    What would be a better way to proceed here?
  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. hebasto force-pushed on Dec 13, 2024
  236. hebasto commented at 12:10 pm on December 13, 2024: member
    Rebased.
  237. DrahtBot removed the label Needs rebase on Dec 13, 2024
  238. 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      |          ^~~~~~~~~~~~
    
  239. DrahtBot added the label Needs rebase on Jan 17, 2025
  240. hebasto force-pushed on Jan 17, 2025
  241. hebasto commented at 1:32 pm on January 17, 2025: member
    Rebased due to the conflicts with the merged #31621 and #31651.
  242. DrahtBot removed the label Needs rebase on Jan 17, 2025
  243. DrahtBot added the label Needs rebase on Jan 20, 2025
  244. hebasto force-pushed on Jan 21, 2025
  245. hebasto commented at 9:15 am on January 21, 2025: member
    Rebased.
  246. DrahtBot removed the label Needs rebase on Jan 21, 2025
  247. in doc/build-osx.md:95 in 61cea91d04 outdated
    91@@ -92,7 +92,7 @@ Bitcoin Core includes a GUI built with the cross-platform Qt Framework. To compi
    92 Qt, libqrencode and pass `-DBUILD_GUI=ON`. Skip if you don't intend to use the GUI.
    93 
    94 ``` bash
    95-brew install qt@5
    96+brew install qt
    


    hodlinator commented at 11:08 am on January 24, 2025:

    nit (untested): Might be more stable in case there is a Qt 7 in a year?

    0brew install qt@6
    

    hebasto commented at 2:52 pm on February 3, 2025:

    Right. From https://formulae.brew.sh/formula/qt:

    Also known as: qt6, qt@6


    hebasto commented at 2:38 pm on March 18, 2025:
    Thanks! Taken.
  248. in depends/toolchain.cmake.in:105 in 61cea91d04 outdated
     99@@ -96,12 +100,24 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND NOT CMAKE_HOST_APPLE)
    100   set(CMAKE_FRAMEWORK_PATH "@OSX_SDK@/System/Library/Frameworks")
    101 endif()
    102 
    103+
    104+if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
    105+  # Customize pkg-config behaviour.
    


    hodlinator commented at 2:56 pm on January 24, 2025:
    Could you please document why this is needed?

    laanwj commented at 1:10 pm on February 3, 2025:
    i guess it is to make it link qt6 statically

    hebasto commented at 3:02 pm on March 18, 2025:

    Could you please document why this is needed?

    Sure. A comment has been added.


    fanquake commented at 11:38 pm on March 18, 2025:
    The comment still doesn’t really explain why. Why is this needed (now, and not with Qt 5)? Why aren’t the depends outputs already suitable for static linking? Why do we need to restrict the search paths, nothing should be looking outside of depends?

    hebasto commented at 7:04 am on March 19, 2025:

    Why is this needed (now, and not with Qt 5)?

    Qt 6 has a completely different build system from Qt 5.

    Why aren’t the depends outputs already suitable for static linking?

    Not “depends output” but rather pkg-config output.

    Why do we need to restrict the search paths, nothing should be looking outside of depends?

    Because that is the goal of depends, isn’t it?


    hodlinator commented at 9:12 am on March 19, 2025:
    Thanks for expanding the description!
  249. in src/qt/CMakeLists.txt:248 in 61cea91d04 outdated
    247+      iconengines
    248+      imageformats
    249+      egldeviceintegrations
    250+      styles
    251+      networkaccess
    252+      networkinformation
    


    hodlinator commented at 3:31 pm on January 24, 2025:
    (Tried adding back bearer here and it builds without issues. Docs make me think networkinformation replaces it, so current diff seems correct, but not sure how to verify).

    hebasto commented at 2:41 pm on March 18, 2025:
    This code is designed to skip compiling unneeded plugins. You can verify this by checking the build logs.
  250. hodlinator commented at 7:40 pm on January 24, 2025: contributor

    Concept ACK 61cea91d0498bdc5c9131e32a7ef76a52818296a

    Good work on patching up Qt6 for our use-case! πŸ‘·β€β™‚οΈ

    6.7 seems to already have gone EOL as far as OSS support goes in October last year if this is to be trusted: https://endoflife.date/qt, but good to be catching up. (OSS support only appears to be for 6 months).


    • Tested building with GUI (cmake -B build -DBUILD_GUI=ON) and QR codes enabled + running on Linux βœ… and Windows βœ…
    • Tested cross-compiling Linux -> Windows (HOSTS=x86_64-w64-mingw32 ./contrib/guix/guix-build) and running on Windows βœ…
    • Don’t have a Mac to test building on βž–

    Screenshots

    Linux

    Linux

    Windows Native

    Windows_Native

    Linux -> Windows cross compile

    Windows_Cross_from_Linux


    Lingering Qt5 mentions

    https://github.com/bitcoin/bitcoin/blob/61cea91d0498bdc5c9131e32a7ef76a52818296a/.github/ISSUE_TEMPLATE/good_first_issue.yml?plain=1#L31

    https://github.com/bitcoin/bitcoin/blob/61cea91d0498bdc5c9131e32a7ef76a52818296a/doc/build-openbsd.md?plain=1#L103

    Glitches

    PR summary states this under the Windows section:

    A new style plugin causes minor visual glitches that will be fixed in follow-ups.

    Did not notice glitches, what are you referring to?

    Ninja

    PR summary:

    IMPORTANT. Don’t forget to install Ninja.

    I was able to build on Linux without ninja in my path. Guix/Windows install it automatically, so maybe the wording is a bit drastic?

    Compilation warnings

    Observed same warnings as pythcoiner.

    3869e599d329bc19728f14e50b88a08348d42212 / “ci: Update for Qt 6”

    Could mention in commit message why CRB repo needed to be enabled in ci/test/01_base_install.sh?

    cb0bcf3faa874b18f660ba40e28b874e45311515 / “qt: Fix compiling for Windows”

    Should this be done as a discreet commit? Does it mean Windows is broken on earlier commits of the PR? Keeping it distinct is nice for reviewing I guess.

  251. hebasto commented at 9:11 pm on February 1, 2025: member

    @hodlinator

    Thank you for your feedback!

    Ninja

    PR summary:

    IMPORTANT. Don’t forget to install Ninja.

    I was able to build on Linux without ninja in my path. Guix/Windows install it automatically, so maybe the wording is a bit drastic?

    Please see this comment.

  252. in contrib/devtools/symbol-check.py:152 in 61cea91d04 outdated
    146@@ -146,8 +147,9 @@
    147 'IOSurface', # cross process image/drawing buffers
    148 'libobjc.A.dylib', # Objective-C runtime library
    149 'Metal', # 3D graphics
    150-'Security', # access control and authentication
    151 'QuartzCore', # animation
    152+'Security', # access control and authentication
    153+'UniformTypeIdentifiers',
    


    laanwj commented at 2:13 pm on February 3, 2025:
    0'UniformTypeIdentifiers', # collection of types that map to MIME and file types
    

    hebasto commented at 2:38 pm on March 18, 2025:
    Thanks! Taken.
  253. in contrib/devtools/symbol-check.py:163 in 61cea91d04 outdated
    159@@ -158,12 +160,24 @@
    160 'SHELL32.dll', # shell API
    161 'WS2_32.dll', # sockets
    162 # bitcoin-qt only
    163+'api-ms-win-core-synch-l1-2-0.dll',
    


    laanwj commented at 2:32 pm on February 3, 2025:
     0'api-ms-win-core-synch-l1-2-0.dll', # Synchronization Primitives API
     1'api-ms-win-core-winrt-l1-1-0.dll', # Windows Runtime API
     2'api-ms-win-core-winrt-string-l1-1-0.dll', # WinRT String API
     3'AUTHZ.dll', # Windows Authorization Framework
     4'comdlg32.dll', # Common Dialog Box Library
     5'd3d11.dll', # Direct3D 11 API
     6'd3d12.dll', # Direct3D 12 API
     7'd3d9.dll', # Direct3D 9 API
     8'dwmapi.dll', # desktop window manager
     9'DWrite.dll', # DirectX Typography Services 
    10'dxgi.dll', # DirectX Graphics Infrastructure
    11'GDI32.dll', # graphics device interface
    12'IMM32.dll', # input method editor
    13'NETAPI32.dll', # network management
    14'ole32.dll', # component object model
    15'OLEAUT32.dll', # OLE Automation API
    16'SETUPAPI.dll', # Windows Setup API
    17'SHCORE.dll', # Stream Handler Core
    

    hebasto commented at 2:38 pm on March 18, 2025:
    Thanks! Taken.

    hodlinator commented at 11:02 am on March 19, 2025:

    Thread #30997 (review):

    Now that the dependencies for bitcoin-qt double from 12->24 it almost feels like they should be in their own list, so we don’t accidentally introduce dependencies on them from the CLI binaries?

    I can work on a patch for that if there is interest.

  254. DrahtBot added the label Needs rebase on Feb 5, 2025
  255. hebasto force-pushed on Mar 18, 2025
  256. hebasto commented at 1:56 pm on March 18, 2025: member
    Rebased.
  257. hebasto force-pushed on Mar 18, 2025
  258. hebasto commented at 2:35 pm on March 18, 2025: member

    The feedback from @hodlinator and @laanwj has been addressed.

    Lingering Qt5 mentions

    Removed.

    Could mention in commit message why CRB repo needed to be enabled in ci/test/01_base_install.sh?

    Added a comment.

  259. hebasto force-pushed on Mar 18, 2025
  260. DrahtBot commented at 2:37 pm on March 18, 2025: contributor

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

    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.

  261. DrahtBot added the label CI failed on Mar 18, 2025
  262. hebasto force-pushed on Mar 18, 2025
  263. DrahtBot removed the label Needs rebase on Mar 18, 2025
  264. DrahtBot removed the label CI failed on Mar 18, 2025
  265. hebasto force-pushed on Mar 19, 2025
  266. hebasto commented at 8:17 am on March 19, 2025: member

    #30997 (comment):

    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      |          ^~~~~~~~~~~~
    

    Fixed.

  267. in depends/patches/qt/qtbase_avoid_native_float16.patch:9 in 6bc347dfd5 outdated
    0@@ -0,0 +1,37 @@
    1+Avoid using native float16 types in Qt's qfloat16
    2+
    3+Using native float16 types may introduce compatibility issues
    4+in release binaries for Linux platforms.
    5+
    6+See: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=e42d2d2a20f2bb59928bc895ec9f46503a1b5c73
    7+
    8+This patch can be dropped once the minimum required libgcc version
    9+is updated to 12.x or newer.
    


    hodlinator commented at 8:43 am on March 19, 2025:
    Should minimum libgcc version be documented in dependencies.md?

    hebasto commented at 9:21 am on March 19, 2025:
    Historically, it has been documented here:https://github.com/bitcoin/bitcoin/blob/e568c1dd134e0318c46113cb7dfc23b40e2829e8/contrib/devtools/symbol-check.py#L35

    laanwj commented at 9:33 am on March 19, 2025:

    That’s the right place imo. It’s deliberately a low version to make sure the distributed binaries run on older distributions. But it’s not something normal users building the software need worry about.

    Edit: also, the bitcoin core build itself does not have any specific libgcc requirement, it’s just that using float16 in qt would bump the minimum requirement libgcc version for deployment

  268. in src/qt/README.md:3 in 6bc347dfd5 outdated
    0@@ -1,6 +1,6 @@
    1 This directory contains the source code for the Bitcoin Core graphical user interface (GUI). It uses the [Qt](https://www1.qt.io/developers/) cross-platform framework.
    2 
    3-The current precise version for Qt 5 is specified in [qt.mk](/depends/packages/qt.mk).
    4+The current precise version for Qt is specified in [qt.mk](/depends/packages/qt_details.mk).
    


    hodlinator commented at 8:48 am on March 19, 2025:

    nit: More correct?

    0The current precise version for Qt is specified in [qt_details.mk](/depends/packages/qt_details.mk).
    

    hebasto commented at 9:35 am on March 19, 2025:
    Thanks! Taken.
  269. hodlinator commented at 9:16 am on March 19, 2025: contributor
    Code review 6bc347dfd55dd88ed216aae437a716e4cc4d4dde
  270. hebasto force-pushed on Mar 19, 2025
  271. hebasto commented at 9:34 am on March 19, 2025: member

    @hodlinator

    Thank you for your review!

    Your feedback has been addressed.

  272. hebasto commented at 11:22 am on March 19, 2025: member

    My Guix build:

     0aarch64
     17638ac47fcd9ea8a4e2bbb265876aaeba0d8fe774f5bcc884753331d6ffe3429  guix-build-94967c353ed8/output/aarch64-linux-gnu/SHA256SUMS.part
     23d7ff7c2c1ad1608946452645d9047ceef0e77f589098c94b5d628476ee5192d  guix-build-94967c353ed8/output/aarch64-linux-gnu/bitcoin-94967c353ed8-aarch64-linux-gnu-debug.tar.gz
     3b4bcb7f99c2a55a741cdbab4947fe43570d9ee481624171e26637deba2e9d464  guix-build-94967c353ed8/output/aarch64-linux-gnu/bitcoin-94967c353ed8-aarch64-linux-gnu.tar.gz
     40a20e1b44c7990b1dbc9405afa19e23d6d7dbe57a2e68a59d6909abb9e41da66  guix-build-94967c353ed8/output/arm-linux-gnueabihf/SHA256SUMS.part
     56207da80f1677f68517936f6ef4a1fc43d78a8591587ad785da2b057dd05acfd  guix-build-94967c353ed8/output/arm-linux-gnueabihf/bitcoin-94967c353ed8-arm-linux-gnueabihf-debug.tar.gz
     60cc61766b7c4408469987f089e2b5e1538644be98af072e7b63db0b42bc6d79c  guix-build-94967c353ed8/output/arm-linux-gnueabihf/bitcoin-94967c353ed8-arm-linux-gnueabihf.tar.gz
     7477ab36777ace350200234e87b5a416bbdcb3b025d1436fd469adeb50596adab  guix-build-94967c353ed8/output/arm64-apple-darwin/SHA256SUMS.part
     84214a133bc5c7ec151d1e3e168702d7a4cc0c7490c94c3d57ff5ef1d9df7a815  guix-build-94967c353ed8/output/arm64-apple-darwin/bitcoin-94967c353ed8-arm64-apple-darwin-codesigning.tar.gz
     9d855204d5667ede8127dfcfb69f0dae0fbabdee9bbb96032395e27e38bb14726  guix-build-94967c353ed8/output/arm64-apple-darwin/bitcoin-94967c353ed8-arm64-apple-darwin-unsigned.tar.gz
    10535983b571c747cb5a3b11d1461391753d94ec60314471bcf5256ba9442f500f  guix-build-94967c353ed8/output/arm64-apple-darwin/bitcoin-94967c353ed8-arm64-apple-darwin-unsigned.zip
    116450ffa8b58008ae3259fb278428e50b22791fa9ebd7c80696e32665f50481ec  guix-build-94967c353ed8/output/dist-archive/bitcoin-94967c353ed8.tar.gz
    1270864fdfd27bdd8ea62cfe24829db7b475e2ab50e585fd75448cba057c5b93bc  guix-build-94967c353ed8/output/powerpc64-linux-gnu/SHA256SUMS.part
    13e45cd644b9c21ab18159d8cfe1186dc58dfce943285d86de1be9e8584d8496bb  guix-build-94967c353ed8/output/powerpc64-linux-gnu/bitcoin-94967c353ed8-powerpc64-linux-gnu-debug.tar.gz
    1481e6a6d0b33353e27c4f91af0efa1f8fe2be66c2bebc01a3be813fd0047cff00  guix-build-94967c353ed8/output/powerpc64-linux-gnu/bitcoin-94967c353ed8-powerpc64-linux-gnu.tar.gz
    15023d29d88f41f79a69c69078b25c5af94fa53232e6b04f223832abc51c4551a7  guix-build-94967c353ed8/output/riscv64-linux-gnu/SHA256SUMS.part
    1679ccf64d4e1fb2c8abadcc99c0a53bcfc21ae8c4093b5f47826e41f8497e0c3d  guix-build-94967c353ed8/output/riscv64-linux-gnu/bitcoin-94967c353ed8-riscv64-linux-gnu-debug.tar.gz
    1709c23600f13181dfc1be7be17835a8e864ae2743558c252e6539f10b0e6f6a4b  guix-build-94967c353ed8/output/riscv64-linux-gnu/bitcoin-94967c353ed8-riscv64-linux-gnu.tar.gz
    1854459895ae581e286afe5da4f1465a6cd261cc0a360c6a74177a9005a48e838d  guix-build-94967c353ed8/output/x86_64-apple-darwin/SHA256SUMS.part
    19015f755ff8e97c1bacee5ffdf2ff37f73b8917318e5e50921174908b8d36298f  guix-build-94967c353ed8/output/x86_64-apple-darwin/bitcoin-94967c353ed8-x86_64-apple-darwin-codesigning.tar.gz
    20a4eb864257304305f6f4b9b82c43403bb8b17a215dcddf401c2f6bb3b6ce9646  guix-build-94967c353ed8/output/x86_64-apple-darwin/bitcoin-94967c353ed8-x86_64-apple-darwin-unsigned.tar.gz
    21ca773bb6e09802a381c1327cf4f71146d6581e765e4e11cf43a3c79c2a745082  guix-build-94967c353ed8/output/x86_64-apple-darwin/bitcoin-94967c353ed8-x86_64-apple-darwin-unsigned.zip
    22a68892724aa81723b4dba2ccb7c89098d3165dfb31b23896e3b03806294795f3  guix-build-94967c353ed8/output/x86_64-linux-gnu/SHA256SUMS.part
    23c4f5cb63503ca8dc91eeccac9cb7c7d520ba692fdc2d0a39e0c8a501a3354dd3  guix-build-94967c353ed8/output/x86_64-linux-gnu/bitcoin-94967c353ed8-x86_64-linux-gnu-debug.tar.gz
    24370ac8ebdc72eb7d140b5a71ac34817a2c227eb4fc9069aea7dcbbfc5f52d522  guix-build-94967c353ed8/output/x86_64-linux-gnu/bitcoin-94967c353ed8-x86_64-linux-gnu.tar.gz
    250e71ba6d8b0b92bd2e24a6857bb47bea765b097e13a581732d351d6f976477c8  guix-build-94967c353ed8/output/x86_64-w64-mingw32/SHA256SUMS.part
    26e298b4e9b30eaa0b6160f7b55f807756f7232439094d4f27c0da30c0984debaa  guix-build-94967c353ed8/output/x86_64-w64-mingw32/bitcoin-94967c353ed8-win64-codesigning.tar.gz
    2798ce60fb6c78c687c37ce264c712747f00b1b171e52d93f064e470afceeff0a6  guix-build-94967c353ed8/output/x86_64-w64-mingw32/bitcoin-94967c353ed8-win64-debug.zip
    28dd5c22f5b2aaca13ca99a041fbc3b3c8b76c2e14f1d19a8ebd39cd464cfbfd68  guix-build-94967c353ed8/output/x86_64-w64-mingw32/bitcoin-94967c353ed8-win64-setup-unsigned.exe
    29609f146aea5c2d4f66e0761ee8415f4d5035324f32b729350f9b979855eae269  guix-build-94967c353ed8/output/x86_64-w64-mingw32/bitcoin-94967c353ed8-win64-unsigned.zip
    
  273. in ci/test/01_base_install.sh:38 in 94967c353e outdated
    33@@ -34,7 +34,8 @@ fi
    34 
    35 if [[ $CI_IMAGE_NAME_TAG == *centos* ]]; then
    36   bash -c "dnf -y install epel-release"
    37-  bash -c "dnf -y --allowerasing install $CI_BASE_PACKAGES $PACKAGES"
    38+  # The ninja-build package is available in the CRB repository.
    39+  bash -c "dnf -y --allowerasing --enablerepo crb install $CI_BASE_PACKAGES $PACKAGES"
    


    hodlinator commented at 2:20 pm on March 19, 2025:
    Should ninja-build and CRB be mentioned in build-unix.md or dependencies.md?

    hebasto commented at 8:49 am on March 20, 2025:

    The dependencies required to build depends are listed in /depends/README.md, and the second commit already updates them to include the ninja-build package.

    As for mentioning the CRB repository, /depends/README.md does not have a CentOS-specific section.


    hodlinator commented at 9:21 am on March 21, 2025:
    Was thinking we have dnf-commands in build-unix.md. But I guess it’s not so useful in build-unix.md since most distros have pre-built Qt lib packages, so one doesn’t need ninja (and distros that build from source would have ninja as a dependency for Qt anyway).
  274. hodlinator approved
  275. hodlinator commented at 9:13 pm on March 19, 2025: contributor

    ACK 94967c353ed8041115625b6b3c9acba7961e1f20

    • Beginner at CMake/Qt, but couldn’t spot anything malicious-looking in CMake changes nor Qt 6 patches.
    • Have not tested MacOS builds. Only Linux, Windows Native, Windows Cross, see Concept review.

    hebasto: My Guix build:

    Surprisingly to me, I only get sha256sum-matches on these:

    0guix-build-94967c353ed8/output/dist-archive/bitcoin-94967c353ed8.tar.gz
    1guix-build-94967c353ed8/output/x86_64-w64-mingw32/bitcoin-94967c353ed8-win64-setup-unsigned.exe
    

    Building on x86_64. Maybe just a dirty tree leaking into guix somehow, but surprised that one of the builds matched. :\ Also built aarch64-linux-gnu, arm-linux-gnueabihf, powerpc64-linux-gnu, riscv64-linux-gnu and x86_64-linux-gnu.

    Edit: Just realized the clue is in “-unsigned”. Guess I should be processing the others as signed somehow.

  276. DrahtBot requested review from pablomartin4btc on Mar 19, 2025
  277. DrahtBot requested review from laanwj on Mar 19, 2025
  278. hebasto commented at 9:19 pm on March 19, 2025: member

    @hodlinator

    Building on x86_64. Maybe just a dirty tree leaking into guix somehow, but surprised that one of the builds matched. :\ Also built aarch64-linux-gnu, arm-linux-gnueabihf, powerpc64-linux-gnu, riscv64-linux-gnu and x86_64-linux-gnu.

    … and hashes do not match #30997 (comment), right?

  279. hodlinator commented at 9:22 pm on March 19, 2025: contributor

    … and hashes do not match #30997 (comment), right?

    Yes, they do not match:

     0β‚Ώ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
     1cb792029fa4c6150373d6933d1bb577cbbd9cf0dd985c1144470dbd650416c7a  guix-build-94967c353ed8/output/aarch64-linux-gnu/SHA256SUMS.part
     2ed99632264cacc7d3e0a7a250e74ce6ba67bff7dec1bdeffada96e1e54ea65c2  guix-build-94967c353ed8/output/aarch64-linux-gnu/bitcoin-94967c353ed8-aarch64-linux-gnu-debug.tar.gz
     387e14f3c0f41b9dfc559acf697145d9604d3e6b80ebf7c9fdc6e81207e0b5960  guix-build-94967c353ed8/output/aarch64-linux-gnu/bitcoin-94967c353ed8-aarch64-linux-gnu.tar.gz
     42623cb6b599033dd74359453fb85efb43860a811158e47eca3f01294ae8e8513  guix-build-94967c353ed8/output/arm-linux-gnueabihf/SHA256SUMS.part
     518ae3cda24fcba1c9115e1b6bb7097d612e296992aa4488b09d1b935c0f32718  guix-build-94967c353ed8/output/arm-linux-gnueabihf/bitcoin-94967c353ed8-arm-linux-gnueabihf-debug.tar.gz
     69c8a18322ca0020477752db7ea015f6fd059b1e928432f0393b1802378f2cfe6  guix-build-94967c353ed8/output/arm-linux-gnueabihf/bitcoin-94967c353ed8-arm-linux-gnueabihf.tar.gz
     76450ffa8b58008ae3259fb278428e50b22791fa9ebd7c80696e32665f50481ec  guix-build-94967c353ed8/output/dist-archive/bitcoin-94967c353ed8.tar.gz
     8c7d9ce4278a39e8bffecb22caac1d1edaf8054e52a136931ad33a8f6653f0f86  guix-build-94967c353ed8/output/powerpc64-linux-gnu/SHA256SUMS.part
     983e7878efc9d1bb5cc110d5a20349ad4638b4233ad88852b6b92515c51826acf  guix-build-94967c353ed8/output/powerpc64-linux-gnu/bitcoin-94967c353ed8-powerpc64-linux-gnu-debug.tar.gz
    10dc1c625ff57c79ed8d4bddcf85d272b9c3a2eb975725a9a44bbaef14832e5466  guix-build-94967c353ed8/output/powerpc64-linux-gnu/bitcoin-94967c353ed8-powerpc64-linux-gnu.tar.gz
    11113d914c3a8629edc28c7c6c80a5cc36ddcfca3a96e30eabe2e249e78564a81f  guix-build-94967c353ed8/output/riscv64-linux-gnu/SHA256SUMS.part
    121e0f5b369ae94823488c00f05156d38e690486b37fa44332bdc22493abc2c134  guix-build-94967c353ed8/output/riscv64-linux-gnu/bitcoin-94967c353ed8-riscv64-linux-gnu-debug.tar.gz
    134a1ad09886c17206c4c29977043bf11c355162267d95737a4fae6160897f9a1c  guix-build-94967c353ed8/output/riscv64-linux-gnu/bitcoin-94967c353ed8-riscv64-linux-gnu.tar.gz
    14ab6e55c22e3bb1b5a0338fe93127abe6e03c51f71a3c8ea753e9f5e5f8d14d4b  guix-build-94967c353ed8/output/x86_64-linux-gnu/SHA256SUMS.part
    151a2b8c1ff3660dba6655b0f995472c3b4d6711d6aa43779046ce8f9bc8c10b00  guix-build-94967c353ed8/output/x86_64-linux-gnu/bitcoin-94967c353ed8-x86_64-linux-gnu-debug.tar.gz
    168618c7ca6db8cbda9a7d837bc7d575ca92291b34e9bb96de7245e31c8767ecf0  guix-build-94967c353ed8/output/x86_64-linux-gnu/bitcoin-94967c353ed8-x86_64-linux-gnu.tar.gz
    1747cc4deee966bdaca8b3864adfb522b3199df4a8849945eb037d64d6fca0082b  guix-build-94967c353ed8/output/x86_64-w64-mingw32/SHA256SUMS.part
    18e2e17725990f753dfd66bb3e65b171041f2d5ffbf8c0e2c8ee667f1c40fc32c8  guix-build-94967c353ed8/output/x86_64-w64-mingw32/bitcoin-94967c353ed8-win64-codesigning.tar.gz
    196ad65ea09dfd43c38cebea05cb99548434f80c0061fa0ad6c509706986a2a819  guix-build-94967c353ed8/output/x86_64-w64-mingw32/bitcoin-94967c353ed8-win64-debug.zip
    20dd5c22f5b2aaca13ca99a041fbc3b3c8b76c2e14f1d19a8ebd39cd464cfbfd68  guix-build-94967c353ed8/output/x86_64-w64-mingw32/bitcoin-94967c353ed8-win64-setup-unsigned.exe
    2192e41e946978ce924d9e4f2686e5a88f6e9e9331d1c7f2c0fee214a43c9d7074  guix-build-94967c353ed8/output/x86_64-w64-mingw32/bitcoin-94967c353ed8-win64-unsigned.zip
    

    Edit: My theory is that I simply need to grok the guix scripts and signatures some more.

  280. in contrib/guix/libexec/build.sh:186 in 94967c353e outdated
    181@@ -176,13 +182,13 @@ make -C depends --jobs="$JOBS" HOST="$HOST" \
    182                                    x86_64_linux_AR=x86_64-linux-gnu-gcc-ar \
    183                                    x86_64_linux_RANLIB=x86_64-linux-gnu-gcc-ranlib \
    184                                    x86_64_linux_NM=x86_64-linux-gnu-gcc-nm \
    185-                                   x86_64_linux_STRIP=x86_64-linux-gnu-strip
    186+                                   x86_64_linux_STRIP=x86_64-linux-gnu-strip \
    187+                                   build_CC="${NATIVE_GCC}/bin/gcc -isystem ${NATIVE_GCC}/include" \
    


    fanquake commented at 5:28 am on March 20, 2025:

    In 9b8fa3cd2e0d5851355352e1de37c76bd3821e96: It’s not clear why this change is needed, and I think it’s going in the wrong direction; gcc should not be getting hardcoded here (#30206).

    The commit message also seems to be a mashup of things that aren’t necessarily related to Qt, and makes out that this is macOS related (even though the change is being applied to all platforms). It also doesn’t explain the actual issue, just that apparently the current code is overkill/undesirable. What’s the actual problem for the new Qt with the current code?

    I’d like to see this change split out and justified on its own (even just based on the fact it’s clearly changing things in the release process unrelated to Qt).


    hebasto commented at 10:07 pm on March 21, 2025:

    To clarify things, I reworked the commit and provided a working proof of concept that addresses #30206.

    The key point to keep in mind is that the build system for Qt 6 is entirely different from that of Qt 5. For this reason, I don’t think this change could be split out.

    However, the new approach is flexible enough to accommodate the needs of other native packages in the future (e.g., multiprocess).


    fanquake commented at 3:49 am on March 26, 2025:

    and provided a working proof of concept that addresses #30206.

    Thanks, however I tested that with GCC removed, and it didn’t work?

    (from the new commit)

    Previously, we explicitly unset these variables when invoking clang for cross-compiling; however, that approach proved suboptimal (see #30451).

    What is suboptimal? Can you post a build log, or something that actually shows what doesn’t work?


    hebasto commented at 8:32 am on March 26, 2025:

    and provided a working proof of concept that addresses #30206.

    Thanks, however I tested that with GCC removed, and it didn’t work?

    Which standard library are you trying to build with? If it’s libstdc++, then it must still be available somehow after removing gcc-toolchain, right?

    (from the new commit)

    Previously, we explicitly unset these variables when invoking clang for cross-compiling; however, that approach proved suboptimal (see #30451).

    What is suboptimal? Can you post a build log, or something that actually shows what doesn’t work?

    Unsetting *PATH variables caused Ccache to stop working: #21552.


    fanquake commented at 9:47 am on March 26, 2025:

    Which standard library are you trying to build with?

    libc++. Given the goal is to not have anything GCC related installed, only LLVM/Clang.

    Unsetting *PATH variables caused Ccache to stop working: #21552.

    This doesn’t seem relevant to Guix, where ccache isn’t used? I think we are talking past each other, I’m asking about, what failure happens when this commit isn’t included here?


    hebasto commented at 10:29 am on March 26, 2025:

    On an aarch64 build machine:

     0$ env HOSTS="x86_64-apple-darwin" ./contrib/guix/guix-build
     1<snip>
     2Building qt...
     3<snip>
     4[185/1062] Building CXX object qtbase/src/corelib/CMakeFiles/Core.dir/compat/removed_api.cpp.o
     5FAILED: qtbase/src/corelib/CMakeFiles/Core.dir/compat/removed_api.cpp.o 
     6/home/hebasto/.guix-profile/bin/clang++  --target=x86_64-apple-darwin -isysroot/root/SDKs/Xcode-15.0-15A240d-extracted-SDK-with-libcxx-headers -nostdlibinc -iwithsysroot/usr/include/c++/v1 -iwithsysroot/usr/include -iframeworkwithsysroot/System/Library/Frameworks -DGL_SILENCE_DEPRECATION -DPCRE2_CODE_UNIT_WIDTH=16 -DQT_ASCII_CAST_WARNINGS -DQT_BUILDING_QT -DQT_BUILD_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_UP_TO=0x050000 -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_LEAN_HEADERS=1 -DQT_MOC_COMPAT -DQT_NO_AS_CONST -DQT_NO_CAST_TO_ASCII -DQT_NO_CONTEXTLESS_CONNECT -DQT_NO_DEBUG -DQT_NO_FOREACH -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_QEXCHANGE -DQT_NO_QPAIR -DQT_NO_USING_NAMESPACE -DQT_TYPESAFE_FLAGS -DQT_USE_QSTRINGBUILDER -DQT_WARN_DEPRECATED_UP_TO=0x070000 -DQT_ZLIB_LIB -D_DARWIN_C_SOURCE -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/Core_autogen/include -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtCore -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/global -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/kernel -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/../3rdparty/tinycbor/src -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtCore/6.7.3 -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtCore/6.7.3/QtCore -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/../3rdparty/double-conversion/double-conversion -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/../3rdparty/double-conversion -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/../3rdparty/forkfd -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/.rcc -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/mkspecs/macx-clang -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtZlib -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/3rdparty/zlib -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/3rdparty/pcre2/src -I/bitcoin/depends/x86_64-apple-darwin/include -pipe -std=c++20 -mmacos-version-min=13.0 -mlinker-version=711 -ffile-prefix-map=/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f=/usr -O2 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -fexceptions -ffunction-sections -fdata-sections -fapplication-extension -std=c++20 -MD -MT qtbase/src/corelib/CMakeFiles/Core.dir/compat/removed_api.cpp.o -MF qtbase/src/corelib/CMakeFiles/Core.dir/compat/removed_api.cpp.o.d -o qtbase/src/corelib/CMakeFiles/Core.dir/compat/removed_api.cpp.o -c /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/compat/removed_api.cpp
     7In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/compat/removed_api.cpp:553:
     8In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtCore/6.7.3/QtCore/private/qthreadpool_p.h:1:
     9In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/thread/qthreadpool_p.h:25:
    10In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtCore/6.7.3/QtCore/private/qobject_p.h:1:
    11In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/kernel/qobject_p.h:26:
    12In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtCore/qproperty.h:1:
    13In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/kernel/qproperty.h:35:
    14In file included from /gnu/store/9ljjdf910m8iwdl7x5f888wnm26lb2p6-gcc-toolchain-13.3.0/include/c++/experimental/source_location:33:
    15/gnu/store/9ljjdf910m8iwdl7x5f888wnm26lb2p6-gcc-toolchain-13.3.0/include/c++/bits/requires_hosted.h:31:10: fatal error: 'bits/c++config.h' file not found
    16   31 | #include <bits/c++config.h>
    17      |          ^~~~~~~~~~~~~~~~~~
    181 error generated.
    19[186/1062] Building CXX object qtbase/src/corelib/CMakeFiles/Core.dir/global/qlogging.cpp.o
    20FAILED: qtbase/src/corelib/CMakeFiles/Core.dir/global/qlogging.cpp.o 
    21/home/hebasto/.guix-profile/bin/clang++  --target=x86_64-apple-darwin -isysroot/root/SDKs/Xcode-15.0-15A240d-extracted-SDK-with-libcxx-headers -nostdlibinc -iwithsysroot/usr/include/c++/v1 -iwithsysroot/usr/include -iframeworkwithsysroot/System/Library/Frameworks -DGL_SILENCE_DEPRECATION -DPCRE2_CODE_UNIT_WIDTH=16 -DQT_ASCII_CAST_WARNINGS -DQT_BUILDING_QT -DQT_BUILD_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_UP_TO=0x050000 -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_LEAN_HEADERS=1 -DQT_MOC_COMPAT -DQT_NO_AS_CONST -DQT_NO_CAST_TO_ASCII -DQT_NO_CONTEXTLESS_CONNECT -DQT_NO_DEBUG -DQT_NO_FOREACH -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_QEXCHANGE -DQT_NO_QPAIR -DQT_NO_USING_NAMESPACE -DQT_TYPESAFE_FLAGS -DQT_USE_QSTRINGBUILDER -DQT_WARN_DEPRECATED_UP_TO=0x070000 -DQT_ZLIB_LIB -D_DARWIN_C_SOURCE -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/Core_autogen/include -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtCore -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/global -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/kernel -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/../3rdparty/tinycbor/src -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtCore/6.7.3 -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtCore/6.7.3/QtCore -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/../3rdparty/double-conversion/double-conversion -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/../3rdparty/double-conversion -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/../3rdparty/forkfd -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/.rcc -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/mkspecs/macx-clang -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtZlib -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/3rdparty/zlib -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/3rdparty/pcre2/src -I/bitcoin/depends/x86_64-apple-darwin/include -pipe -std=c++20 -mmacos-version-min=13.0 -mlinker-version=711 -ffile-prefix-map=/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f=/usr -O2 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -fexceptions -ffunction-sections -fdata-sections -fapplication-extension -std=c++20 -Winvalid-pch -Xclang -include-pch -Xclang /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/CMakeFiles/Core.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/CMakeFiles/Core.dir/cmake_pch.hxx -MD -MT qtbase/src/corelib/CMakeFiles/Core.dir/global/qlogging.cpp.o -MF qtbase/src/corelib/CMakeFiles/Core.dir/global/qlogging.cpp.o.d -o qtbase/src/corelib/CMakeFiles/Core.dir/global/qlogging.cpp.o -c /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/global/qlogging.cpp
    22In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/global/qlogging.cpp:25:
    23In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtCore/6.7.3/QtCore/private/qcoreapplication_p.h:1:
    24In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/kernel/qcoreapplication_p.h:28:
    25In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtCore/6.7.3/QtCore/private/qobject_p.h:1:
    26In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/kernel/qobject_p.h:26:
    27In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtCore/qproperty.h:1:
    28In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/kernel/qproperty.h:35:
    29In file included from /gnu/store/9ljjdf910m8iwdl7x5f888wnm26lb2p6-gcc-toolchain-13.3.0/include/c++/experimental/source_location:33:
    30/gnu/store/9ljjdf910m8iwdl7x5f888wnm26lb2p6-gcc-toolchain-13.3.0/include/c++/bits/requires_hosted.h:31:10: fatal error: 'bits/c++config.h' file not found
    31   31 | #include <bits/c++config.h>
    32      |          ^~~~~~~~~~~~~~~~~~
    331 error generated.
    34[187/1062] Building CXX object qtbase/src/corelib/CMakeFiles/Core.dir/global/qendian.cpp.o
    35[188/1062] Building CXX object qtbase/src/corelib/CMakeFiles/Core.dir/global/qfloat16.cpp.o
    36[189/1062] Building CXX object qtbase/src/corelib/CMakeFiles/Core.dir/global/qnumeric.cpp.o
    37[190/1062] Building CXX object qtbase/src/corelib/CMakeFiles/Core.dir/Core_autogen/mocs_compilation.cpp.o
    38FAILED: qtbase/src/corelib/CMakeFiles/Core.dir/Core_autogen/mocs_compilation.cpp.o 
    39/home/hebasto/.guix-profile/bin/clang++  --target=x86_64-apple-darwin -isysroot/root/SDKs/Xcode-15.0-15A240d-extracted-SDK-with-libcxx-headers -nostdlibinc -iwithsysroot/usr/include/c++/v1 -iwithsysroot/usr/include -iframeworkwithsysroot/System/Library/Frameworks -DGL_SILENCE_DEPRECATION -DPCRE2_CODE_UNIT_WIDTH=16 -DQT_ASCII_CAST_WARNINGS -DQT_BUILDING_QT -DQT_BUILD_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_UP_TO=0x050000 -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_LEAN_HEADERS=1 -DQT_MOC_COMPAT -DQT_NO_AS_CONST -DQT_NO_CAST_TO_ASCII -DQT_NO_CONTEXTLESS_CONNECT -DQT_NO_DEBUG -DQT_NO_FOREACH -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_QEXCHANGE -DQT_NO_QPAIR -DQT_NO_USING_NAMESPACE -DQT_TYPESAFE_FLAGS -DQT_USE_QSTRINGBUILDER -DQT_WARN_DEPRECATED_UP_TO=0x070000 -DQT_ZLIB_LIB -D_DARWIN_C_SOURCE -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/Core_autogen/include -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtCore -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/global -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/kernel -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/../3rdparty/tinycbor/src -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtCore/6.7.3 -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtCore/6.7.3/QtCore -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/../3rdparty/double-conversion/double-conversion -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/../3rdparty/double-conversion -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/../3rdparty/forkfd -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/.rcc -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/mkspecs/macx-clang -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtZlib -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/3rdparty/zlib -I/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/3rdparty/pcre2/src -I/bitcoin/depends/x86_64-apple-darwin/include -pipe -std=c++20 -mmacos-version-min=13.0 -mlinker-version=711 -ffile-prefix-map=/bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f=/usr -O2 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -fexceptions -ffunction-sections -fdata-sections -fapplication-extension -std=c++20 -Winvalid-pch -Xclang -include-pch -Xclang /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/CMakeFiles/Core.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/CMakeFiles/Core.dir/cmake_pch.hxx -MD -MT qtbase/src/corelib/CMakeFiles/Core.dir/Core_autogen/mocs_compilation.cpp.o -MF qtbase/src/corelib/CMakeFiles/Core.dir/Core_autogen/mocs_compilation.cpp.o.d -o qtbase/src/corelib/CMakeFiles/Core.dir/Core_autogen/mocs_compilation.cpp.o -c /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/Core_autogen/mocs_compilation.cpp
    40In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/Core_autogen/mocs_compilation.cpp:3:
    41In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/Core_autogen/HR73DCNJIQ/moc_qfilesystemwatcher_fsevents_p.cpp:9:
    42In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/Core_autogen/HR73DCNJIQ/../../io/qfilesystemwatcher_fsevents_p.h:18:
    43In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/Core_autogen/HR73DCNJIQ/../../io/qfilesystemwatcher_p.h:22:
    44In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtCore/6.7.3/QtCore/private/qobject_p.h:1:
    45In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/kernel/qobject_p.h:26:
    46In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/include/QtCore/qproperty.h:1:
    47In file included from /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/corelib/kernel/qproperty.h:35:
    48In file included from /gnu/store/9ljjdf910m8iwdl7x5f888wnm26lb2p6-gcc-toolchain-13.3.0/include/c++/experimental/source_location:33:
    49/gnu/store/9ljjdf910m8iwdl7x5f888wnm26lb2p6-gcc-toolchain-13.3.0/include/c++/bits/requires_hosted.h:31:10: fatal error: 'bits/c++config.h' file not found
    50   31 | #include <bits/c++config.h>
    51      |          ^~~~~~~~~~~~~~~~~~
    521 error generated.
    53[191/1062] Building CXX object qtbase/src/corelib/CMakeFiles/Core.dir/global/qglobal.cpp.o
    54[192/1062] Building CXX object qtbase/src/corelib/CMakeFiles/Core.dir/tools/qhash.cpp.o
    55[193/1062] Building CXX object qtbase/src/corelib/CMakeFiles/Core.dir/global/qlibraryinfo.cpp.o
    56[194/1062] Building CXX object qtbase/src/plugins/platforms/minimal/CMakeFiles/QMinimalIntegrationPlugin_init.dir/QMinimalIntegrationPlugin_init.cpp.o
    57[195/1062] Building CXX object qtbase/src/plugins/platforms/cocoa/CMakeFiles/QCocoaIntegrationPlugin_init.dir/QCocoaIntegrationPlugin_init.cpp.o
    58[196/1062] Building CXX object qtbase/src/plugins/styles/mac/CMakeFiles/QMacStylePlugin_init.dir/QMacStylePlugin_init.cpp.o
    59[197/1062] Building CXX object qtbase/src/plugins/networkinformation/scnetworkreachability/CMakeFiles/QSCNetworkReachabilityNetworkInformationPlugin_init.dir/QSCNetworkReachabilityNetworkInformationPlugin_init.cpp.o
    60[198/1062] Building CXX object qtbase/src/plugins/tls/certonly/CMakeFiles/QTlsBackendCertOnlyPlugin_init.dir/QTlsBackendCertOnlyPlugin_init.cpp.o
    61[199/1062] Automatic MOC for target Gui
    62AutoMoc: /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/gui/kernel/qopenglcontext.h: note: No relevant classes found. No output generated.
    63AutoMoc: /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/gui/kernel/qplatformwindow_p.h: note: No relevant classes found. No output generated.
    64AutoMoc: /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/gui/kernel/qsessionmanager.h: note: No relevant classes found. No output generated.
    65AutoMoc: /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/qtbase/src/gui/platform/unix/qgenericunixservices.cpp: note: No relevant classes found. No output generated.
    66[200/1062] Building CXX object qtbase/src/3rdparty/harfbuzz-ng/CMakeFiles/BundledHarfbuzz.dir/src/hb-subset.cc.o
    67ninja: build stopped: subcommand failed.
    68make: *** [funcs.mk:303: /bitcoin/depends/work/build/x86_64-apple-darwin/qt/6.7.3-b3fc6fb7a6f/./.stamp_built] Error 1
    69make: Leaving directory '/bitcoin/depends'
    
  281. in depends/packages/qt.mk:140 in 94967c353e outdated
    155+$(package)_config_opts_darwin += -no-freetype
    156+$(package)_config_opts_darwin += -no-feature-printsupport
    157+$(package)_config_opts_darwin += -no-feature-vulkan
    158 
    159-$(package)_config_opts_linux = -xcb
    160+$(package)_config_opts_linux = -pkg-config
    


    fanquake commented at 6:17 am on March 20, 2025:
    In 428942fdd64b477eef809c2b2fb0906472f2449c: Why is -pkg-config usage being reintroduced here?

    hebasto commented at 12:26 pm on March 20, 2025:

    Otherwise, it fails to find XCB:

     0$ make -C depends -j 16 qt
     1...
     2CMake Error at qtbase/cmake/QtBuildInformation.cmake:522 (message):
     3  Feature "xcb": Forcing to "ON" breaks its condition:
     4
     5      QT_FEATURE_thread AND TARGET XCB::XCB AND TEST_xcb_syslibs AND QT_FEATURE_xkbcommon_x11
     6
     7  Condition values dump:
     8
     9      QT_FEATURE_thread = "ON"
    10      TARGET XCB::XCB found
    11      TEST_xcb_syslibs = "1"
    12      QT_FEATURE_xkbcommon_x11 = "OFF"
    13
    14Call Stack (most recent call first):
    15  qtbase/cmake/QtFeature.cmake:322 (qt_configure_add_report_error)
    16  qtbase/cmake/QtFeature.cmake:442 (qt_feature_check_and_save_internal_value)
    17  qtbase/cmake/QtFeature.cmake:711 (qt_evaluate_feature)
    18  qtbase/cmake/QtFeature.cmake:680 (qt_feature_module_end)
    19  qtbase/src/CMakeLists.txt:13 (qt_feature_evaluate_features)
    

    fanquake commented at 2:31 pm on March 20, 2025:

    Otherwise, it fails to find XCB:

    Is that a Qt bug? Seems odd that if we don’t need it now, we’d need to reintroduce its usage after migrating to a newer version of Qt and migrating more of its build to CMake?


    hebasto commented at 6:43 pm on March 20, 2025:
    … or a poor design of Qt’s internal find modules.

    fanquake commented at 5:23 am on March 22, 2025:

    … or a poor design of Qt’s internal find modules.

    Possibly, have we reported this (regression?) upstream? From my reading of the Qt docs, I can’t seem to find pkg-config listed as a build-time dependency.


    hebasto commented at 9:03 am on March 22, 2025:

    These issues are somewhat related:


    hebasto commented at 10:11 am on March 22, 2025:

    Possibly, have we reported this (regression?) upstream?

    Sure! Please see https://bugreports.qt.io/browse/QTBUG-135042.

  282. laanwj commented at 7:02 am on March 20, 2025: member

    My guix output matches @hebasto’s

     0find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
     17638ac47fcd9ea8a4e2bbb265876aaeba0d8fe774f5bcc884753331d6ffe3429  guix-build-94967c353ed8/output/aarch64-linux-gnu/SHA256SUMS.part
     23d7ff7c2c1ad1608946452645d9047ceef0e77f589098c94b5d628476ee5192d  guix-build-94967c353ed8/output/aarch64-linux-gnu/bitcoin-94967c353ed8-aarch64-linux-gnu-debug.tar.gz
     3b4bcb7f99c2a55a741cdbab4947fe43570d9ee481624171e26637deba2e9d464  guix-build-94967c353ed8/output/aarch64-linux-gnu/bitcoin-94967c353ed8-aarch64-linux-gnu.tar.gz
     40a20e1b44c7990b1dbc9405afa19e23d6d7dbe57a2e68a59d6909abb9e41da66  guix-build-94967c353ed8/output/arm-linux-gnueabihf/SHA256SUMS.part
     56207da80f1677f68517936f6ef4a1fc43d78a8591587ad785da2b057dd05acfd  guix-build-94967c353ed8/output/arm-linux-gnueabihf/bitcoin-94967c353ed8-arm-linux-gnueabihf-debug.tar.gz
     60cc61766b7c4408469987f089e2b5e1538644be98af072e7b63db0b42bc6d79c  guix-build-94967c353ed8/output/arm-linux-gnueabihf/bitcoin-94967c353ed8-arm-linux-gnueabihf.tar.gz
     7477ab36777ace350200234e87b5a416bbdcb3b025d1436fd469adeb50596adab  guix-build-94967c353ed8/output/arm64-apple-darwin/SHA256SUMS.part
     84214a133bc5c7ec151d1e3e168702d7a4cc0c7490c94c3d57ff5ef1d9df7a815  guix-build-94967c353ed8/output/arm64-apple-darwin/bitcoin-94967c353ed8-arm64-apple-darwin-codesigning.tar.gz
     9d855204d5667ede8127dfcfb69f0dae0fbabdee9bbb96032395e27e38bb14726  guix-build-94967c353ed8/output/arm64-apple-darwin/bitcoin-94967c353ed8-arm64-apple-darwin-unsigned.tar.gz
    10535983b571c747cb5a3b11d1461391753d94ec60314471bcf5256ba9442f500f  guix-build-94967c353ed8/output/arm64-apple-darwin/bitcoin-94967c353ed8-arm64-apple-darwin-unsigned.zip
    116450ffa8b58008ae3259fb278428e50b22791fa9ebd7c80696e32665f50481ec  guix-build-94967c353ed8/output/dist-archive/bitcoin-94967c353ed8.tar.gz
    1270864fdfd27bdd8ea62cfe24829db7b475e2ab50e585fd75448cba057c5b93bc  guix-build-94967c353ed8/output/powerpc64-linux-gnu/SHA256SUMS.part
    13e45cd644b9c21ab18159d8cfe1186dc58dfce943285d86de1be9e8584d8496bb  guix-build-94967c353ed8/output/powerpc64-linux-gnu/bitcoin-94967c353ed8-powerpc64-linux-gnu-debug.tar.gz
    1481e6a6d0b33353e27c4f91af0efa1f8fe2be66c2bebc01a3be813fd0047cff00  guix-build-94967c353ed8/output/powerpc64-linux-gnu/bitcoin-94967c353ed8-powerpc64-linux-gnu.tar.gz
    15023d29d88f41f79a69c69078b25c5af94fa53232e6b04f223832abc51c4551a7  guix-build-94967c353ed8/output/riscv64-linux-gnu/SHA256SUMS.part
    1679ccf64d4e1fb2c8abadcc99c0a53bcfc21ae8c4093b5f47826e41f8497e0c3d  guix-build-94967c353ed8/output/riscv64-linux-gnu/bitcoin-94967c353ed8-riscv64-linux-gnu-debug.tar.gz
    1709c23600f13181dfc1be7be17835a8e864ae2743558c252e6539f10b0e6f6a4b  guix-build-94967c353ed8/output/riscv64-linux-gnu/bitcoin-94967c353ed8-riscv64-linux-gnu.tar.gz
    1854459895ae581e286afe5da4f1465a6cd261cc0a360c6a74177a9005a48e838d  guix-build-94967c353ed8/output/x86_64-apple-darwin/SHA256SUMS.part
    19015f755ff8e97c1bacee5ffdf2ff37f73b8917318e5e50921174908b8d36298f  guix-build-94967c353ed8/output/x86_64-apple-darwin/bitcoin-94967c353ed8-x86_64-apple-darwin-codesigning.tar.gz
    20a4eb864257304305f6f4b9b82c43403bb8b17a215dcddf401c2f6bb3b6ce9646  guix-build-94967c353ed8/output/x86_64-apple-darwin/bitcoin-94967c353ed8-x86_64-apple-darwin-unsigned.tar.gz
    21ca773bb6e09802a381c1327cf4f71146d6581e765e4e11cf43a3c79c2a745082  guix-build-94967c353ed8/output/x86_64-apple-darwin/bitcoin-94967c353ed8-x86_64-apple-darwin-unsigned.zip
    22a68892724aa81723b4dba2ccb7c89098d3165dfb31b23896e3b03806294795f3  guix-build-94967c353ed8/output/x86_64-linux-gnu/SHA256SUMS.part
    23c4f5cb63503ca8dc91eeccac9cb7c7d520ba692fdc2d0a39e0c8a501a3354dd3  guix-build-94967c353ed8/output/x86_64-linux-gnu/bitcoin-94967c353ed8-x86_64-linux-gnu-debug.tar.gz
    24370ac8ebdc72eb7d140b5a71ac34817a2c227eb4fc9069aea7dcbbfc5f52d522  guix-build-94967c353ed8/output/x86_64-linux-gnu/bitcoin-94967c353ed8-x86_64-linux-gnu.tar.gz
    250e71ba6d8b0b92bd2e24a6857bb47bea765b097e13a581732d351d6f976477c8  guix-build-94967c353ed8/output/x86_64-w64-mingw32/SHA256SUMS.part
    26e298b4e9b30eaa0b6160f7b55f807756f7232439094d4f27c0da30c0984debaa  guix-build-94967c353ed8/output/x86_64-w64-mingw32/bitcoin-94967c353ed8-win64-codesigning.tar.gz
    2798ce60fb6c78c687c37ce264c712747f00b1b171e52d93f064e470afceeff0a6  guix-build-94967c353ed8/output/x86_64-w64-mingw32/bitcoin-94967c353ed8-win64-debug.zip
    28dd5c22f5b2aaca13ca99a041fbc3b3c8b76c2e14f1d19a8ebd39cd464cfbfd68  guix-build-94967c353ed8/output/x86_64-w64-mingw32/bitcoin-94967c353ed8-win64-setup-unsigned.exe
    29609f146aea5c2d4f66e0761ee8415f4d5035324f32b729350f9b979855eae269  guix-build-94967c353ed8/output/x86_64-w64-mingw32/bitcoin-94967c353ed8-win64-unsigned.zip
    
  283. in depends/packages/qt.mk:111 in 94967c353e outdated
    106@@ -123,33 +107,41 @@ $(package)_config_opts += -no-feature-undogroup
    107 $(package)_config_opts += -no-feature-undostack
    108 $(package)_config_opts += -no-feature-undoview
    109 $(package)_config_opts += -no-feature-vnc
    110-$(package)_config_opts += -no-feature-wizard
    111-$(package)_config_opts += -no-feature-xml
    112+# A workaround for https://bugreports.qt.io/browse/QTBUG-99957.
    


    fanquake commented at 7:34 am on March 20, 2025:
    This links to a bug report for Qt 6.2.2, where the last comment was 3 years ago. Should we leave a new comment that this is still an issue for all current Qt versions (I assume this is the case otherwise we’d have a patch to apply?).

    hebasto commented at 12:01 pm on March 20, 2025:
    A new comment has been posted to that bug report.

    hebasto commented at 12:08 pm on March 20, 2025:

    The issue can be observed in the following scenario on an aarch64 machine:

    0$ env HOSTS=x86_64-linux-gnu ./contrib/guix/guix-build
    1...
    2Building qt...
    3ninja: error: 'qtbase/src/platformsupport/input/CMakeFiles/InputSupportPrivate.dir/cmake_pch.hxx.gch', needed by 'qtbase/src/platformsupport/input/CMakeFiles/InputSupportPrivate.dir/InputSupportPrivate_autogen/mocs_compilation.cpp.o', missing and no known rule to make it
    4make: *** [funcs.mk:303: /bitcoin/depends/work/build/x86_64-linux-gnu/qt/6.7.3-4d1070613d2/./.stamp_built] Error 1
    5make: Leaving directory '/bitcoin/depends'
    

    hebasto commented at 9:45 pm on March 20, 2025:

    It seems there is an issue with older CMake versions. I was able to reproduce it on Ubuntu x86_64 while compiling natively:

    0$ cmake --version
    1cmake version 3.22.6
    2
    3CMake suite maintained and supported by Kitware (kitware.com/cmake).
    4$ gmake -C depends -j 16 qt
    5<snip>
    6Building qt...
    7ninja: error: 'qtbase/src/platformsupport/input/CMakeFiles/InputSupportPrivate.dir/cmake_pch.hxx.gch', needed by 'qtbase/src/platformsupport/input/CMakeFiles/InputSupportPrivate.dir/InputSupportPrivate_autogen/mocs_compilation.cpp.o', missing and no known rule to make it
    8make: *** [funcs.mk:303: /home/hebasto/dev2/bitcoin/depends/work/build/x86_64-linux-gnu/qt/6.7.3-f92448b8cb4/./.stamp_built] Error 1
    9make: Leaving directory '/home/hebasto/dev2/bitcoin/depends'
    

    hebasto commented at 10:15 pm on March 20, 2025:
    The problem occurs with CMake versions older than 3.25.0.

    hebasto commented at 10:26 pm on March 20, 2025:
    Here is an upstream issue fixed in CMake 3.25.0 – https://gitlab.kitware.com/cmake/cmake/-/issues/23464

    fanquake commented at 5:13 am on March 22, 2025:
    Ok, so it looks like we should instead apply this patch: https://codereview.qt-project.org/c/qt/qtbase/+/633612 ?

    hebasto commented at 8:48 am on March 22, 2025:
    Thanks! The patch has been applied.

    hebasto commented at 1:52 pm on March 22, 2025:
    It seems this patch is not enough…

    hebasto commented at 12:13 pm on March 24, 2025:

    It seems this patch is not enough…

    Fixed for macOS as well.

  284. in depends/packages/qt.mk:167 in 94967c353e outdated
    186+$(package)_config_env_darwin += OBJCXX="$$($(package)_cxx)"
    187+
    188+$(package)_cmake_opts := -DCMAKE_PREFIX_PATH=$(host_prefix)
    189+$(package)_cmake_opts += -DQT_FEATURE_cxx20=ON
    190+$(package)_cmake_opts += -DQT_ENABLE_CXX_EXTENSIONS=OFF
    191+$(package)_cmake_opts += --log-level=STATUS
    


    fanquake commented at 7:52 am on March 20, 2025:
    In 428942fdd64b477eef809c2b2fb0906472f2449c: Shouldn’t this be NOTICE unless V=1 or DEBUG=1; otherwise, why are we defaulting to the most verbose logging?

    hebasto commented at 12:19 pm on March 20, 2025:
    Thanks! Reworked.
  285. in depends/toolchain.cmake.in:89 in 94967c353e outdated
    85@@ -86,7 +86,11 @@ set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
    86 set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
    87 set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
    88 set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
    89-set(QT_TRANSLATIONS_DIR "${CMAKE_CURRENT_LIST_DIR}/translations")
    90+if(@depends_crosscompiling@)
    


    fanquake commented at 8:10 am on March 20, 2025:
    Can we move the translations into /translations and then remove the need for this condition?

    hebasto commented at 12:19 pm on March 20, 2025:
    Thanks! Fixed.
  286. in depends/packages/qt.mk:273 in 94967c353e outdated
    328+  ./configure -top-level $($(package)_config_opts) -- $($(package)_cmake_opts)
    329 endef
    330 
    331 define $(package)_build_cmds
    332-  $(MAKE)
    333+  cmake --build . --parallel
    


    fanquake commented at 8:27 am on March 20, 2025:

    In 428942fdd64b477eef809c2b2fb0906472f2449c:

    I don’t think --parallel should be used here, because it’s not going to respect any -j argument given to depends? I’m constantly seeing issues where the build fails, basically because ninja is trying to spawn infinite amounts of compile jobs.


    hebasto commented at 12:18 pm on March 20, 2025:
    Thanks! Fixed.
  287. hebasto force-pushed on Mar 20, 2025
  288. hebasto commented at 12:18 pm on March 20, 2025: member

    Some of @fanquake’s recent feedback has been addressed.

    Additionally, the behaviour when cross-compiling for HOST=x86_64-w64-mingw32 on a system with a native Vulkan package installed has been fixed. Qt 6 erroneously (a bug?) labels Vulkan as available for cross-compiling. Vulkan has been disabled for mingw32, which effectively makes it disabled for all platforms.

  289. hebasto commented at 6:46 pm on March 20, 2025: member

    My Guix build:

     0aarch64
     18948298e720d0d9077a1f57c6e44fff86a234830547f5d57278d37c672236541  guix-build-7b51bf1d4c19/output/aarch64-linux-gnu/SHA256SUMS.part
     243cec316ed0a89274e9b805b845e5be6b164b9ba5b58750fee470335ed4f7904  guix-build-7b51bf1d4c19/output/aarch64-linux-gnu/bitcoin-7b51bf1d4c19-aarch64-linux-gnu-debug.tar.gz
     3023042d946d06d6a89e5a611bd5eb9e73680c541e676e4b4c0c28ea780e9fc71  guix-build-7b51bf1d4c19/output/aarch64-linux-gnu/bitcoin-7b51bf1d4c19-aarch64-linux-gnu.tar.gz
     4513e04e105faf035fb42a9e95cb8bafb78d183c1c858d05c2bf33e767cd27577  guix-build-7b51bf1d4c19/output/arm-linux-gnueabihf/SHA256SUMS.part
     51e370212c8a41afc52fed88623612daa8f8aa39a85f4bab8ecc6e743b4d1182d  guix-build-7b51bf1d4c19/output/arm-linux-gnueabihf/bitcoin-7b51bf1d4c19-arm-linux-gnueabihf-debug.tar.gz
     6ddc283fd87ee8827e5759577540592ade398313a0e95c302e0c46f049900a5e8  guix-build-7b51bf1d4c19/output/arm-linux-gnueabihf/bitcoin-7b51bf1d4c19-arm-linux-gnueabihf.tar.gz
     7166bcde9f7cedf2feb64f71f2734b76e01833a7df38eb3bc5f9e247dfee74ef4  guix-build-7b51bf1d4c19/output/arm64-apple-darwin/SHA256SUMS.part
     82333977eb2e091860350bec26f38bfe5241aca81d2aedb6f422be1333b13f888  guix-build-7b51bf1d4c19/output/arm64-apple-darwin/bitcoin-7b51bf1d4c19-arm64-apple-darwin-codesigning.tar.gz
     98ca8054a911972b0fec75f30d0837998e876309ddc9fbf0b617b5178696fc094  guix-build-7b51bf1d4c19/output/arm64-apple-darwin/bitcoin-7b51bf1d4c19-arm64-apple-darwin-unsigned.tar.gz
    10fa9c55a67a33c609d777e1c5ea5e66d22ee47450a6e7821698c437ead5509dd1  guix-build-7b51bf1d4c19/output/arm64-apple-darwin/bitcoin-7b51bf1d4c19-arm64-apple-darwin-unsigned.zip
    118f3d8da26cedc5b4e1a9370b52e38ff1e7c7f761e69d3cdf583d02370c312d48  guix-build-7b51bf1d4c19/output/dist-archive/bitcoin-7b51bf1d4c19.tar.gz
    1250dd49cbda2fac8aa597e30b638203525d6b17e83ba542137c8e17668881a272  guix-build-7b51bf1d4c19/output/powerpc64-linux-gnu/SHA256SUMS.part
    132c49e92399963b3559221f7a1e76c7167416f38770ca37a750bfa174a581d3aa  guix-build-7b51bf1d4c19/output/powerpc64-linux-gnu/bitcoin-7b51bf1d4c19-powerpc64-linux-gnu-debug.tar.gz
    14f517b908f02b0896f0ba45e8dc202a03dc37cbcb127c88c89a95f9e88241dc03  guix-build-7b51bf1d4c19/output/powerpc64-linux-gnu/bitcoin-7b51bf1d4c19-powerpc64-linux-gnu.tar.gz
    15aa36aa146c92f4dec75dc21bcc5427c8e59cccfee1da2d5c9bc9d8121dfbfdd5  guix-build-7b51bf1d4c19/output/riscv64-linux-gnu/SHA256SUMS.part
    162d4c07c4f708ae8058a7f7ebd816da164c22ce92df07a5a5e8a09c6aff086cfd  guix-build-7b51bf1d4c19/output/riscv64-linux-gnu/bitcoin-7b51bf1d4c19-riscv64-linux-gnu-debug.tar.gz
    1780c44e7df962f84d8ea5c78dbfad56e9e5c4b865d1e2b7f6806607dc7d0e657a  guix-build-7b51bf1d4c19/output/riscv64-linux-gnu/bitcoin-7b51bf1d4c19-riscv64-linux-gnu.tar.gz
    1868196da87e7751fd1a979d88a0678ca658959425865d31880554bc49d2d03909  guix-build-7b51bf1d4c19/output/x86_64-apple-darwin/SHA256SUMS.part
    1998448d2e0c17f2a9684030b66ebbfa93b222cf664a8f84256ecc60f8be9ca460  guix-build-7b51bf1d4c19/output/x86_64-apple-darwin/bitcoin-7b51bf1d4c19-x86_64-apple-darwin-codesigning.tar.gz
    200faba60e3d19790dbee97f7aa9ea7a3ba489d0dd84cca22d34be4bc5df2720a4  guix-build-7b51bf1d4c19/output/x86_64-apple-darwin/bitcoin-7b51bf1d4c19-x86_64-apple-darwin-unsigned.tar.gz
    21fdb3b0f22454890aa37ef001fc3b2195aa2d356de4b9cbbf424bd7b0dc4827f8  guix-build-7b51bf1d4c19/output/x86_64-apple-darwin/bitcoin-7b51bf1d4c19-x86_64-apple-darwin-unsigned.zip
    2295c3a45380c388cf6b536bfbce26aff3068d2db913be2974074389ef2b1b6b64  guix-build-7b51bf1d4c19/output/x86_64-linux-gnu/SHA256SUMS.part
    235ae38052660e7516d32775024902d3dd9693ecba6b01922a1f75878de744c043  guix-build-7b51bf1d4c19/output/x86_64-linux-gnu/bitcoin-7b51bf1d4c19-x86_64-linux-gnu-debug.tar.gz
    2488b62d582d72a8d522ec6ded640a4b5fbd777a04ae73f73c4d2bb9f9336eeb96  guix-build-7b51bf1d4c19/output/x86_64-linux-gnu/bitcoin-7b51bf1d4c19-x86_64-linux-gnu.tar.gz
    2532e7d220f24c38e4a1d7d6329b5f863b870ed8a5676cb7e0019b5d67ebe2c9e6  guix-build-7b51bf1d4c19/output/x86_64-w64-mingw32/SHA256SUMS.part
    267526839251034ed7d956a803239f23f88c9abbca74ce72316160967466719e61  guix-build-7b51bf1d4c19/output/x86_64-w64-mingw32/bitcoin-7b51bf1d4c19-win64-codesigning.tar.gz
    27dceb9921b80c340f964821216dad7bcc484e38c8d5d8cbe004ccaa0d1a832343  guix-build-7b51bf1d4c19/output/x86_64-w64-mingw32/bitcoin-7b51bf1d4c19-win64-debug.zip
    281ede1c6e77e0b4240b94810cdb0c55212043643569f8d149b7d17d6ee43f22e2  guix-build-7b51bf1d4c19/output/x86_64-w64-mingw32/bitcoin-7b51bf1d4c19-win64-setup-unsigned.exe
    292d502509d4b8ad0582c0ed82386c1fc3df04384c16a20c313741cc8e6f495028  guix-build-7b51bf1d4c19/output/x86_64-w64-mingw32/bitcoin-7b51bf1d4c19-win64-unsigned.zip
    
  290. hodlinator approved
  291. hodlinator commented at 7:43 pm on March 21, 2025: contributor

    re-ACK 7b51bf1d4c1933677867f7364a2378e41bc23929

    Changes (git range-diff master 94967c353e 7b51bf1d4c)

    Testing

    Tested cross-build Guix Linux->Windows installer on Windows and switched language & restarted to confirm translations are still working.

    Hashes resolved

    Was able to reproduce hebasto’s hashes using env -i on NixOS: env -i SOURCES_PATH="$HOME/guix/sources" BASE_CACHE="$HOME/guix/cache" SDK_PATH="$HOME/guix/SDKs" HOSTS="aarch64-linux-gnu arm-linux-gnueabihf arm64-apple-darwin powerpc64-linux-gnu riscv64-linux-gnu x86_64-apple-darwin x86_64-linux-gnu x86_64-w64-mingw32" PATH="/nix/store/fr9yr63a1267cr0r86w18c77mh3xavcc-coreutils-9.6/bin/:/nix/store/11ciq72n4fdv8rw6wgjgasfv4mjs1jrw-bash-5.2p37/bin/:/etc/profiles/per-user/hodlinator/bin/:/nix/store/62ks0dh3k59im6jqmxcxyd19w9rfjcry-gnumake-4.4.1/bin/:/run/current-system/sw/bin/" ./contrib/guix/guix-build

  292. hebasto force-pushed on Mar 21, 2025
  293. hebasto commented at 10:12 pm on March 21, 2025: member
    1. Addressed the rest of the feedback from @fanquake.

    2. Provided a working proof of concept addressing #30206, based on this branch.

    3. Fixed a bug when make HOST=<host> NO_QT=1 builds the native_qt package.

    4. Sorted options in *.mk files.

  294. hebasto force-pushed on Mar 22, 2025
  295. hebasto commented at 8:47 am on March 22, 2025: member

    Updated 507c593f18fbd6635dbc29a8f67f6e277c2b33b8 -> 5b32eb7acca176efa4d20aa093ff56b8545eab05 (pr30997.69 -> pr30997.70, diff):

  296. laanwj commented at 1:15 pm on March 22, 2025: member

    Vulkan has been disabled for mingw32, which effectively makes it disabled for all platforms.

    Right. It seems unnecessary to have Vulkan support on any platform right now, Windows has the DX stuff for rendering, MacOS has its own rendering thing, and i guess on Linux the common denominator is still something like GLES2.

  297. hebasto force-pushed on Mar 22, 2025
  298. hebasto commented at 3:15 pm on March 22, 2025: member

    Updated 5b32eb7acca176efa4d20aa093ff56b8545eab05 -> 505607ba705ae146b658ec792556056c4966585f (pr30997.70 -> pr30997.71, diff):

    • Fixed compiling for macOS using CMake < 3.25, including cross-compiling in Guix.
  299. hebasto commented at 6:18 pm on March 22, 2025: member

    My Guix builds for both x86_64 and aarch64:

     0eb1c0f2a5125776756b15cbb1681a1226f4a16bcbb3a3d5e6c5c9dc22a70e25a  guix-build-505607ba705a/output/aarch64-linux-gnu/SHA256SUMS.part
     12fb423c1f3c1b52351967d2c4ef732dcf9b46ff214f109febdc1ed861c7a1765  guix-build-505607ba705a/output/aarch64-linux-gnu/bitcoin-505607ba705a-aarch64-linux-gnu-debug.tar.gz
     248f21a4cb661ea23948f419ceb9a25d074b0cf010d5b7122a057333844f976a1  guix-build-505607ba705a/output/aarch64-linux-gnu/bitcoin-505607ba705a-aarch64-linux-gnu.tar.gz
     35fb2fc5e2e1857f47b2b4614cf12ab5bec8dda15efe4117ac713053dabcaf020  guix-build-505607ba705a/output/arm-linux-gnueabihf/SHA256SUMS.part
     41eda5f192a1cab0fa94b3de981e68dc46e2b43f5f0b9c9c6b7df1c043c27d73f  guix-build-505607ba705a/output/arm-linux-gnueabihf/bitcoin-505607ba705a-arm-linux-gnueabihf-debug.tar.gz
     559e3ea06b6ca745ec962fa32e7f694fbe789d12c5707e79b400d317007c79a43  guix-build-505607ba705a/output/arm-linux-gnueabihf/bitcoin-505607ba705a-arm-linux-gnueabihf.tar.gz
     6ab9748173fabf6f702eae86c7c7c8f38df5421c42356f1bce55faa56b136a92f  guix-build-505607ba705a/output/arm64-apple-darwin/SHA256SUMS.part
     787ad3c55c7565fbab0b6d915b04606d34e0f7c5cf9ea1592f0655197fadf0a82  guix-build-505607ba705a/output/arm64-apple-darwin/bitcoin-505607ba705a-arm64-apple-darwin-codesigning.tar.gz
     87ce22fcbb0747d8a8e7cc04fc0bc0bdc11ce1baed7739262923d32625e556378  guix-build-505607ba705a/output/arm64-apple-darwin/bitcoin-505607ba705a-arm64-apple-darwin-unsigned.tar.gz
     9fc3e01450cbc67340a5f2dbde0140169d0f6f21fb41db60d95c44ab9abf66292  guix-build-505607ba705a/output/arm64-apple-darwin/bitcoin-505607ba705a-arm64-apple-darwin-unsigned.zip
    107db3e54d968d2acd642977654dd4946492d471d2c1b77aa012e837ba54856459  guix-build-505607ba705a/output/dist-archive/bitcoin-505607ba705a.tar.gz
    118f550e6db67daf2cefd13799569b7cce72aaa4bccedee50c5b9a7982f8551236  guix-build-505607ba705a/output/powerpc64-linux-gnu/SHA256SUMS.part
    12a8ab1421204b3692e9fca6774b608ec90233964a9e7f96cf7393477eaacf9e25  guix-build-505607ba705a/output/powerpc64-linux-gnu/bitcoin-505607ba705a-powerpc64-linux-gnu-debug.tar.gz
    131931d956ed46977486889275c77fbc459a1c698c8034bfeffc6e7f5429b3c788  guix-build-505607ba705a/output/powerpc64-linux-gnu/bitcoin-505607ba705a-powerpc64-linux-gnu.tar.gz
    149f640e9dc58a81eb1365f5f7029a7a00ce81a24374b8367c38c3b1214545c01a  guix-build-505607ba705a/output/riscv64-linux-gnu/SHA256SUMS.part
    1518310da5307724d268531f3353f292ceb4124a2e865aae8644280899ee11f9c5  guix-build-505607ba705a/output/riscv64-linux-gnu/bitcoin-505607ba705a-riscv64-linux-gnu-debug.tar.gz
    1695d79c8f44bfb536db230e5f019d14aabbb998b6feb418413d7e16dc33b19260  guix-build-505607ba705a/output/riscv64-linux-gnu/bitcoin-505607ba705a-riscv64-linux-gnu.tar.gz
    172ae9b1dff4285d7abebcf2232d15eb87d18a261fe44fc8ec28c1f3ed3a38b1c8  guix-build-505607ba705a/output/x86_64-apple-darwin/SHA256SUMS.part
    182d5249e0d168c71455dd710ab8d6406a4e118f69cdc16d59f45431b41e3b0e0b  guix-build-505607ba705a/output/x86_64-apple-darwin/bitcoin-505607ba705a-x86_64-apple-darwin-codesigning.tar.gz
    192e8890006737f21529695324efe99997bc9a0a0582e0ecff1f690e5ada1731f4  guix-build-505607ba705a/output/x86_64-apple-darwin/bitcoin-505607ba705a-x86_64-apple-darwin-unsigned.tar.gz
    2056e2b6715764bf3e018991882114b59ad31eda05c96e7addf89d7ec76c346b73  guix-build-505607ba705a/output/x86_64-apple-darwin/bitcoin-505607ba705a-x86_64-apple-darwin-unsigned.zip
    2151449c55b4529ee659c0585f37fcf3ebce3174d36e6368cc3d97daeee9186fd2  guix-build-505607ba705a/output/x86_64-linux-gnu/SHA256SUMS.part
    2208b360dc5eb44127acc8620547ea9ad61381611d436ff95ecf2d1c4b30efdc16  guix-build-505607ba705a/output/x86_64-linux-gnu/bitcoin-505607ba705a-x86_64-linux-gnu-debug.tar.gz
    23d707229741025ab989b113bbf94a4eb6deeca274f03c8cf874ed18e98a361e79  guix-build-505607ba705a/output/x86_64-linux-gnu/bitcoin-505607ba705a-x86_64-linux-gnu.tar.gz
    24a3e7fad3fcaaaaaa39b976b01095e4bf8e58a33320d1d4360f7468ef3f283a3c  guix-build-505607ba705a/output/x86_64-w64-mingw32/SHA256SUMS.part
    257f9002b0510ac2404a80e753806eeed60139fa3e0906cfe79ad7376bb190b042  guix-build-505607ba705a/output/x86_64-w64-mingw32/bitcoin-505607ba705a-win64-codesigning.tar.gz
    26087c24e70acd6aebf5626f51d47c52c302ee52f7b8d379d369426dd86f39870c  guix-build-505607ba705a/output/x86_64-w64-mingw32/bitcoin-505607ba705a-win64-debug.zip
    270ae7e0ec797bd7793575571d23255b6a486ea8a8aa81103163de59721a35ebb3  guix-build-505607ba705a/output/x86_64-w64-mingw32/bitcoin-505607ba705a-win64-setup-unsigned.exe
    28ce684a9054e10bf3f559a695ac46beddfd5c01e492bfcba81e46aecfc26f9d5e  guix-build-505607ba705a/output/x86_64-w64-mingw32/bitcoin-505607ba705a-win64-unsigned.zip
    
  300. hebasto force-pushed on Mar 24, 2025
  301. hebasto commented at 12:12 pm on March 24, 2025: member
    1. Applied a new patch from Qt developers to avoid the -no-pch option for macOS.

    2. -no-opengl has been moved from per-platform options to the global ones.

    3. Rebased.

  302. hebasto commented at 1:46 pm on March 24, 2025: member

    My Guix build:

     0aarch64
     127ee7eaf88b360cf203947bb4d2f61029e01ed2836545b877314f2d029a998dd  guix-build-3bf637c693a5/output/aarch64-linux-gnu/SHA256SUMS.part
     2dd4541b9fa668f3ca739e25d8d696125f850307ef9d97e7ca24aa38b9de1503d  guix-build-3bf637c693a5/output/aarch64-linux-gnu/bitcoin-3bf637c693a5-aarch64-linux-gnu-debug.tar.gz
     320be09dc09e0ae929874cc45ae2222a75f3c256236b2c03f08ee6722df988bff  guix-build-3bf637c693a5/output/aarch64-linux-gnu/bitcoin-3bf637c693a5-aarch64-linux-gnu.tar.gz
     4effdb6074d8f4654dc7cead263ec2b8e410031aa40e36a644767fb5b276f6818  guix-build-3bf637c693a5/output/arm-linux-gnueabihf/SHA256SUMS.part
     5f5dae03c0b4f2dc3f34bf7080c1deb54dac5cc468ed5385db190436edb532d07  guix-build-3bf637c693a5/output/arm-linux-gnueabihf/bitcoin-3bf637c693a5-arm-linux-gnueabihf-debug.tar.gz
     68eb8b3a6244c65193a31912185a0f926ce2280280e16bc10139f1448b69470a9  guix-build-3bf637c693a5/output/arm-linux-gnueabihf/bitcoin-3bf637c693a5-arm-linux-gnueabihf.tar.gz
     7e003572792e6a8d87df732619fe421036c4a2f6c65bcb47031e2a1899f9e6b55  guix-build-3bf637c693a5/output/arm64-apple-darwin/SHA256SUMS.part
     8d644dc16aab7992a149eb3cb5e6c52941061f110f1bcbeb47780f8df4fb5827e  guix-build-3bf637c693a5/output/arm64-apple-darwin/bitcoin-3bf637c693a5-arm64-apple-darwin-codesigning.tar.gz
     9c589ac9ab7e71520a921ac2f7f929dfba8c1175276d4a194ff7f0c04b14ff94a  guix-build-3bf637c693a5/output/arm64-apple-darwin/bitcoin-3bf637c693a5-arm64-apple-darwin-unsigned.tar.gz
    10b8e98e28c4ce97dfebd70da5217abf35b1289157bb571f28ca00a7ac3dda1c07  guix-build-3bf637c693a5/output/arm64-apple-darwin/bitcoin-3bf637c693a5-arm64-apple-darwin-unsigned.zip
    11ef861e8f60f0030651f969771ff7d4e1cdc61b131f879a404bc2a5e17269b416  guix-build-3bf637c693a5/output/dist-archive/bitcoin-3bf637c693a5.tar.gz
    1256301f53f4126e8bbc6797d28a0644474cf310afd0beeefde4cde66235b2deda  guix-build-3bf637c693a5/output/powerpc64-linux-gnu/SHA256SUMS.part
    134a1ec5e2406b9a10c5a1fc457b5da6ee65fd9bd0831936bf23028d3bf4dfd3ef  guix-build-3bf637c693a5/output/powerpc64-linux-gnu/bitcoin-3bf637c693a5-powerpc64-linux-gnu-debug.tar.gz
    143a0983b0b23ce91334887a1fafe65ccf756c5354fd11eebaed70c79f2c6043b5  guix-build-3bf637c693a5/output/powerpc64-linux-gnu/bitcoin-3bf637c693a5-powerpc64-linux-gnu.tar.gz
    15cd3053be9bf9aa1d0699d07d3f98f233efd56f42485a7039ba038702b9d4034b  guix-build-3bf637c693a5/output/riscv64-linux-gnu/SHA256SUMS.part
    166ca0396c057d7f64350bfec3d86f97dcd63602cfc03c4655d8764cacce491fa0  guix-build-3bf637c693a5/output/riscv64-linux-gnu/bitcoin-3bf637c693a5-riscv64-linux-gnu-debug.tar.gz
    1733e1271aa1699070217e6b3b816546abfa0576799e63b103368daf275c92725c  guix-build-3bf637c693a5/output/riscv64-linux-gnu/bitcoin-3bf637c693a5-riscv64-linux-gnu.tar.gz
    186678326bc5042da09f1103fd5c5ff6471d46aa1a9446b8cfb201b8793d13d95e  guix-build-3bf637c693a5/output/x86_64-apple-darwin/SHA256SUMS.part
    1948782e35079e70ebf46b1fc8690c8775f8bdd466bfecb749230112c605bf6d95  guix-build-3bf637c693a5/output/x86_64-apple-darwin/bitcoin-3bf637c693a5-x86_64-apple-darwin-codesigning.tar.gz
    20f571034badc69ed9e276e9a27435a4518c43e99faaa88e0db1d559ab41aede5d  guix-build-3bf637c693a5/output/x86_64-apple-darwin/bitcoin-3bf637c693a5-x86_64-apple-darwin-unsigned.tar.gz
    21c99cc26db3b7f99e165b3910fe7fd3997758413424e036ba6740e3169fb24471  guix-build-3bf637c693a5/output/x86_64-apple-darwin/bitcoin-3bf637c693a5-x86_64-apple-darwin-unsigned.zip
    22dadff550d6bc0d8239094ab1145a51b16c5ef0d8ae726d5ce09f0195dbf041de  guix-build-3bf637c693a5/output/x86_64-linux-gnu/SHA256SUMS.part
    23756c08d265538a457fb13efeeb40df418cf726eed023fb5641ff1b4e95f08a27  guix-build-3bf637c693a5/output/x86_64-linux-gnu/bitcoin-3bf637c693a5-x86_64-linux-gnu-debug.tar.gz
    24a82cca68a5d43f492f032ade263f274ed8ab169685c9557fc78a751baf24823c  guix-build-3bf637c693a5/output/x86_64-linux-gnu/bitcoin-3bf637c693a5-x86_64-linux-gnu.tar.gz
    2530ce15aeaf0179419be9662df3547f73b9caff27735ee780a66478952b6856d8  guix-build-3bf637c693a5/output/x86_64-w64-mingw32/SHA256SUMS.part
    2670e3c8cc6538455895e047e687df1e021b68ec5e4b7d0d51d54157f5e9781fdc  guix-build-3bf637c693a5/output/x86_64-w64-mingw32/bitcoin-3bf637c693a5-win64-codesigning.tar.gz
    27c51250294691adc2aa0627217bb2c6bfed1175142abc946982c5881c9964af6a  guix-build-3bf637c693a5/output/x86_64-w64-mingw32/bitcoin-3bf637c693a5-win64-debug.zip
    28f1b34c9865d9b4fb095725e7341bab1d87adc17194d7ea381ab737eb44a21b84  guix-build-3bf637c693a5/output/x86_64-w64-mingw32/bitcoin-3bf637c693a5-win64-setup-unsigned.exe
    296310fdad7687e1a117c98c511f0e14212a63b92494271f66808e4bcafb93adb8  guix-build-3bf637c693a5/output/x86_64-w64-mingw32/bitcoin-3bf637c693a5-win64-unsigned.zip
    
  303. hebasto commented at 1:47 pm on March 24, 2025: member
    Please let me know if I haven’t addressed any of your feedback.
  304. laanwj approved
  305. laanwj commented at 3:14 pm on March 25, 2025: member

    Code review and tested ACK 3bf637c693a5893df4b117078421747a696a252b imo it would be fairly useful to merge this early in the 30.x window, to make sure any unexpected problems that might come up can be fixed in time.

    (Edit: and also so that work on the GUI can build on Qt6 directly instead of having to be done on Qt5 just for hebasto to have to keep up with porting it here πŸ˜„ )

  306. DrahtBot requested review from hodlinator on Mar 25, 2025
  307. in depends/patches/qt/utc_from_string_no_optimize.patch:8 in 3bf637c693 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
    


    fanquake commented at 2:11 pm on March 27, 2025:

    In 9d3be36f758095167ddd762400fda1a3ea76e8f9: This patch was rebased, but I compared a Guix build for arm64-apple-darwin on aarch64 & x86-64 with the patch removed, and the builds matched. Did you see otherwise?

    https://github.com/fanquake/bitcoin/tree/rem_no_opt (aarch64 & x86_64):

    021e666fafe96478bdcd4a4ea38a80f94aa82e22476b85933d807802bde2640bc  guix-build-2faea9a49831/output/arm64-apple-darwin/SHA256SUMS.part
    1fc37f23342083a8849f64f508448f273258a5fd124989e6501bfef53c016e568  guix-build-2faea9a49831/output/arm64-apple-darwin/bitcoin-2faea9a49831-arm64-apple-darwin-codesigning.tar.gz
    2c8abcb3d368b1a8788ea960dbccb6e0b191d8f2f2103ed27e635a55cb629dbf5  guix-build-2faea9a49831/output/arm64-apple-darwin/bitcoin-2faea9a49831-arm64-apple-darwin-unsigned.tar.gz
    3fe70a1fcd177e6fd6ff1a2856635bb37e2b0005a56a2aca5ac100e6f8a1adddf  guix-build-2faea9a49831/output/arm64-apple-darwin/bitcoin-2faea9a49831-arm64-apple-darwin-unsigned.zip
    4fd9f104640ff1047faf8f7acc3cfb363a4321d28fb99b3dcd51223e8f3c53dfb  guix-build-2faea9a49831/output/dist-archive/bitcoin-2faea9a49831.tar.gz
    

    hebasto commented at 6:36 am on March 28, 2025:
    Thanks for checking it out! I’ve removed the patch.
  308. in depends/patches/qt/macos_skip_version_checks.patch:4 in 3bf637c693 outdated
    0@@ -0,0 +1,69 @@
    1+The @available compiler directive exports the __isPlatformVersionAtLeast
    2+symbol, which the linker cannot resolve during cross-compilation.
    3+
    4+This patch assumes that the minimum supported macOS version is 13.0.
    


    fanquake commented at 2:18 pm on March 27, 2025:

    In In 9d3be36f758095167ddd762400fda1a3ea76e8f9:

    symbol, which the linker cannot resolve during cross-compilation.

    Which linker doesn’t this work with? I dropped this patch, and cross-compiled for macOS on Ubuntu, with lld 18.1.3, and it seemed to work fine? It’d be good if the patch could include the details.


    hebasto commented at 6:35 am on March 28, 2025:
    Thanks! It works for me too, so I’ve dropped the patch. It was possibly a side effect of #31048.
  309. in depends/patches/qt/windows_lto.patch:11 in 3bf637c693 outdated
     7@@ -8,7 +8,7 @@ diff --git a/qtbase/src/widgets/accessible/simplewidgets.cpp b/qtbase/src/widget
     8 index 107fd729fe..0e61878f39 100644
     9 --- a/qtbase/src/widgets/accessible/simplewidgets.cpp
    10 +++ b/qtbase/src/widgets/accessible/simplewidgets.cpp
    11-@@ -109,6 +109,8 @@ QString qt_accHotKey(const QString &text);
    


    fanquake commented at 2:22 pm on March 27, 2025:
    In 9d3be36f758095167ddd762400fda1a3ea76e8f9: This patch was rebased, but testing a Windows build with LTO and this branch, it doesn’t seem to compile. So it seems like we should either fixup the patch to make builds under LTO work, or drop the patch and re-add support for LTO later?

    hebasto commented at 10:31 pm on March 27, 2025:

    … or drop the patch and re-add support for LTO later?

    Agree on that.

    Also, from https://bugreports.qt.io/browse/QTBUG-125034:

    LTCG is unfortunately known to be quite broken with MinGW toolchains. We don’t support LTCG with MinGW but would accept patches if they’re not too involved.


    hebasto commented at 6:37 am on March 28, 2025:
    The patch has been dropped.
  310. in depends/patches/qt/qttools_skip_dependencies.patch:4 in 3bf637c693 outdated
    0@@ -0,0 +1,36 @@
    1+QtTools: Skip unnecessary dependencies:
    2+
    3+1. The LLVM installatiion.
    4+2. Build only required tools.
    


    fanquake commented at 2:40 pm on March 27, 2025:

    In 9d3be36f758095167ddd762400fda1a3ea76e8f9:

    1. Build only required tools.

    How extensive should this be? Looking at the bin/libexec depends dirs after a build of this branch, we seem to end up with a lot of tooling/scipts/binaries that we are not using. For example:

     0qt-cmake-private
     1qt-internal-configure-examples
     2qt-internal-configure-tests
     3qt-testrunner.py
     4qtpaths
     5qtpaths6
     6qvkgen
     7sanitizer-testrunner.py
     8syncqt
     9tracegen
    10tracepointgen
    

    Not sure if that should be getting cleaned up here, or in a post-install phase, but ideally we can skip compiling stuff we never use.


    hebasto commented at 6:41 am on March 28, 2025:
    I’ve added a new patch that addresses you comment for trivial cases. We can address other cases, where tools are more deeply integrated in the Qt’s build system, in follow-ups.
  311. in depends/toolchain.cmake.in:107 in 3bf637c693 outdated
     95@@ -96,12 +96,27 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND NOT CMAKE_HOST_APPLE)
     96   set(CMAKE_FRAMEWORK_PATH "@OSX_SDK@/System/Library/Frameworks")
     97 endif()
     98 
     99+
    100+if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
    101+  # Customize pkg-config behavior for finding dependencies
    102+  # of the xcb QPA platform plugin:
    103+  # 1. Restrict search paths to the depends.
    


    fanquake commented at 2:44 am on March 28, 2025:
    1. Restrict search paths to the depends.

    Looking at CMake output on my Fedora box, it seems to be searching in a mix of the depends and system libraries:

     0-- Found XCB_XFIXES: /root/bitcoin/depends/aarch64-unknown-linux-gnu/lib/libxcb-xfixes.so (found version "1.14")
     1-- Found XCB_ATOM: /root/bitcoin/depends/aarch64-unknown-linux-gnu/lib/libxcb-util.a (found version "0.4.0")
     2-- Found XCB_AUX: /root/bitcoin/depends/aarch64-unknown-linux-gnu/lib/libxcb-util.a (found version "0.4.0")
     3-- Found XCB_COMPOSITE: /usr/lib64/libxcb-composite.so (found version "")
     4-- Found XCB_DAMAGE: /usr/lib64/libxcb-damage.so (found version "")
     5-- Found XCB_DPMS: /usr/lib64/libxcb-dpms.so (found version "")
     6-- Found XCB_DRI2: /usr/lib64/libxcb-dri2.so (found version "")
     7-- Found XCB_DRI3: /usr/lib64/libxcb-dri3.so (found version "")
     8-- Found XCB_EVENT: /root/bitcoin/depends/aarch64-unknown-linux-gnu/lib/libxcb-util.a (found version "0.4.0")
     9-- Found XCB_EWMH: /root/bitcoin/depends/aarch64-unknown-linux-gnu/lib/libxcb-ewmh.so (found version "0.4.1")
    10-- Found XCB_GLX: /usr/lib64/libxcb-glx.so (found version "")
    11-- Found XCB_PRESENT: /usr/lib64/libxcb-present.so (found version "")
    12-- Found XCB_RECORD: /usr/lib64/libxcb-record.so (found version "")
    13-- Found XCB_RES: /usr/lib64/libxcb-res.so (found version "")
    14-- Found XCB_SCREENSAVER: /usr/lib64/libxcb-screensaver.so (found version "")
    

    Is this expected?


    hebasto commented at 7:02 am on March 28, 2025:
    I don’t think so. Will investigate it today.

    hebasto commented at 12:21 pm on March 28, 2025:
    Thanks! Fixed.
  312. hebasto force-pushed on Mar 28, 2025
  313. hebasto commented at 6:24 am on March 28, 2025: member

    @fanquake

    Thank you for your review!

    Your feedback has been addressed:

    1. Removed utc_from_string_no_optimize.patch. See #30997 (review).

    2. Removed macos_skip_version_checks.patch. See #30997 (review).

    3. Removed windows_lto.patch. See #30997 (review).

    We have to re-add LTO support for Windows builds in a follow-up.

    1. Added new qtbase_skip_tools.patch that minimizes compiling/installing unused tools in trivial cases. See #30997 (review).

    2. Rebased.


    My Guix builds for both aarch64 and x86_64:

     08d38d41e6c40ea1ccf7a7a8bb7c983874187b6b6a8e0a13ed40d105f420a16c9  guix-build-090a40aa336d/output/aarch64-linux-gnu/SHA256SUMS.part
     158db415e0b5edc792c4cb9b53af8128f611c6115e5892317110cb4dbaf60d92a  guix-build-090a40aa336d/output/aarch64-linux-gnu/bitcoin-090a40aa336d-aarch64-linux-gnu-debug.tar.gz
     2e309b5217754ea16d9af8688b57d07f579061f4db0e3111aa5991e232dcc382c  guix-build-090a40aa336d/output/aarch64-linux-gnu/bitcoin-090a40aa336d-aarch64-linux-gnu.tar.gz
     3b428afa933dbdee744b08d45a8f9118fc37fe9fb00fd4ee248b34755bf7f943d  guix-build-090a40aa336d/output/arm-linux-gnueabihf/SHA256SUMS.part
     4a2dd6416321de0cc76b2b28ac129968a0d8e5d241cd87ac47d6b27b44790a79e  guix-build-090a40aa336d/output/arm-linux-gnueabihf/bitcoin-090a40aa336d-arm-linux-gnueabihf-debug.tar.gz
     53ed9bb8b5686a3ccc13081bfbc408c8fdf9ba8543822b59db283616f128bdc39  guix-build-090a40aa336d/output/arm-linux-gnueabihf/bitcoin-090a40aa336d-arm-linux-gnueabihf.tar.gz
     6a86e4aac9313b636214deadeccf23e2ca44f5023918b6d0b2fb47a55114bc256  guix-build-090a40aa336d/output/arm64-apple-darwin/SHA256SUMS.part
     70b594aa7dceb54344181a89003067e1a586478ee7215b46180f7431f558197bb  guix-build-090a40aa336d/output/arm64-apple-darwin/bitcoin-090a40aa336d-arm64-apple-darwin-codesigning.tar.gz
     88184eb335f1da255c623582bb55a98c765c709cf4b8629216cebdb75b8ab9d65  guix-build-090a40aa336d/output/arm64-apple-darwin/bitcoin-090a40aa336d-arm64-apple-darwin-unsigned.tar.gz
     9bc8664b82447bc68ea5fbe1b60c35c0464d088df5a5a2d6756a7f8673349b7f6  guix-build-090a40aa336d/output/arm64-apple-darwin/bitcoin-090a40aa336d-arm64-apple-darwin-unsigned.zip
    10f37305f8bfaff105873cdfa8763ac4cda74d9c2f67db028f27cca9e4305bd17a  guix-build-090a40aa336d/output/dist-archive/bitcoin-090a40aa336d.tar.gz
    1129ca58a215c266c3106a5105a7fc0ba3e6f79cb88440ac0432ee1290c2793b0a  guix-build-090a40aa336d/output/powerpc64-linux-gnu/SHA256SUMS.part
    129c3342df6ef94753eac70a4fa732d328ad6fbe11b56ecc5bd1ab1e84b760a04e  guix-build-090a40aa336d/output/powerpc64-linux-gnu/bitcoin-090a40aa336d-powerpc64-linux-gnu-debug.tar.gz
    13f9234aa624fa2de84d1c85c2d94718b47c010d5e9d5b953f1da0b3dfa50dc1d6  guix-build-090a40aa336d/output/powerpc64-linux-gnu/bitcoin-090a40aa336d-powerpc64-linux-gnu.tar.gz
    14d5a0771db3f753ff626cd095ec92787a436da41f1d066923457633f56cd2d7db  guix-build-090a40aa336d/output/riscv64-linux-gnu/SHA256SUMS.part
    15cd51bb1f43a990f17924aa300beae0cf28f055fdf5c8d24c23217e0c0e7dbfbf  guix-build-090a40aa336d/output/riscv64-linux-gnu/bitcoin-090a40aa336d-riscv64-linux-gnu-debug.tar.gz
    1676b1f1dedaae6437feaccf7a5faa0b1db1857adefa43b6cdf7146a66a082515e  guix-build-090a40aa336d/output/riscv64-linux-gnu/bitcoin-090a40aa336d-riscv64-linux-gnu.tar.gz
    1770cae0b2a27b2dd1801365df94ad862ebdfa892374fa81be02b5a2a8e084f386  guix-build-090a40aa336d/output/x86_64-apple-darwin/SHA256SUMS.part
    185dd7ff8bf7361f2699b59ead043fcbd1a9b2c2b1be2aaa599ed29b622b8dc8ea  guix-build-090a40aa336d/output/x86_64-apple-darwin/bitcoin-090a40aa336d-x86_64-apple-darwin-codesigning.tar.gz
    19e8b55464d3606c1395734b1fbeca9b17a68fbec75a20c0dd46751ebc975607e3  guix-build-090a40aa336d/output/x86_64-apple-darwin/bitcoin-090a40aa336d-x86_64-apple-darwin-unsigned.tar.gz
    20bd29ccad3bc830df7b34afb490d959cc84cca3a1dd69c76e5dd75cf56986d6d5  guix-build-090a40aa336d/output/x86_64-apple-darwin/bitcoin-090a40aa336d-x86_64-apple-darwin-unsigned.zip
    21f787897293515e888263b2ae0469711b8a70b743b6d7ca8c197ff28a1c492811  guix-build-090a40aa336d/output/x86_64-linux-gnu/SHA256SUMS.part
    2233c813f0cc2cfc2dbeea9c740a801f06d5e2893da4e9fad39cdfe0d27161e6ea  guix-build-090a40aa336d/output/x86_64-linux-gnu/bitcoin-090a40aa336d-x86_64-linux-gnu-debug.tar.gz
    2311224caeced66f49cdd0d517dac5515fff12f5b4b93b3d21c8bd26d495c293e0  guix-build-090a40aa336d/output/x86_64-linux-gnu/bitcoin-090a40aa336d-x86_64-linux-gnu.tar.gz
    245cf66e3c7361e9869afd2ef370a6159d4319bad899156a347134ad98bc7e3f0c  guix-build-090a40aa336d/output/x86_64-w64-mingw32/SHA256SUMS.part
    258fa750d3c162c98aa81d5e7113700d8f6c077cc1c06c1039ede47feab2a6e074  guix-build-090a40aa336d/output/x86_64-w64-mingw32/bitcoin-090a40aa336d-win64-codesigning.tar.gz
    26a8b6c98344ee7806f027dca6ca6312520b1713b9c3d3d4e5fa39fe223e0c538c  guix-build-090a40aa336d/output/x86_64-w64-mingw32/bitcoin-090a40aa336d-win64-debug.zip
    27ca76162db5e52db4f8628204bf97cbba0272dd7b6bc25769f7d297dcecb22f0c  guix-build-090a40aa336d/output/x86_64-w64-mingw32/bitcoin-090a40aa336d-win64-setup-unsigned.exe
    281d647daa3ef60d5f73efcd06c8e3c1021ff2d11f6dc9d6959366ee3ace296e71  guix-build-090a40aa336d/output/x86_64-w64-mingw32/bitcoin-090a40aa336d-win64-unsigned.zip
    
  314. cmake: Require Qt 6 to build GUI f9472962d1
  315. depends: Bump `qt` package up to 6.7.3 43982218d2
  316. depends: Introduce customizable `$(package)_patches_path` variables
    This change helps avoid patch duplication between a package and its
    native counterpart.
    69ba49f90c
  317. depends: Factor out Qt modules' details a4885edfca
  318. 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.
    9addd8a36a
  319. qt: Fix compiling for Windows
    Static builds for Windows now require Qt 6.7 or newer. This holds
    automatically to cross-compiled builds.
    997beb3eba
  320. guix: Adjust for Qt 6
    1. Do not set `C{PLUS}_INCLUDE_PATH` variables
    
    The build system for Qt 6 differs entirely from that of Qt 5. Building a
    set of native Qt 6 tools now forms a separate step when cross-compiling.
    Under these new circumstances, the `C{PLUS}_INCLUDE_PATH` environment
    variables may alter the default include directories for both native and
    cross compilers.
    
    Previously, we explicitly unset these variables when invoking clang for
    cross-compiling; however, that approach proved suboptimal (see #30451).
    
    This change sets the native toolchain for dependencies explicitly,
    rather than relying on the `C{PLUS}_INCLUDE_PATH` environment variables.
    Additionally, it facilitates the transition towards using clang for
    building native tools when cross-compiling for macOS.
    
    2. Add `ninja` package.
    
    3. Adjust allowed symbol lists.
    b202074ca3
  321. test: Update sanitizer suppressions for Qt 6 c387bef03a
  322. ci: Update for Qt 6 9ae3a3fc7c
  323. build, msvc: Update `vcpkg.json` for Qt 6 ff9e72cbdb
  324. doc: Update `dependencies.md` for Qt 6 c4861570e4
  325. hebasto force-pushed on Mar 28, 2025
  326. hebasto commented at 12:21 pm on March 28, 2025: member
    The last feedback from @fanquake has been addressed.
  327. hebasto commented at 12:33 pm on March 28, 2025: member

    My Guix build:

     0aarch64
     16ea4a76be3383337e57d6a12450bd589776ebb3fd0d9161347766ef845241e13  guix-build-c4861570e468/output/aarch64-linux-gnu/SHA256SUMS.part
     23eb7656483dfe47fa6b7cf40bceb3decda73474c813edb224d42840adb8b49d6  guix-build-c4861570e468/output/aarch64-linux-gnu/bitcoin-c4861570e468-aarch64-linux-gnu-debug.tar.gz
     30aa522010efd138d78eeac0a8ea15df469298c50afaa2451dece78c564546cac  guix-build-c4861570e468/output/aarch64-linux-gnu/bitcoin-c4861570e468-aarch64-linux-gnu.tar.gz
     45e1e83351964664e870fedcb7317466dfbbc215104914fe2ff254434b8836c0a  guix-build-c4861570e468/output/arm-linux-gnueabihf/SHA256SUMS.part
     58f115cc9500c1c09cbf2aab6fc9bd8baf0638851dfe6099c432ffc728670a8ca  guix-build-c4861570e468/output/arm-linux-gnueabihf/bitcoin-c4861570e468-arm-linux-gnueabihf-debug.tar.gz
     653485cf2d2f6a7f8ebf8c44642b974f5cc1bda997370e51a914462fdeb5d0050  guix-build-c4861570e468/output/arm-linux-gnueabihf/bitcoin-c4861570e468-arm-linux-gnueabihf.tar.gz
     7868261da9abdd1f9c487a9df4ba1680d0d63842ccd1f2cf762fd33b13cf81ee0  guix-build-c4861570e468/output/arm64-apple-darwin/SHA256SUMS.part
     81790050dd60d3081542b29d66fbdbaa10221f436f355352d7fbffaff8f481f75  guix-build-c4861570e468/output/arm64-apple-darwin/bitcoin-c4861570e468-arm64-apple-darwin-codesigning.tar.gz
     9ee996481b15371a96bfdba9019b4181386379389d4d5f404091f2f22ece4547f  guix-build-c4861570e468/output/arm64-apple-darwin/bitcoin-c4861570e468-arm64-apple-darwin-unsigned.tar.gz
    103fdec586a8e45da10c550425048d7c754f6e332c7988995ed24f551e28a375d0  guix-build-c4861570e468/output/arm64-apple-darwin/bitcoin-c4861570e468-arm64-apple-darwin-unsigned.zip
    118c571993e537370687007446cc2defc81368d8685881044657682a1db023316f  guix-build-c4861570e468/output/dist-archive/bitcoin-c4861570e468.tar.gz
    1213e28bcf8c14e0e5a8fd26894fd98645a80ea9d8f7832c97c03a335e2ede7cfc  guix-build-c4861570e468/output/powerpc64-linux-gnu/SHA256SUMS.part
    13ea126f572de94b842d8f909865c1637d6cfb7f3549b120b43963b9b147050e5a  guix-build-c4861570e468/output/powerpc64-linux-gnu/bitcoin-c4861570e468-powerpc64-linux-gnu-debug.tar.gz
    1420bf91f8f77cf4c44f7de5b6f29472851f7f20b16ba78eebb33e6594fbe709ae  guix-build-c4861570e468/output/powerpc64-linux-gnu/bitcoin-c4861570e468-powerpc64-linux-gnu.tar.gz
    15bbb1e1ee068adaf749d02efa253e9d988beebbd4faa9266afb132bb611635cf4  guix-build-c4861570e468/output/riscv64-linux-gnu/SHA256SUMS.part
    16db260da086d586a86ab0f53534bb9a3701997b64a39e77e62fcb1f9baed013b6  guix-build-c4861570e468/output/riscv64-linux-gnu/bitcoin-c4861570e468-riscv64-linux-gnu-debug.tar.gz
    17dfe99bc5ad5f1dda230955a412077ae08d7a2493532b7434cd9ef53634eb6b9a  guix-build-c4861570e468/output/riscv64-linux-gnu/bitcoin-c4861570e468-riscv64-linux-gnu.tar.gz
    18f236e4d781e4442b251d36a7129859eaf8a1f0415df58ba90bbf32005698d70f  guix-build-c4861570e468/output/x86_64-apple-darwin/SHA256SUMS.part
    19b7fff5261c39bd607b4097c751688c64fbc08bac15ae3678741565f453b200f3  guix-build-c4861570e468/output/x86_64-apple-darwin/bitcoin-c4861570e468-x86_64-apple-darwin-codesigning.tar.gz
    200baca43cb84025ca98de99dbee69645f8e47adc9971dc052acfa44303392eead  guix-build-c4861570e468/output/x86_64-apple-darwin/bitcoin-c4861570e468-x86_64-apple-darwin-unsigned.tar.gz
    21273df5556fd2aee07d4afd3e79e135756ab46e55e8be3f2cb5d26b5943f76dae  guix-build-c4861570e468/output/x86_64-apple-darwin/bitcoin-c4861570e468-x86_64-apple-darwin-unsigned.zip
    2266498fb72bf30fb1ae38a960ee4651fedbf65311bcc46bc9ba36d7be6daf7ee8  guix-build-c4861570e468/output/x86_64-linux-gnu/SHA256SUMS.part
    23794934d581cb424ccba8a5350f3dc35c39cfe472fb258e046a8afe862f680145  guix-build-c4861570e468/output/x86_64-linux-gnu/bitcoin-c4861570e468-x86_64-linux-gnu-debug.tar.gz
    24fdb01039514f9ef344605f7469d07fb6b1b98f17c94d62ef7f281c2b9e225147  guix-build-c4861570e468/output/x86_64-linux-gnu/bitcoin-c4861570e468-x86_64-linux-gnu.tar.gz
    25d83a458fb846e9171a68a396879643250364a697723c9b0b5973b255dc62fad6  guix-build-c4861570e468/output/x86_64-w64-mingw32/SHA256SUMS.part
    261eab86b64874690086d3a52c04dfbcf506c10d4c0790e8627e8718bb32819632  guix-build-c4861570e468/output/x86_64-w64-mingw32/bitcoin-c4861570e468-win64-codesigning.tar.gz
    27bd596d6305f0d3ebca5b4c98f4bc3298a394d8fcc28167f15052bc54321500f7  guix-build-c4861570e468/output/x86_64-w64-mingw32/bitcoin-c4861570e468-win64-debug.zip
    28fb92a9ba244dc498c598fbda2297beef8b2c42f33f69d4648851734762687ace  guix-build-c4861570e468/output/x86_64-w64-mingw32/bitcoin-c4861570e468-win64-setup-unsigned.exe
    295a51372dacf88c67a736f952612d18720f153349c20d15538420901f42bed7ba  guix-build-c4861570e468/output/x86_64-w64-mingw32/bitcoin-c4861570e468-win64-unsigned.zip
    
  328. hebasto commented at 3:42 pm on March 28, 2025: member

    @hodlinator

    A new style plugin causes minor visual glitches that will be fixed in follow-ups.

    Did not notice glitches, what are you referring to?

    I’ve added a screenshot to the PR description.

  329. TheCharlatan commented at 8:54 pm on March 28, 2025: contributor

    Guix builds:

     0aarch64
     16ea4a76be3383337e57d6a12450bd589776ebb3fd0d9161347766ef845241e13  guix-build-c4861570e468/output/aarch64-linux-gnu/SHA256SUMS.part
     23eb7656483dfe47fa6b7cf40bceb3decda73474c813edb224d42840adb8b49d6  guix-build-c4861570e468/output/aarch64-linux-gnu/bitcoin-c4861570e468-aarch64-linux-gnu-debug.tar.gz
     30aa522010efd138d78eeac0a8ea15df469298c50afaa2451dece78c564546cac  guix-build-c4861570e468/output/aarch64-linux-gnu/bitcoin-c4861570e468-aarch64-linux-gnu.tar.gz
     45e1e83351964664e870fedcb7317466dfbbc215104914fe2ff254434b8836c0a  guix-build-c4861570e468/output/arm-linux-gnueabihf/SHA256SUMS.part
     58f115cc9500c1c09cbf2aab6fc9bd8baf0638851dfe6099c432ffc728670a8ca  guix-build-c4861570e468/output/arm-linux-gnueabihf/bitcoin-c4861570e468-arm-linux-gnueabihf-debug.tar.gz
     653485cf2d2f6a7f8ebf8c44642b974f5cc1bda997370e51a914462fdeb5d0050  guix-build-c4861570e468/output/arm-linux-gnueabihf/bitcoin-c4861570e468-arm-linux-gnueabihf.tar.gz
     7868261da9abdd1f9c487a9df4ba1680d0d63842ccd1f2cf762fd33b13cf81ee0  guix-build-c4861570e468/output/arm64-apple-darwin/SHA256SUMS.part
     81790050dd60d3081542b29d66fbdbaa10221f436f355352d7fbffaff8f481f75  guix-build-c4861570e468/output/arm64-apple-darwin/bitcoin-c4861570e468-arm64-apple-darwin-codesigning.tar.gz
     9ee996481b15371a96bfdba9019b4181386379389d4d5f404091f2f22ece4547f  guix-build-c4861570e468/output/arm64-apple-darwin/bitcoin-c4861570e468-arm64-apple-darwin-unsigned.tar.gz
    103fdec586a8e45da10c550425048d7c754f6e332c7988995ed24f551e28a375d0  guix-build-c4861570e468/output/arm64-apple-darwin/bitcoin-c4861570e468-arm64-apple-darwin-unsigned.zip
    118c571993e537370687007446cc2defc81368d8685881044657682a1db023316f  guix-build-c4861570e468/output/dist-archive/bitcoin-c4861570e468.tar.gz
    1213e28bcf8c14e0e5a8fd26894fd98645a80ea9d8f7832c97c03a335e2ede7cfc  guix-build-c4861570e468/output/powerpc64-linux-gnu/SHA256SUMS.part
    13ea126f572de94b842d8f909865c1637d6cfb7f3549b120b43963b9b147050e5a  guix-build-c4861570e468/output/powerpc64-linux-gnu/bitcoin-c4861570e468-powerpc64-linux-gnu-debug.tar.gz
    1420bf91f8f77cf4c44f7de5b6f29472851f7f20b16ba78eebb33e6594fbe709ae  guix-build-c4861570e468/output/powerpc64-linux-gnu/bitcoin-c4861570e468-powerpc64-linux-gnu.tar.gz
    15bbb1e1ee068adaf749d02efa253e9d988beebbd4faa9266afb132bb611635cf4  guix-build-c4861570e468/output/riscv64-linux-gnu/SHA256SUMS.part
    16db260da086d586a86ab0f53534bb9a3701997b64a39e77e62fcb1f9baed013b6  guix-build-c4861570e468/output/riscv64-linux-gnu/bitcoin-c4861570e468-riscv64-linux-gnu-debug.tar.gz
    17dfe99bc5ad5f1dda230955a412077ae08d7a2493532b7434cd9ef53634eb6b9a  guix-build-c4861570e468/output/riscv64-linux-gnu/bitcoin-c4861570e468-riscv64-linux-gnu.tar.gz
    18f236e4d781e4442b251d36a7129859eaf8a1f0415df58ba90bbf32005698d70f  guix-build-c4861570e468/output/x86_64-apple-darwin/SHA256SUMS.part
    19b7fff5261c39bd607b4097c751688c64fbc08bac15ae3678741565f453b200f3  guix-build-c4861570e468/output/x86_64-apple-darwin/bitcoin-c4861570e468-x86_64-apple-darwin-codesigning.tar.gz
    200baca43cb84025ca98de99dbee69645f8e47adc9971dc052acfa44303392eead  guix-build-c4861570e468/output/x86_64-apple-darwin/bitcoin-c4861570e468-x86_64-apple-darwin-unsigned.tar.gz
    21273df5556fd2aee07d4afd3e79e135756ab46e55e8be3f2cb5d26b5943f76dae  guix-build-c4861570e468/output/x86_64-apple-darwin/bitcoin-c4861570e468-x86_64-apple-darwin-unsigned.zip
    2266498fb72bf30fb1ae38a960ee4651fedbf65311bcc46bc9ba36d7be6daf7ee8  guix-build-c4861570e468/output/x86_64-linux-gnu/SHA256SUMS.part
    23794934d581cb424ccba8a5350f3dc35c39cfe472fb258e046a8afe862f680145  guix-build-c4861570e468/output/x86_64-linux-gnu/bitcoin-c4861570e468-x86_64-linux-gnu-debug.tar.gz
    24fdb01039514f9ef344605f7469d07fb6b1b98f17c94d62ef7f281c2b9e225147  guix-build-c4861570e468/output/x86_64-linux-gnu/bitcoin-c4861570e468-x86_64-linux-gnu.tar.gz
    25d83a458fb846e9171a68a396879643250364a697723c9b0b5973b255dc62fad6  guix-build-c4861570e468/output/x86_64-w64-mingw32/SHA256SUMS.part
    261eab86b64874690086d3a52c04dfbcf506c10d4c0790e8627e8718bb32819632  guix-build-c4861570e468/output/x86_64-w64-mingw32/bitcoin-c4861570e468-win64-codesigning.tar.gz
    27bd596d6305f0d3ebca5b4c98f4bc3298a394d8fcc28167f15052bc54321500f7  guix-build-c4861570e468/output/x86_64-w64-mingw32/bitcoin-c4861570e468-win64-debug.zip
    28fb92a9ba244dc498c598fbda2297beef8b2c42f33f69d4648851734762687ace  guix-build-c4861570e468/output/x86_64-w64-mingw32/bitcoin-c4861570e468-win64-setup-unsigned.exe
    295a51372dacf88c67a736f952612d18720f153349c20d15538420901f42bed7ba  guix-build-c4861570e468/output/x86_64-w64-mingw32/bitcoin-c4861570e468-win64-unsigned.zip
    
  330. fanquake commented at 1:20 am on March 29, 2025: member

    Seeing this output (for all translations) while Guix building. Is it an issue:

     0[ 52%] Automatic MOC and UIC for target bitcoinqt
     1AutoUic: Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
     2Qt depends on a UTF-8 locale, but has failed to switch to one.
     3If this causes problems, reconfigure your locale. See the locale(1) manual
     4for more information.
     5<snip>
     6[ 52%] Generating locale/bitcoin_fi.qm
     7Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
     8Qt depends on a UTF-8 locale, but has failed to switch to one.
     9If this causes problems, reconfigure your locale. See the locale(1) manual
    10for more information.
    11Updating '/distsrc-base/distsrc-c4861570e468-arm-linux-gnueabihf/build/src/qt/locale/bitcoin_fi.qm'...
    12    Generated 1073 translation(s) (0 finished and 1073 unfinished)
    13    Ignored 3 untranslated source text(s)
    14[ 52%] Generating locale/bitcoin_mn.qm
    15Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
    16Qt depends on a UTF-8 locale, but has failed to switch to one.
    17If this causes problems, reconfigure your locale. See the locale(1) manual
    18for more information.
    
  331. fanquake commented at 2:00 am on March 29, 2025: member

    Guix Build (x86_64):

     06ea4a76be3383337e57d6a12450bd589776ebb3fd0d9161347766ef845241e13  guix-build-c4861570e468/output/aarch64-linux-gnu/SHA256SUMS.part
     13eb7656483dfe47fa6b7cf40bceb3decda73474c813edb224d42840adb8b49d6  guix-build-c4861570e468/output/aarch64-linux-gnu/bitcoin-c4861570e468-aarch64-linux-gnu-debug.tar.gz
     20aa522010efd138d78eeac0a8ea15df469298c50afaa2451dece78c564546cac  guix-build-c4861570e468/output/aarch64-linux-gnu/bitcoin-c4861570e468-aarch64-linux-gnu.tar.gz
     35e1e83351964664e870fedcb7317466dfbbc215104914fe2ff254434b8836c0a  guix-build-c4861570e468/output/arm-linux-gnueabihf/SHA256SUMS.part
     48f115cc9500c1c09cbf2aab6fc9bd8baf0638851dfe6099c432ffc728670a8ca  guix-build-c4861570e468/output/arm-linux-gnueabihf/bitcoin-c4861570e468-arm-linux-gnueabihf-debug.tar.gz
     553485cf2d2f6a7f8ebf8c44642b974f5cc1bda997370e51a914462fdeb5d0050  guix-build-c4861570e468/output/arm-linux-gnueabihf/bitcoin-c4861570e468-arm-linux-gnueabihf.tar.gz
     6868261da9abdd1f9c487a9df4ba1680d0d63842ccd1f2cf762fd33b13cf81ee0  guix-build-c4861570e468/output/arm64-apple-darwin/SHA256SUMS.part
     71790050dd60d3081542b29d66fbdbaa10221f436f355352d7fbffaff8f481f75  guix-build-c4861570e468/output/arm64-apple-darwin/bitcoin-c4861570e468-arm64-apple-darwin-codesigning.tar.gz
     8ee996481b15371a96bfdba9019b4181386379389d4d5f404091f2f22ece4547f  guix-build-c4861570e468/output/arm64-apple-darwin/bitcoin-c4861570e468-arm64-apple-darwin-unsigned.tar.gz
     93fdec586a8e45da10c550425048d7c754f6e332c7988995ed24f551e28a375d0  guix-build-c4861570e468/output/arm64-apple-darwin/bitcoin-c4861570e468-arm64-apple-darwin-unsigned.zip
    108c571993e537370687007446cc2defc81368d8685881044657682a1db023316f  guix-build-c4861570e468/output/dist-archive/bitcoin-c4861570e468.tar.gz
    1113e28bcf8c14e0e5a8fd26894fd98645a80ea9d8f7832c97c03a335e2ede7cfc  guix-build-c4861570e468/output/powerpc64-linux-gnu/SHA256SUMS.part
    12ea126f572de94b842d8f909865c1637d6cfb7f3549b120b43963b9b147050e5a  guix-build-c4861570e468/output/powerpc64-linux-gnu/bitcoin-c4861570e468-powerpc64-linux-gnu-debug.tar.gz
    1320bf91f8f77cf4c44f7de5b6f29472851f7f20b16ba78eebb33e6594fbe709ae  guix-build-c4861570e468/output/powerpc64-linux-gnu/bitcoin-c4861570e468-powerpc64-linux-gnu.tar.gz
    14bbb1e1ee068adaf749d02efa253e9d988beebbd4faa9266afb132bb611635cf4  guix-build-c4861570e468/output/riscv64-linux-gnu/SHA256SUMS.part
    15db260da086d586a86ab0f53534bb9a3701997b64a39e77e62fcb1f9baed013b6  guix-build-c4861570e468/output/riscv64-linux-gnu/bitcoin-c4861570e468-riscv64-linux-gnu-debug.tar.gz
    16dfe99bc5ad5f1dda230955a412077ae08d7a2493532b7434cd9ef53634eb6b9a  guix-build-c4861570e468/output/riscv64-linux-gnu/bitcoin-c4861570e468-riscv64-linux-gnu.tar.gz
    17f236e4d781e4442b251d36a7129859eaf8a1f0415df58ba90bbf32005698d70f  guix-build-c4861570e468/output/x86_64-apple-darwin/SHA256SUMS.part
    18b7fff5261c39bd607b4097c751688c64fbc08bac15ae3678741565f453b200f3  guix-build-c4861570e468/output/x86_64-apple-darwin/bitcoin-c4861570e468-x86_64-apple-darwin-codesigning.tar.gz
    190baca43cb84025ca98de99dbee69645f8e47adc9971dc052acfa44303392eead  guix-build-c4861570e468/output/x86_64-apple-darwin/bitcoin-c4861570e468-x86_64-apple-darwin-unsigned.tar.gz
    20273df5556fd2aee07d4afd3e79e135756ab46e55e8be3f2cb5d26b5943f76dae  guix-build-c4861570e468/output/x86_64-apple-darwin/bitcoin-c4861570e468-x86_64-apple-darwin-unsigned.zip
    2166498fb72bf30fb1ae38a960ee4651fedbf65311bcc46bc9ba36d7be6daf7ee8  guix-build-c4861570e468/output/x86_64-linux-gnu/SHA256SUMS.part
    22794934d581cb424ccba8a5350f3dc35c39cfe472fb258e046a8afe862f680145  guix-build-c4861570e468/output/x86_64-linux-gnu/bitcoin-c4861570e468-x86_64-linux-gnu-debug.tar.gz
    23fdb01039514f9ef344605f7469d07fb6b1b98f17c94d62ef7f281c2b9e225147  guix-build-c4861570e468/output/x86_64-linux-gnu/bitcoin-c4861570e468-x86_64-linux-gnu.tar.gz
    24d83a458fb846e9171a68a396879643250364a697723c9b0b5973b255dc62fad6  guix-build-c4861570e468/output/x86_64-w64-mingw32/SHA256SUMS.part
    251eab86b64874690086d3a52c04dfbcf506c10d4c0790e8627e8718bb32819632  guix-build-c4861570e468/output/x86_64-w64-mingw32/bitcoin-c4861570e468-win64-codesigning.tar.gz
    26bd596d6305f0d3ebca5b4c98f4bc3298a394d8fcc28167f15052bc54321500f7  guix-build-c4861570e468/output/x86_64-w64-mingw32/bitcoin-c4861570e468-win64-debug.zip
    27fb92a9ba244dc498c598fbda2297beef8b2c42f33f69d4648851734762687ace  guix-build-c4861570e468/output/x86_64-w64-mingw32/bitcoin-c4861570e468-win64-setup-unsigned.exe
    285a51372dacf88c67a736f952612d18720f153349c20d15538420901f42bed7ba  guix-build-c4861570e468/output/x86_64-w64-mingw32/bitcoin-c4861570e468-win64-unsigned.zip
    
  332. laanwj commented at 8:54 am on March 29, 2025: member

    Seeing this output (for all translations) while Guix building. Is it an issue:

    Likely a spurious warning, the translations appear to be compiled (and work, including non-ASCII characters) fine nevertheless. But to be 100% sure it doesn’t make a difference, we could try to install the UTF-8 locale inside guix and see if it makes any difference to the output.

    Edit: Found out that there has been recent work in guix to build and install the C.UTF-8 locale by default, as it’s a more relevant locale than ASCII-only nowadays:

    So at some point we could switch to LC_ALL=C.UTF-8 instead of LC_ALL=C during the build., and shut up the warning i don’t think it’s a blocker though.

  333. hodlinator commented at 8:53 pm on March 29, 2025: contributor

    Also seeing warnings regarding locale (https://github.com/bitcoin/bitcoin/pull/30997#issuecomment-2762968613, #30997 (comment)). (Which one would hope for reproducible builds).

    Guix (x86_64 NixOS):

     06ea4a76be3383337e57d6a12450bd589776ebb3fd0d9161347766ef845241e13  guix-build-c4861570e468/output/aarch64-linux-gnu/SHA256SUMS.part
     13eb7656483dfe47fa6b7cf40bceb3decda73474c813edb224d42840adb8b49d6  guix-build-c4861570e468/output/aarch64-linux-gnu/bitcoin-c4861570e468-aarch64-linux-gnu-debug.tar.gz
     20aa522010efd138d78eeac0a8ea15df469298c50afaa2451dece78c564546cac  guix-build-c4861570e468/output/aarch64-linux-gnu/bitcoin-c4861570e468-aarch64-linux-gnu.tar.gz
     35e1e83351964664e870fedcb7317466dfbbc215104914fe2ff254434b8836c0a  guix-build-c4861570e468/output/arm-linux-gnueabihf/SHA256SUMS.part
     48f115cc9500c1c09cbf2aab6fc9bd8baf0638851dfe6099c432ffc728670a8ca  guix-build-c4861570e468/output/arm-linux-gnueabihf/bitcoin-c4861570e468-arm-linux-gnueabihf-debug.tar.gz
     553485cf2d2f6a7f8ebf8c44642b974f5cc1bda997370e51a914462fdeb5d0050  guix-build-c4861570e468/output/arm-linux-gnueabihf/bitcoin-c4861570e468-arm-linux-gnueabihf.tar.gz
     6868261da9abdd1f9c487a9df4ba1680d0d63842ccd1f2cf762fd33b13cf81ee0  guix-build-c4861570e468/output/arm64-apple-darwin/SHA256SUMS.part
     71790050dd60d3081542b29d66fbdbaa10221f436f355352d7fbffaff8f481f75  guix-build-c4861570e468/output/arm64-apple-darwin/bitcoin-c4861570e468-arm64-apple-darwin-codesigning.tar.gz
     8ee996481b15371a96bfdba9019b4181386379389d4d5f404091f2f22ece4547f  guix-build-c4861570e468/output/arm64-apple-darwin/bitcoin-c4861570e468-arm64-apple-darwin-unsigned.tar.gz
     93fdec586a8e45da10c550425048d7c754f6e332c7988995ed24f551e28a375d0  guix-build-c4861570e468/output/arm64-apple-darwin/bitcoin-c4861570e468-arm64-apple-darwin-unsigned.zip
    108c571993e537370687007446cc2defc81368d8685881044657682a1db023316f  guix-build-c4861570e468/output/dist-archive/bitcoin-c4861570e468.tar.gz
    1113e28bcf8c14e0e5a8fd26894fd98645a80ea9d8f7832c97c03a335e2ede7cfc  guix-build-c4861570e468/output/powerpc64-linux-gnu/SHA256SUMS.part
    12ea126f572de94b842d8f909865c1637d6cfb7f3549b120b43963b9b147050e5a  guix-build-c4861570e468/output/powerpc64-linux-gnu/bitcoin-c4861570e468-powerpc64-linux-gnu-debug.tar.gz
    1320bf91f8f77cf4c44f7de5b6f29472851f7f20b16ba78eebb33e6594fbe709ae  guix-build-c4861570e468/output/powerpc64-linux-gnu/bitcoin-c4861570e468-powerpc64-linux-gnu.tar.gz
    14bbb1e1ee068adaf749d02efa253e9d988beebbd4faa9266afb132bb611635cf4  guix-build-c4861570e468/output/riscv64-linux-gnu/SHA256SUMS.part
    15db260da086d586a86ab0f53534bb9a3701997b64a39e77e62fcb1f9baed013b6  guix-build-c4861570e468/output/riscv64-linux-gnu/bitcoin-c4861570e468-riscv64-linux-gnu-debug.tar.gz
    16dfe99bc5ad5f1dda230955a412077ae08d7a2493532b7434cd9ef53634eb6b9a  guix-build-c4861570e468/output/riscv64-linux-gnu/bitcoin-c4861570e468-riscv64-linux-gnu.tar.gz
    17f236e4d781e4442b251d36a7129859eaf8a1f0415df58ba90bbf32005698d70f  guix-build-c4861570e468/output/x86_64-apple-darwin/SHA256SUMS.part
    18b7fff5261c39bd607b4097c751688c64fbc08bac15ae3678741565f453b200f3  guix-build-c4861570e468/output/x86_64-apple-darwin/bitcoin-c4861570e468-x86_64-apple-darwin-codesigning.tar.gz
    190baca43cb84025ca98de99dbee69645f8e47adc9971dc052acfa44303392eead  guix-build-c4861570e468/output/x86_64-apple-darwin/bitcoin-c4861570e468-x86_64-apple-darwin-unsigned.tar.gz
    20273df5556fd2aee07d4afd3e79e135756ab46e55e8be3f2cb5d26b5943f76dae  guix-build-c4861570e468/output/x86_64-apple-darwin/bitcoin-c4861570e468-x86_64-apple-darwin-unsigned.zip
    2166498fb72bf30fb1ae38a960ee4651fedbf65311bcc46bc9ba36d7be6daf7ee8  guix-build-c4861570e468/output/x86_64-linux-gnu/SHA256SUMS.part
    22794934d581cb424ccba8a5350f3dc35c39cfe472fb258e046a8afe862f680145  guix-build-c4861570e468/output/x86_64-linux-gnu/bitcoin-c4861570e468-x86_64-linux-gnu-debug.tar.gz
    23fdb01039514f9ef344605f7469d07fb6b1b98f17c94d62ef7f281c2b9e225147  guix-build-c4861570e468/output/x86_64-linux-gnu/bitcoin-c4861570e468-x86_64-linux-gnu.tar.gz
    24d83a458fb846e9171a68a396879643250364a697723c9b0b5973b255dc62fad6  guix-build-c4861570e468/output/x86_64-w64-mingw32/SHA256SUMS.part
    251eab86b64874690086d3a52c04dfbcf506c10d4c0790e8627e8718bb32819632  guix-build-c4861570e468/output/x86_64-w64-mingw32/bitcoin-c4861570e468-win64-codesigning.tar.gz
    26bd596d6305f0d3ebca5b4c98f4bc3298a394d8fcc28167f15052bc54321500f7  guix-build-c4861570e468/output/x86_64-w64-mingw32/bitcoin-c4861570e468-win64-debug.zip
    27fb92a9ba244dc498c598fbda2297beef8b2c42f33f69d4648851734762687ace  guix-build-c4861570e468/output/x86_64-w64-mingw32/bitcoin-c4861570e468-win64-setup-unsigned.exe
    285a51372dacf88c67a736f952612d18720f153349c20d15538420901f42bed7ba  guix-build-c4861570e468/output/x86_64-w64-mingw32/bitcoin-c4861570e468-win64-unsigned.zip
    
  334. laanwj commented at 8:59 pm on March 29, 2025: member

    i built with the following patch to set a UTF-8 locale check if there would be a difference:

     0diff --git a/contrib/guix/libexec/build.sh b/contrib/guix/libexec/build.sh
     1index 26180bae24..47366c7e11 100755
     2--- a/contrib/guix/libexec/build.sh
     3+++ b/contrib/guix/libexec/build.sh
     4@@ -2,7 +2,8 @@
     5 # Copyright (c) 2019-2022 The Bitcoin Core developers
     6 # Distributed under the MIT software license, see the accompanying
     7 # file COPYING or http://www.opensource.org/licenses/mit-license.php.
     8-export LC_ALL=C
     9+export GUIX_LOCPATH="${GUIX_ENVIRONMENT}/lib/locale"
    10+export LC_ALL=C.UTF-8
    11 set -e -o pipefail
    12 export TZ=UTC
    13 
    14diff --git a/contrib/guix/manifest.scm b/contrib/guix/manifest.scm
    15index c1e72bd1e6..1f0f7f305a 100644
    16--- a/contrib/guix/manifest.scm
    17+++ b/contrib/guix/manifest.scm
    18@@ -527,6 +527,7 @@ inspecting signatures in Mach-O binaries.")
    19 (packages->manifest
    20  (append
    21   (list ;; The Basics
    22+        glibc-locales
    23         bash-minimal
    24         which
    25         coreutils-minimal
    

    This removes the warnings:

     0...
     1[ 48%] Generating locale/bitcoin_zu.qm                                                                                 
     2Updating '/distsrc-base/distsrc-c4861570e468-x86_64-linux-gnu/build/src/qt/locale/bitcoin_zu.qm'...                    
     3    Generated 35 translation(s) (0 finished and 35 unfinished)                                                         
     4[ 48%] Generating locale/bitcoin_fi.qm
     5Updating '/distsrc-base/distsrc-c4861570e468-x86_64-linux-gnu/build/src/qt/locale/bitcoin_fi.qm'...
     6    Generated 1073 translation(s) (0 finished and 1073 unfinished)
     7    Ignored 3 untranslated source text(s)
     8[ 48%] Generating locale/bitcoin_mn.qm
     9Updating '/distsrc-base/distsrc-c4861570e468-x86_64-linux-gnu/build/src/qt/locale/bitcoin_mn.qm'...
    10    Generated 226 translation(s) (0 finished and 226 unfinished)
    11    Ignored 14 untranslated source text(s)
    12...
    

    Output was the same:

    0794934d581cb424ccba8a5350f3dc35c39cfe472fb258e046a8afe862f680145  ascii/bitcoin-c4861570e468-x86_64-linux-gnu-debug.tar.gz
    1fdb01039514f9ef344605f7469d07fb6b1b98f17c94d62ef7f281c2b9e225147  ascii/bitcoin-c4861570e468-x86_64-linux-gnu.tar.gz
    266498fb72bf30fb1ae38a960ee4651fedbf65311bcc46bc9ba36d7be6daf7ee8  ascii/SHA256SUMS.part
    3794934d581cb424ccba8a5350f3dc35c39cfe472fb258e046a8afe862f680145  utf8/bitcoin-c4861570e468-x86_64-linux-gnu-debug.tar.gz
    4fdb01039514f9ef344605f7469d07fb6b1b98f17c94d62ef7f281c2b9e225147  utf8/bitcoin-c4861570e468-x86_64-linux-gnu.tar.gz
    566498fb72bf30fb1ae38a960ee4651fedbf65311bcc46bc9ba36d7be6daf7ee8  utf8/SHA256SUMS.part
    

    So there’s no immediate reason to do anything here, the warnings can be considered spurious.

  335. hodlinator approved
  336. hodlinator commented at 8:15 am on March 31, 2025: contributor

    re-ACK c4861570e468d0f52fc7580b75098a82b4ead5f3

    Excellent feedback by @fanquake in pointing out patches we could drop and unused tools we built. Thanks @hebasto for not loosing steam!

    Changes since previous review, 7b51bf1d4c1933677867f7364a2378e41bc23929:

    • Reduced complexity of cmake/module/FindQt.cmake compared to Qt5. This was probably what was leading to picking up libraries outside of depends - #30997 (review)
    • Dropped Qt5 patches:
    • Avoid adding new Qt6 patch, macos_skip_version_checks.patch (probably covered by recent increase in minimum MacOS version) - #30997 (review)
    • Adds qtbase_platformsupport.patch & qtbase_plugins_cocoa.patch, both working around CMake < 3.25 issue 23464 involving precompiled headers.
    • Adds qtbase_skip_tools.patch, nice to cut down build time when building multiple platforms! - #30997 (review)
    • Uses walrus operator (:=) instead of =, presumably to decrease deferred evaluation.
    • Reordered depends/packages/qt.mk alphabetically and fixed NO_QT=1 build failure - #30997 (comment)
    • Apply -no-opengl globally - #30997 (comment)

    Would be nice to fix locale warnings (https://github.com/bitcoin/bitcoin/pull/30997#issuecomment-2764240416), either here or in follow-up.

  337. DrahtBot requested review from laanwj on Mar 31, 2025

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: 2025-03-31 09:12 UTC

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