depends: Update Qt to version 6.10.2 #34578

pull hebasto wants to merge 5 commits into bitcoin:master from hebasto:260212-qt6.10 changing 22 files +705 −329
  1. hebasto commented at 10:40 pm on February 12, 2026: member

    This PR updates the qt package in depends to the most recent version 6.10.2.

    The update includes many bugfixes that enable dropping some patches.

    Additionally, patches for compatibility with GCC 16 have been included.

    A commit from #32709 is also included.

  2. hebasto added the label Build system on Feb 12, 2026
  3. DrahtBot added the label CI failed on Feb 13, 2026
  4. DrahtBot commented at 4:18 am on February 13, 2026: contributor

    🚧 At least one of the CI tasks failed. Task macOS-cross to arm64: https://github.com/bitcoin/bitcoin/actions/runs/21967077478/job/63459576763 LLM reason (✨ experimental): Build failed during the bitcoin-qt target compilation (gmake exited with error 1).

    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.

  5. hebasto force-pushed on Feb 13, 2026
  6. DrahtBot commented at 9:24 am on February 13, 2026: contributor

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

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #33593 (guix: Use UCRT runtime for Windows release binaries by hebasto)

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

  7. hebasto marked this as ready for review on Feb 13, 2026
  8. hebasto commented at 10:40 am on February 13, 2026: member
    Added a commit to update the Windows build notes following @maflcko’s suggestion.
  9. theuni commented at 5:23 pm on February 13, 2026: member
    There are lots of changes here with no explanation. @hebasto Could you please add a bunch of comments?
  10. in contrib/guix/symbol-check.py:159 in 22838d439e outdated
    155@@ -156,6 +156,7 @@
    156 'GDI32.dll', # graphics device interface
    157 'IMM32.dll', # input method editor
    158 'NETAPI32.dll', # network management
    159+'ntdll.dll', # native system services
    


    theuni commented at 5:24 pm on February 13, 2026:
    Why?

    hebasto commented at 7:40 pm on February 13, 2026:
    I didn’t track the exact changes in Windows plugins that link to symbols in ntdll.dll.
  11. in depends/packages/qt.mk:164 in 22838d439e outdated
    158@@ -161,7 +159,6 @@ $(package)_config_env_darwin += OBJCXX="$$($(package)_cxx)"
    159 
    160 $(package)_cmake_opts := -DCMAKE_PREFIX_PATH=$(host_prefix)
    161 $(package)_cmake_opts += -DQT_FEATURE_cxx20=ON
    162-$(package)_cmake_opts += -DQT_ENABLE_CXX_EXTENSIONS=OFF
    


    theuni commented at 5:25 pm on February 13, 2026:
    Why?

    hebasto commented at 7:38 pm on February 13, 2026:

    Otherwise, the configuration step logs the following:

    0-- Configuring done (20.0s)
    1-- Generating done (1.0s)
    2CMake Warning:
    3  Manually-specified variables were not used by the project:
    4
    5    QT_ENABLE_CXX_EXTENSIONS
    

    Related upstream items:

  12. in depends/packages/qt.mk:199 in 22838d439e outdated
    194@@ -198,6 +195,9 @@ $(package)_cmake_opts += -DCMAKE_DISABLE_FIND_PACKAGE_WrapSystemDoubleConversion
    195 $(package)_cmake_opts += -DCMAKE_DISABLE_FIND_PACKAGE_WrapSystemMd4c=TRUE
    196 $(package)_cmake_opts += -DCMAKE_DISABLE_FIND_PACKAGE_WrapZSTD=TRUE
    197 endif
    198+ifeq ($(host_os),linux)
    199+$(package)_cmake_opts += -DINPUT_dbus=runtime
    


    theuni commented at 5:31 pm on February 13, 2026:
    Why? According to cmake/configure-cmake-mapping.md, -dbus-runtime should be mapped to this. Does it not work?

    hebasto commented at 7:47 pm on February 13, 2026:

    Why? According to cmake/configure-cmake-mapping.md, -dbus-runtime should be mapped to this.

    It is not, for some reason. An explanatory comment has been added.


    fanquake commented at 10:16 am on February 16, 2026:
    Have we opened an upstream issue?
  13. in depends/patches/qt/qtbase_xkbcommon_compat.patch:13 in 22838d439e outdated
     8++++ b/qtbase/src/gui/configure.cmake
     9+@@ -182,7 +182,7 @@ if((X11_SUPPORTED) OR QT_FIND_ALL_PACKAGES_ALWAYS)
    10+ endif()
    11+ qt_add_qmake_lib_dependency(xcb_xinput xcb)
    12+ if((X11_SUPPORTED) OR QT_FIND_ALL_PACKAGES_ALWAYS)
    13+-    qt_find_package(XKB 0.9.0 MODULE PROVIDED_TARGETS XKB::XKB MODULE_NAME gui QMAKE_LIB xkbcommon)
    


    theuni commented at 5:46 pm on February 13, 2026:
    What makes it safe to just require the old version? Sure they’re not relying on an updated abi?

    theuni commented at 5:55 pm on February 13, 2026:

    hebasto commented at 7:57 pm on February 13, 2026:

    What makes it safe to just require the old version? Sure they’re not relying on an updated abi?

    1. The commit you mentioned does not state that this is a prerequisite for other changes.
    2. libxkbcommon 0.9.0 Release Notes list a few changes, including the output of xkb_keymap_get_as_string(). Grepping the Qt source code did not find any calls of this function.

    fanquake commented at 10:18 am on February 16, 2026:
    This patch should explain why this is fine to do, rather than explaining why the libxkbcommon package hasn’t been updated.
  14. in depends/patches/qt/static_fixes.patch:8 in 22838d439e
    6@@ -7,70 +7,9 @@ Date:   Sat Oct 4 01:00:25 2025 +0100
    7     See: https://bugreports.qt.io/browse/QTBUG-86287
    8     See: https://bugreports.qt.io/browse/QTBUG-137004
    


    theuni commented at 6:13 pm on February 13, 2026:
    I assume one/both of these reports is no longer relevant? Is upstream aware of the remaining issue?

    hebasto commented at 7:57 pm on February 13, 2026:

    I assume one/both of these reports is no longer relevant?

    Right. Removed.

    Is upstream aware of the remaining issue?

    Not yet.

  15. hebasto force-pushed on Feb 13, 2026
  16. hebasto commented at 8:03 pm on February 13, 2026: member

    There are lots of changes here with no explanation. @hebasto Could you please add a bunch of comments?

    All changes in qt.mk aim to produce the same (semantically) configure script output as in the master branch.

  17. hebasto commented at 8:05 pm on February 13, 2026: member
    It seems test_bitcoin-qt.exe is failing in the CI.
  18. fanquake commented at 10:19 am on February 16, 2026: member
    Is there are subset of these changes that can be backported to at least 30.x?
  19. in depends/patches/qt/cocoa_compat.patch:1 in 6affd1264a outdated
    0@@ -0,0 +1,16 @@
    1+Disable macOS 15 features in QCocoaCursor
    


    fanquake commented at 10:21 am on February 16, 2026:
    Why? How does this effect the binary?

    hebasto commented at 12:08 pm on February 16, 2026:

    Why?

    Otherwise, @available(macOS 15, *) causes a linker error:

    0<snip>
    1[ 73%] Linking CXX executable ../../bin/bitcoin-qt
    2ld64.lld: error: undefined symbol: __isPlatformVersionAtLeast
    3>>> referenced by /home/hebasto/dev/bitcoin/depends/arm64-apple-darwin/plugins/platforms/libqcocoa.a(qcocoacursor.mm.o):(symbol QCocoaCursor::convertCursor(QCursor*)+0x78)
    4clang++: error: linker command failed with exit code 1 (use -v to see invocation)
    5gmake[2]: *** [src/qt/CMakeFiles/bitcoin-qt.dir/build.make:179: bin/bitcoin-qt] Error 1
    6gmake[1]: *** [CMakeFiles/Makefile2:2470: src/qt/CMakeFiles/bitcoin-qt.dir/all] Error 2
    7gmake: *** [Makefile:146: all] Error 2
    

    How does this effect the binary?

    The disabled code was introduced in https://github.com/qt/qtbase/commit/4aeb27fbacfade7106b19c460deb5414143a5e53. The referenced QTBUG-126240, in turn, refers to the NSCursor API for window resize cursors.

    While testing on macOS Tahoe 26.2, I didn’t notice any differences in behavior compared to v30.2.

  20. hebasto commented at 11:49 am on February 16, 2026: member

    Is there are subset of these changes that can be backported to at least 30.x?

    Maybe two @theuni’s commits?

  21. fanquake commented at 12:52 pm on February 16, 2026: member

    Looks like this introduces a dependency on an Xcode installation:

     0CMake Error at qtbase/cmake/QtPublicAppleHelpers.cmake:943 (message):
     1  Can't determine Xcode version.  Is Xcode installed? Error details:
     2
     3  xcrun: error: unable to find utility "xcodebuild", not a developer tool or
     4  in PATH
     5
     6Call Stack (most recent call first):
     7  qtbase/cmake/QtAutoDetectHelpers.cmake:332 (_qt_internal_get_xcode_version_raw)
     8  qtbase/cmake/QtAutoDetectHelpers.cmake:671 (qt_auto_detect_apple)
     9  qtbase/cmake/QtAutoDetect.cmake:5 (qt_internal_setup_autodetect)
    10  qtbase/cmake/QtBaseTopLevelHelpers.cmake:31 (include)
    11  CMakeLists.txt:13 (qt_internal_top_level_setup_autodetect)
    
  22. hebasto commented at 12:59 pm on February 16, 2026: member

    Looks like this introduces a dependency on an Xcode installation:

    Are you building on macOS?

  23. fanquake commented at 1:00 pm on February 16, 2026: member
    Yes that was on a macOS machine.
  24. cmake: Fix `FindQt` module
    The `find_package(Qt .. MODULE REQUIRED COMPONENTS ...)` call must treat
    any missing component as a fatal error.
    86b516320d
  25. hebasto force-pushed on Feb 16, 2026
  26. depends: Update Qt to 6.10.2 8a3d3dc57e
  27. qt: add patch to fix build with gcc16
    Backported from:
    https://github.com/qt/qtbase/commit/7fccc79dd5744ea837ffe200bbfc9f2756870220
    116cfd31a6
  28. qt: add patches to fix SFINAE errors/warnings with gcc16
    Meta-Issue: https://qt-project.atlassian.net/browse/QTBUG-143470
    Backports:
    
    https://github.com/qt/qtbase/commit/679e8bda1eb0cc98acb981e9a10204bed1c179f2
    https://github.com/qt/qtbase/commit/3312e89b47f8c2ea0b4263b39841c25b83a37332
    https://github.com/qt/qtbase/commit/05f201a3d559452287b20becb960de3a50249540
    
    An additional includes fix is needed after the others:
    https://github.com/qt/qtbase/commit/d68fc6ecc88a0e4532754b1a9f209881a248f4ee
    1a469bed8f
  29. doc: Update Windows build notes
    Cross-compiling Qt 6.10 for Windows requires GCC 13.1 or newer, which
    exceeds the currently documented minimum.
    See https://doc.qt.io/qt-6/windows.html.
    f857d9268c
  30. hebasto force-pushed on Feb 16, 2026
  31. hebasto commented at 3:58 pm on February 16, 2026: member

    Looks like this introduces a dependency on an Xcode installation:

    Are you building on macOS?

    Should be fixed now.

  32. hebasto commented at 8:25 pm on February 16, 2026: member

    It seems test_bitcoin-qt.exe is failing in the CI.

    Apparently, the issue occurs when building on Debian with GCC 14.0.

    The same happens when building on Ubuntu with GCC 13.0.

    Everything is fine when building on Fedora with GCC 15.2.


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: 2026-02-17 06:13 UTC

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