build: Switch to Qt 6 #30997

pull hebasto wants to merge 12 commits into bitcoin:master from hebasto:240928-qt6 changing 55 files +818 −657
  1. hebasto commented at 9:11 pm on September 28, 2024: member

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

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

    1. Linux

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

    2. Windows

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

    3. macOS

    To run release binaries on macOS, Monterey 12 or later is required. bitcoin-qt now uses the Metal backend.


    IMPORTANT. Don’t forget to install Ninja.


    For historical context, please refer to:

  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

    For detailed information about the code coverage, see the test coverage report.

    Reviews

    See the guideline for information on the review process.

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

    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:

    • #31045 (ci: Add missing -DWERROR=ON to test-each-commit by maflcko)
    • #30935 (ci: Approximate MAKEJOBS in image build phase by maflcko)
    • #30634 (ci: Use clang-19 from apt.llvm.org by maflcko)

    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.

  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?
  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?
  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:180 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.

  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: member
    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. cmake: Require Qt 6 to build GUI 918f221e1a
  84. depends: Bump macOS minimum runtime requirement to 12.0
    This change is required for the following commits.
    2d45177d22
  85. depends: Bump `qt` package up to 6.7.3 34e54cbdcd
  86. depends: Factor out Qt modules' details 58811104d4
  87. 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.
    412bd9afd6
  88. build: Remove problematic code cdada51d45
  89. qt: Fix compiling for Windows
    Static builds for Windows now require Qt 6.7 or newer. This holds
    automatically to cross-compiled builds.
    282f19139f
  90. guix: Adjust for Qt 6 e70577cfbc
  91. test: Update sanitizer suppressions for Qt 6 7a8b79ed1a
  92. ci: Update for Qt 6 abf2dc00f6
  93. build, msvc: Update `vcpkg.json` for Qt 6 53a795bd9a
  94. doc: Update `dependencies.md` for Qt 6 dae1d48c54
  95. hebasto force-pushed on Oct 7, 2024
  96. hebasto commented at 9:34 am on October 7, 2024: member
    Rebased.
  97. in doc/release-notes-empty-template.md:46 in dae1d48c54
    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.

  98. 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?

  99. 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.
  100. 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)
  101. 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.

  102. 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.

  103. 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
  104. DrahtBot requested review from jonatack on Oct 7, 2024
  105. DrahtBot requested review from laanwj on Oct 7, 2024
  106. DrahtBot requested review from promag on Oct 7, 2024
  107. 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. 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.

  108. maflcko added the label DrahtBot Guix build requested on Oct 8, 2024
  109. fanquake referenced this in commit caf44e500e on Oct 8, 2024
  110. 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.
  111. in depends/patches/qt/qtbase_avoid_qmain.patch:5 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?
  112. in depends/patches/native_qt/dont_hardcode_pwd.patch:1 in dae1d48c54
    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.
  113. in depends/patches/native_qt/qttools_skip_dependencies.patch:1 in dae1d48c54
    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.
  114. 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.

  115. in depends/packages/qt.mk:39 in dae1d48c54
    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 .

  116. DrahtBot commented at 3:24 pm on October 8, 2024: contributor

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

  117. DrahtBot added the label Needs rebase on Oct 8, 2024

github-metadata-mirror

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

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