depends: static libxcb-cursor #33434

pull fanquake wants to merge 1 commits into bitcoin:master from fanquake:static_libxcb_util_cursor changing 3 files +1 −8
  1. fanquake commented at 12:50 PM on September 19, 2025: member

    Remove the runtime requirement of libxcb-cursor. This library is no-longer present on modern Ubuntu. Fixes #33432. Also related to #32097.

  2. DrahtBot added the label Build system on Sep 19, 2025
  3. DrahtBot commented at 12:50 PM on September 19, 2025: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

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

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK davidgumberg, willcl-ark
    Concept ACK TheCharlatan, hebasto

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

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  4. fanquake commented at 12:50 PM on September 19, 2025: member

    @benthecarman any chance you can test a Guix built binary?

  5. benthecarman commented at 2:44 PM on September 19, 2025: contributor

    @benthecarman any chance you can test a Guix built binary?

    I needed to install libxcb-cursor0 to get the guix built binary to work, that's when it fixed the window issue but removed dark mode

  6. fanquake commented at 2:50 PM on September 19, 2025: member

    Just to be clear, I meant could you test a Guix build of this branch, as the bitcoin-qt produced no-longer has a libxcb-cursor0 dependency.

  7. benthecarman commented at 3:56 PM on September 19, 2025: contributor

    Sorry, that was for v30rc1

    built guix binary for this PR. This fixes so I don't need libxcb-cursor0 installed to run the binary and is the same where no dark mode but also no windowing bug

  8. in depends/packages/libxcb_util_cursor.mk:9 in 2cf742c521 outdated
       5 | @@ -6,7 +6,7 @@ $(package)_sha256_hash=0e9c5446dc6f3beb8af6ebfcc9e27bcc6da6fe2860f7fc07b99144dfa
       6 |  $(package)_dependencies=libxcb libxcb_util_render libxcb_util_image
       7 |  
       8 |  define $(package)_set_vars
       9 | -$(package)_config_opts = --disable-static
      10 | +$(package)_config_opts = --disable-shared
    


    hebasto commented at 4:07 PM on September 19, 2025:

    Haven't tested this, or looked for potential side effects (i.e #33432 claims that installing the dep breaks dark mode). Also related to #32097.

    I’m still not sure I understand this fix. Perhaps @benthecarman could provide more details about the reported bug?


    benthecarman commented at 4:15 PM on September 19, 2025:
  9. fanquake marked this as ready for review on Sep 19, 2025
  10. TheCharlatan commented at 8:39 PM on September 21, 2025: contributor

    Concept ACK

    I'm not familiar enough with X to say why it's seemingly not possible to link all the xcb_utils statically, but this change seems sane to me.

  11. depends: static libxcb_cursor
    Modern Ubuntu isn't shipping with this library installed by default.
    Staticly link it to remove the need for end-users to install it.
    
    Closes #33432.
    eca50854e1
  12. fanquake force-pushed on Sep 23, 2025
  13. fanquake commented at 2:45 PM on September 23, 2025: member

    I'm not familiar enough with X to say why it's seemingly not possible to link all the xcb_utils statically, but this change seems sane to me.

    Yea, maybe this is the direction we should go. Ideally we can land this change for 30, to remove the awkwardness here. I've updated the commit message and PR description.

  14. fanquake commented at 6:27 PM on September 23, 2025: member

    Guix Build (x86_64):

    cf7f86d91288477c11afdc767969d6b19b0ba1e62c73924e72b22a2527374653  guix-build-eca50854e1cb/output/aarch64-linux-gnu/SHA256SUMS.part
    5afe50eb76079f96a5129b5e51e2ede657f10c5031abe24a875410f006c55511  guix-build-eca50854e1cb/output/aarch64-linux-gnu/bitcoin-eca50854e1cb-aarch64-linux-gnu-debug.tar.gz
    ba6f7937c5d333e64560abcd95dbb3856ceaa43fbcde766ebcaed1f8e23f2a7e  guix-build-eca50854e1cb/output/aarch64-linux-gnu/bitcoin-eca50854e1cb-aarch64-linux-gnu.tar.gz
    bbdf057a0b42636765dc4c2e005c955e2b4fa826ea06f649bb6b48dd6dc45d7a  guix-build-eca50854e1cb/output/arm-linux-gnueabihf/SHA256SUMS.part
    7e9d8983db8ee44f5812f9192adca09160acc8a1f0dc07be9b67169896fc15fe  guix-build-eca50854e1cb/output/arm-linux-gnueabihf/bitcoin-eca50854e1cb-arm-linux-gnueabihf-debug.tar.gz
    135775299474f11f969dbb4f219cfb485ebba5b190f1d558e62eb3311ed7c686  guix-build-eca50854e1cb/output/arm-linux-gnueabihf/bitcoin-eca50854e1cb-arm-linux-gnueabihf.tar.gz
    e913a502d5d4621b58d943a2963b485911e0309c08cae9fa507fa68600f517da  guix-build-eca50854e1cb/output/arm64-apple-darwin/SHA256SUMS.part
    cdb3f0de0d2e3d9547f0ed2da640e3b845f3e217ffe882b2c9aa99929359045e  guix-build-eca50854e1cb/output/arm64-apple-darwin/bitcoin-eca50854e1cb-arm64-apple-darwin-codesigning.tar.gz
    d2b57d19b3c69e22550e448f2d0be6838fd85f334d582618ef00742e5a39eefa  guix-build-eca50854e1cb/output/arm64-apple-darwin/bitcoin-eca50854e1cb-arm64-apple-darwin-unsigned.tar.gz
    c38a022a112709b43a71090a5408116ae654029ff94e95dced4f267916e75caf  guix-build-eca50854e1cb/output/arm64-apple-darwin/bitcoin-eca50854e1cb-arm64-apple-darwin-unsigned.zip
    c12073eeb266e309c7669e084d13cec0e5e2224821c3f27d20f600f870ecf19d  guix-build-eca50854e1cb/output/dist-archive/bitcoin-eca50854e1cb.tar.gz
    74e2670cae2f374a83ecf9b554bf9e5513ed957807cbc0073003a22635e5e451  guix-build-eca50854e1cb/output/powerpc64-linux-gnu/SHA256SUMS.part
    5bbb70440153087cbb737d7f0194ddff93f9c4d1cf3d928a9eee64f065d27184  guix-build-eca50854e1cb/output/powerpc64-linux-gnu/bitcoin-eca50854e1cb-powerpc64-linux-gnu-debug.tar.gz
    3ffe08f501112496a1a72ab9a4a328b294e845fc7ef6b01215234c862289a863  guix-build-eca50854e1cb/output/powerpc64-linux-gnu/bitcoin-eca50854e1cb-powerpc64-linux-gnu.tar.gz
    c288d11acf623eace1d033b9706af7e58f445571bb855d0f418557660a244d01  guix-build-eca50854e1cb/output/riscv64-linux-gnu/SHA256SUMS.part
    2e7613024ca7d09165f14b93a455f811f819bc0ce533173149a6b15737fbfcc6  guix-build-eca50854e1cb/output/riscv64-linux-gnu/bitcoin-eca50854e1cb-riscv64-linux-gnu-debug.tar.gz
    5e2e71715ca94ef496c6c74db837f76185446cae02992b45de2cd23eb85b4aea  guix-build-eca50854e1cb/output/riscv64-linux-gnu/bitcoin-eca50854e1cb-riscv64-linux-gnu.tar.gz
    6e83a3dd664bd74a6887785d5b8e52caa3680cb2fe732c4dfbe921f7abb92f72  guix-build-eca50854e1cb/output/x86_64-apple-darwin/SHA256SUMS.part
    8f08fbc2ac62c30a0d5416c80ec8be16f051e2cfa1141c8dfc217dc2bc712fc0  guix-build-eca50854e1cb/output/x86_64-apple-darwin/bitcoin-eca50854e1cb-x86_64-apple-darwin-codesigning.tar.gz
    f28be3037a2230088b5141645f90b20976c5f3c323c2ace495472f45938ad58a  guix-build-eca50854e1cb/output/x86_64-apple-darwin/bitcoin-eca50854e1cb-x86_64-apple-darwin-unsigned.tar.gz
    a5e84800ab5a7d499e96def0c94325a06170bbcd51aa855e2dd75e0137f3e2a7  guix-build-eca50854e1cb/output/x86_64-apple-darwin/bitcoin-eca50854e1cb-x86_64-apple-darwin-unsigned.zip
    6ea9d32fd447fafef15c83e419c2c4cb2e2bcc168b07f8e71c4f8cc93c15982c  guix-build-eca50854e1cb/output/x86_64-linux-gnu/SHA256SUMS.part
    6d765b1f8191c9bfe030b6c9df01e955bfa5e16683dba61dcfe33b4cd585803a  guix-build-eca50854e1cb/output/x86_64-linux-gnu/bitcoin-eca50854e1cb-x86_64-linux-gnu-debug.tar.gz
    573aa76d009263d4484baa7404b86fb260636a9e778745846099625b91a69378  guix-build-eca50854e1cb/output/x86_64-linux-gnu/bitcoin-eca50854e1cb-x86_64-linux-gnu.tar.gz
    25b5854b22434e4fef2c7998c028f6f491dc1e98db4cb00349cf14bbd5186068  guix-build-eca50854e1cb/output/x86_64-w64-mingw32/SHA256SUMS.part
    16ce26db341a5ab2c0d999af3e79087456df3e3c998d07d172d5110b37f04e42  guix-build-eca50854e1cb/output/x86_64-w64-mingw32/bitcoin-eca50854e1cb-win64-codesigning.tar.gz
    c66c1b5b4dde0792f8caa3dc320118de39cecc319804a7ed456484a5835a902a  guix-build-eca50854e1cb/output/x86_64-w64-mingw32/bitcoin-eca50854e1cb-win64-debug.zip
    c16a701fa8455fd7f9d6699c1115f96bb25cd094e8806fa12892480ead7184b2  guix-build-eca50854e1cb/output/x86_64-w64-mingw32/bitcoin-eca50854e1cb-win64-setup-unsigned.exe
    db990808e826141a62fc9befa988dd462556b4174e4beeebf05c8c31859900a8  guix-build-eca50854e1cb/output/x86_64-w64-mingw32/bitcoin-eca50854e1cb-win64-unsigned.zip
    
  15. davidgumberg commented at 12:06 AM on September 24, 2025: contributor

    Edit: This build failure was spurious and related to an issue on my machine, see my comments below.

    Trying to do a guix build on this branch I get the following error:

    $ HOSTS=x86_64-linux-gnu ./contrib/guix/guix-build
    CMake Error at qtbase/cmake/QtBuildInformation.cmake:522 (message):
      Feature "xcb": Forcing to "ON" breaks its condition:
    
          QT_FEATURE_thread AND TARGET XCB::XCB AND TEST_xcb_syslibs AND QT_FEATURE_xkbcommon_x11
    
      Condition values dump:
    
          QT_FEATURE_thread = "ON"
          TARGET XCB::XCB found
          TEST_xcb_syslibs = "FALSE"
          QT_FEATURE_xkbcommon_x11 not evaluated
    
    Call Stack (most recent call first):
      qtbase/cmake/QtFeature.cmake:322 (qt_configure_add_report_error)
      qtbase/cmake/QtFeature.cmake:442 (qt_feature_check_and_save_internal_value)
      qtbase/cmake/QtFeature.cmake:711 (qt_evaluate_feature)
      qtbase/cmake/QtFeature.cmake:680 (qt_feature_module_end)
      qtbase/src/CMakeLists.txt:13 (qt_feature_evaluate_features)
    
    
    Package x11 was not found in the pkg-config search path.
    Perhaps you should add the directory containing `x11.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'x11' found
    
    

    <details><summary>More context</summary>

    -- Checking dependencies of submodule 'qtbase'
    -- Configuring submodule 'qtbase'
    -- [QtBase] CMAKE_BUILD_TYPE was already explicitly set to: 'Release'
                -DCMAKE_C_FLAGS=  -I/bitcoin/depends/x86_64-linux-gnu/include  -ffile-prefix-map=/bitcoin/depends/work/build/x86_64-linux-gnu/qt/6.7.3-011bb3e2916=/usr
                -DCMAKE_C_FLAGS_RELEASE=-O2
                -DCMAKE_C_FLAGS_RELWITHDEBINFO=-O2 -g -DNDEBUG
                -DCMAKE_CXX_FLAGS=  -I/bitcoin/depends/x86_64-linux-gnu/include  -ffile-prefix-map=/bitcoin/depends/work/build/x86_64-linux-gnu/qt/6.7.3-011bb3e2916=/usr
                -DCMAKE_CXX_FLAGS_RELEASE=-O2
                -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=-O2 -g -DNDEBUG
                -DCMAKE_OBJCOPY=/home/kepler/.guix-profile/bin/x86_64-linux-gnu-objcopy
                -DCMAKE_C_STANDARD=11
                -DCMAKE_C_STANDARD_REQUIRED=ON
                -DCMAKE_CXX_STANDARD=20
                -DCMAKE_CXX_STANDARD_REQUIRED=ON
                -DCMAKE_MODULE_PATH:STRING=/bitcoin/depends/work/build/x86_64-linux-gnu/qt/6.7.3-011bb3e2916/qtbase/cmake/platforms
    CMake Error at qtbase/cmake/QtBuildInformation.cmake:522 (message):
      Feature "xcb": Forcing to "ON" breaks its condition:
    
          QT_FEATURE_thread AND TARGET XCB::XCB AND TEST_xcb_syslibs AND QT_FEATURE_xkbcommon_x11
    
      Condition values dump:
    
          QT_FEATURE_thread = "ON"
          TARGET XCB::XCB found
          TEST_xcb_syslibs = "FALSE"
          QT_FEATURE_xkbcommon_x11 not evaluated
    
    Call Stack (most recent call first):
      qtbase/cmake/QtFeature.cmake:322 (qt_configure_add_report_error)
      qtbase/cmake/QtFeature.cmake:442 (qt_feature_check_and_save_internal_value)
      qtbase/cmake/QtFeature.cmake:711 (qt_evaluate_feature)
      qtbase/cmake/QtFeature.cmake:680 (qt_feature_module_end)
      qtbase/src/CMakeLists.txt:13 (qt_feature_evaluate_features)
    
    
    Package x11 was not found in the pkg-config search path.
    Perhaps you should add the directory containing `x11.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'x11' found
    
    -- Configuration summary shown below. It has also been written to /bitcoin/depends/work/build/x86_64-linux-gnu/qt/6.7.3-011bb3e2916/config.summary
    -- Configure with --log-level=STATUS or higher to increase CMake's message verbosity. The log level does not persist across reconfigurations.
    
    -- Configure summary:
    
    Building for: linux-g++ (x86_64, CPU features: )
    Compiler: gcc 13.3.0
    Build options:
      Mode ................................... release
      Optimize release build for size ........ no
      Fully optimize release builds (-O3) .... no
      Building shared libraries .............. no
      Using ccache ........................... no
      Unity Build ............................ no
      Using new DTAGS ........................ yes
      Relocatable ............................ no
      Using precompiled headers .............. yes
      Using Link Time Optimization (LTCG) .... no
      Using Intel CET ........................ no
      Target compiler supports:
        x86 Intrinsics ....................... Basic VAES AVX512VBMI2
      Sanitizers:
        Addresses ............................ no
        Threads .............................. no
        Memory ............................... no
        Fuzzer (instrumentation only) ........ no
        Undefined ............................ no
      Build parts ............................ libs
      Install examples sources ............... no
    Qt modules and options:
      Qt Concurrent .......................... no
      Qt D-Bus ............................... yes
      Qt D-Bus directly linked to libdbus .... no
      Qt Gui ................................. yes
      Qt Network ............................. yes
      Qt PrintSupport ........................ no
      Qt Sql ................................. no
      Qt Testlib ............................. yes
      Qt Widgets ............................. yes
      Qt Xml ................................. yes
    Support enabled for:
      Using pkg-config ....................... yes
      Using vcpkg ............................ no
      udev ................................... no
      OpenSSL ................................ no
        Qt directly linked to OpenSSL ........ no
      OpenSSL 1.1 ............................ no
      OpenSSL 3.0 ............................ no
      Using system zlib ...................... no
      Zstandard support ...................... no
      Thread support ......................... yes
    Common build options:
      Linker can resolve circular dependencies  yes
    Qt Core:
      backtrace .............................. no
      DoubleConversion ....................... yes
        Using system DoubleConversion ........ no
      CLONE_PIDFD support in forkfd .......... yes
      GLib ................................... no
      ICU .................................... no
      Using system libb2 ..................... no
      Built-in copy of the MIME database ..... yes
      Application permissions ................ yes
      Defaulting legacy IPC to POSIX ......... no
      Tracing backend ........................ <none>
      OpenSSL based cryptographic hash ....... no
      Logging backends:
        journald ............................. no
        syslog ............................... no
        slog2 ................................ no
      PCRE2 .................................. yes
        Using system PCRE2 ................... no
    Qt Network:
      getifaddrs() ........................... no
      IPv6 ifname ............................ no
      libproxy ............................... no
      Linux AF_NETLINK ....................... yes
      DTLS ................................... no
      OCSP-stapling .......................... no
      SCTP ................................... no
      Use system proxies ..................... no
      GSSAPI ................................. no
      Brotli Decompression Support ........... no
      qIsEffectiveTLD() ...................... no
        Built-in publicsuffix database ....... no
        System publicsuffix database ......... no
    Core tools:
      Android deployment tool ................ no
      macOS deployment tool .................. no
      Windows deployment tool ................ no
      qmake .................................. no
    Qt Gui:
      Accessibility .......................... yes
      FreeType ............................... yes
        Using system FreeType ................ yes
      HarfBuzz ............................... yes
        Using system HarfBuzz ................ no
      Fontconfig ............................. yes
      Image formats:
        GIF .................................. no
        ICO .................................. no
        JPEG ................................. no
          Using system libjpeg ............... no
        PNG .................................. yes
          Using system libpng ................ no
      Text formats:
        HtmlParser ........................... yes
        CssParser ............................ yes
        OdfWriter ............................ no
        MarkdownReader ....................... no
          Using system libmd4c ............... no
        MarkdownWriter ....................... no
      EGL .................................... no
      OpenVG ................................. no
      OpenGL:
        Desktop OpenGL ....................... no
        OpenGL ES 2.0 ........................ no
        OpenGL ES 3.0 ........................ no
        OpenGL ES 3.1 ........................ no
        OpenGL ES 3.2 ........................ no
      Vulkan ................................. no
      Session Management ..................... no
    Features used by QPA backends:
      evdev .................................. no
      libinput ............................... no
      HiRes wheel support in libinput ........ no
      INTEGRITY HID .......................... no
      mtdev .................................. no
      tslib .................................. no
      xkbcommon .............................. yes
      X11 specific:
        XLib ................................. no
        XCB Xlib ............................. no
        EGL on X11 ........................... no
        xkbcommon-x11 ........................ yes
        xcb-sm ............................... no
    QPA backends:
      DirectFB ............................... no
      EGLFS .................................. no
      EGLFS details:
        EGLFS OpenWFD ........................ no
        EGLFS i.Mx6 .......................... no
        EGLFS i.Mx6 Wayland .................. no
        EGLFS RCAR ........................... no
        EGLFS EGLDevice ...................... no
        EGLFS GBM ............................ no
        EGLFS VSP2 ........................... no
        EGLFS Mali ........................... no
        EGLFS Raspberry Pi ................... no
        EGLFS X11 ............................ no
      LinuxFB ................................ no
      VNC .................................... no
      VK_KHR_display ......................... no
      QNX:
        lgmon ................................ no
        IMF .................................. no
      XCB:
        Using system-provided xcb-xinput ..... no
        GL integrations:
          GLX Plugin ......................... no
            XCB GLX .......................... no
          EGL-X11 Plugin ..................... no
      Windows:
        Direct 2D ............................ no
        Direct 2D 1.1 ........................ no
        DirectWrite .......................... no
        DirectWrite 3 ........................ no
    Qt Widgets:
      GTK+ ................................... no
      Styles ................................. Fusion Windows
    Qt Testlib:
      Tester for item models ................. yes
      Batch tests ............................ no
    
    
    Note: Using static linking will disable the use of dynamically loaded plugins. Make sure to import all needed static plugins, or compile needed modules into the library.
    Note: Disabling X11 Accessibility Bridge: D-Bus or AT-SPI is missing.
    
    ERROR: Feature "xcb": Forcing to "ON" breaks its condition:
        QT_FEATURE_thread AND TARGET XCB::XCB AND TEST_xcb_syslibs AND QT_FEATURE_xkbcommon_x11
    Condition values dump:
        QT_FEATURE_thread = "ON"
        TARGET XCB::XCB found
        TEST_xcb_syslibs = "FALSE"
        QT_FEATURE_xkbcommon_x11 not evaluated
    
    
    CMake Error at qtbase/cmake/QtBuildInformation.cmake:208 (message):
      Check the configuration messages for an error that has occurred.
    Call Stack (most recent call first):
      qtbase/cmake/QtBuildInformation.cmake:39 (qt_configure_print_summary)
      qtbase/cmake/QtBaseTopLevelHelpers.cmake:84 (qt_print_feature_summary)
      qtbase/cmake/QtBaseTopLevelHelpers.cmake:72 (qt_internal_print_top_level_info)
      CMakeLists.txt:113 (qt_internal_top_level_end)
    
    
    -- Configuring incomplete, errors occurred!
    See also "/bitcoin/depends/work/build/x86_64-linux-gnu/qt/6.7.3-011bb3e2916/CMakeFiles/CMakeOutput.log".
    See also "/bitcoin/depends/work/build/x86_64-linux-gnu/qt/6.7.3-011bb3e2916/CMakeFiles/CMakeError.log".
    CMake Error at qtbase/cmake/QtProcessConfigureArgs.cmake:1077 (message):
      CMake exited with code 1.
    

    </details>

  16. fanquake added this to the milestone 30.0 on Sep 24, 2025
  17. hebasto commented at 7:35 AM on September 24, 2025: member

    Fixes #33432.

    The issue is titled "v30rc1 Weird GUI windowing behavior", but libxcb-cursor0 is unrelated to it.


    Is there any particular reason to rush this PR into v30.0?

  18. maflcko added the label DrahtBot Guix build requested on Sep 24, 2025
  19. fanquake commented at 8:25 AM on September 24, 2025: member

    but libxcb-cursor0 is unrelated to it.

    Installing libxcb-cursor fixes the windowing behaviour?

    Is there any particular reason to rush this PR into v30.0?

    I'd prefer if we were shipping a gui which didn't require non technical users to install runtime dependencies.

  20. hebasto commented at 9:17 AM on September 24, 2025: member

    but libxcb-cursor0 is unrelated to it.

    Installing libxcb-cursor fixes the windowing behaviour?

    No, it doesn't. The user tested different binaries, rather than running the same binary with and without libxcb-cursor installed.

    Is there any particular reason to rush this PR into v30.0?

    I'd prefer if we were shipping a gui which didn't require non technical users to install runtime dependencies.

    Right. And I’ll do my best to review this PR.

    However, I’m a bit reluctant to introduce such a change into rc3, as it leaves little time for broader testing.

  21. fanquake commented at 9:23 AM on September 24, 2025: member

    No, it doesn't. The user tested different binaries, rather than running the same binary with and without libxcb-cursor installed.

    The comment in this thread claims that a Guix build of this PR does not have the windowing bug: #33434 (comment)

  22. hebasto commented at 9:26 AM on September 24, 2025: member

    No, it doesn't. The user tested different binaries, rather than running the same binary with and without libxcb-cursor installed.

    The comment in this thread claims that a Guix build of this PR does not have the windowing bug: #33434 (comment)

    Sure. It never had it. The windowing bug is observed when using Qt 6.4.2 on Ubuntu.

  23. fanquake commented at 9:29 AM on September 24, 2025: member

    The initial issue was for a Guix built binary though: #33434 (comment) ?

  24. hebasto commented at 9:34 AM on September 24, 2025: member

    The initial issue was for a Guix built binary though: #33434 (comment) ?

    That comment doesn’t make sense: "install libxcb-cursor0" cannot result in "removed dark mode". The user likely mixed up the binaries they ran.

  25. hebasto commented at 10:11 AM on September 24, 2025: member

    Concept ACK. This is consistent with our docs.

  26. hebasto commented at 10:58 AM on September 24, 2025: member

    @laanwj

    You might want to take a look at this PR.

  27. hebasto commented at 12:36 PM on September 24, 2025: member

    @davidgumberg

    Trying to do a guix build on this branch I get the following error: ...

    What's the architecture of your build platform?

  28. hebasto commented at 12:41 PM on September 24, 2025: member

    This library is no-longer present on modern Ubuntu.

    Specifically, the Ubuntu 24.04.3 LTS image from https://ubuntu.com/download/desktop does not install libxcb-cursor0 when using the "Default selection" install option.

  29. hebasto commented at 4:16 PM on September 24, 2025: member

    My Guix builds for Linux hosts on both aarch64 and x86_64 platforms:

    cf7f86d91288477c11afdc767969d6b19b0ba1e62c73924e72b22a2527374653  guix-build-eca50854e1cb/output/aarch64-linux-gnu/SHA256SUMS.part
    5afe50eb76079f96a5129b5e51e2ede657f10c5031abe24a875410f006c55511  guix-build-eca50854e1cb/output/aarch64-linux-gnu/bitcoin-eca50854e1cb-aarch64-linux-gnu-debug.tar.gz
    ba6f7937c5d333e64560abcd95dbb3856ceaa43fbcde766ebcaed1f8e23f2a7e  guix-build-eca50854e1cb/output/aarch64-linux-gnu/bitcoin-eca50854e1cb-aarch64-linux-gnu.tar.gz
    bbdf057a0b42636765dc4c2e005c955e2b4fa826ea06f649bb6b48dd6dc45d7a  guix-build-eca50854e1cb/output/arm-linux-gnueabihf/SHA256SUMS.part
    7e9d8983db8ee44f5812f9192adca09160acc8a1f0dc07be9b67169896fc15fe  guix-build-eca50854e1cb/output/arm-linux-gnueabihf/bitcoin-eca50854e1cb-arm-linux-gnueabihf-debug.tar.gz
    135775299474f11f969dbb4f219cfb485ebba5b190f1d558e62eb3311ed7c686  guix-build-eca50854e1cb/output/arm-linux-gnueabihf/bitcoin-eca50854e1cb-arm-linux-gnueabihf.tar.gz
    c12073eeb266e309c7669e084d13cec0e5e2224821c3f27d20f600f870ecf19d  guix-build-eca50854e1cb/output/dist-archive/bitcoin-eca50854e1cb.tar.gz
    74e2670cae2f374a83ecf9b554bf9e5513ed957807cbc0073003a22635e5e451  guix-build-eca50854e1cb/output/powerpc64-linux-gnu/SHA256SUMS.part
    5bbb70440153087cbb737d7f0194ddff93f9c4d1cf3d928a9eee64f065d27184  guix-build-eca50854e1cb/output/powerpc64-linux-gnu/bitcoin-eca50854e1cb-powerpc64-linux-gnu-debug.tar.gz
    3ffe08f501112496a1a72ab9a4a328b294e845fc7ef6b01215234c862289a863  guix-build-eca50854e1cb/output/powerpc64-linux-gnu/bitcoin-eca50854e1cb-powerpc64-linux-gnu.tar.gz
    c288d11acf623eace1d033b9706af7e58f445571bb855d0f418557660a244d01  guix-build-eca50854e1cb/output/riscv64-linux-gnu/SHA256SUMS.part
    2e7613024ca7d09165f14b93a455f811f819bc0ce533173149a6b15737fbfcc6  guix-build-eca50854e1cb/output/riscv64-linux-gnu/bitcoin-eca50854e1cb-riscv64-linux-gnu-debug.tar.gz
    5e2e71715ca94ef496c6c74db837f76185446cae02992b45de2cd23eb85b4aea  guix-build-eca50854e1cb/output/riscv64-linux-gnu/bitcoin-eca50854e1cb-riscv64-linux-gnu.tar.gz
    6ea9d32fd447fafef15c83e419c2c4cb2e2bcc168b07f8e71c4f8cc93c15982c  guix-build-eca50854e1cb/output/x86_64-linux-gnu/SHA256SUMS.part
    6d765b1f8191c9bfe030b6c9df01e955bfa5e16683dba61dcfe33b4cd585803a  guix-build-eca50854e1cb/output/x86_64-linux-gnu/bitcoin-eca50854e1cb-x86_64-linux-gnu-debug.tar.gz
    573aa76d009263d4484baa7404b86fb260636a9e778745846099625b91a69378  guix-build-eca50854e1cb/output/x86_64-linux-gnu/bitcoin-eca50854e1cb-x86_64-linux-gnu.tar.gz
    
  30. DrahtBot commented at 12:35 PM on September 26, 2025: contributor

    <!--9cd9c72976c961c55c7acef8f6ba82cd-->

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

    File commit d41b503ae128ac36ef27e652d2935c6fe7981a79<br>(master) commit 750e71858268450bf6c516afd624c9cf257c505d<br>(pull/33434/merge)
    *-aarch64-linux-gnu-debug.tar.gz 8f3a40cb7e5a59be... 3d6d7e508d2e690f...
    *-aarch64-linux-gnu.tar.gz 9b439381e394581e... d7639a5e8e5b1f14...
    *-arm-linux-gnueabihf-debug.tar.gz bed36adf3e4624b8... 24b9bfdbbd5f06b5...
    *-arm-linux-gnueabihf.tar.gz 045e0c8edb59fa05... 4e6c2a75b7d3bc4d...
    *-arm64-apple-darwin-codesigning.tar.gz 5f94335fb54aedc2... c9f4594c9a9bdc60...
    *-arm64-apple-darwin-unsigned.tar.gz 069c857475b6aa81... 5028860471cc6613...
    *-arm64-apple-darwin-unsigned.zip 30a09bd941c23417... 7a2314ee16256951...
    *-powerpc64-linux-gnu-debug.tar.gz 0fee83e9a4c1f221... 56349f084abdd871...
    *-powerpc64-linux-gnu.tar.gz 6bda2ecee92a584d... 95c961b422ba4f19...
    *-riscv64-linux-gnu-debug.tar.gz 9174e3e001abf18f... 8a2d040178513cab...
    *-riscv64-linux-gnu.tar.gz 1f3a7afe7aba88c5... 833c875817fc8048...
    *-x86_64-apple-darwin-codesigning.tar.gz e202dc9667188619... 9b1ce289ce7ddd5e...
    *-x86_64-apple-darwin-unsigned.tar.gz a44ad3b531a7367d... b694ffe6128535b0...
    *-x86_64-apple-darwin-unsigned.zip 71a7d839d9349fa9... 72b69057d0281aef...
    *-x86_64-linux-gnu-debug.tar.gz 787a6b89477e2a9f... 34e0b620c847d2f7...
    *-x86_64-linux-gnu.tar.gz 1415bd1abe44cf1e... cf1f1c54bdf3ff35...
    *.tar.gz a5d7916ec9ae2b17... 055e2fd900203de9...
    SHA256SUMS.part 636162bfe0bbdb81... e6ff5e02ab01682e...
    guix_build.log f0a52f8f5f1ea0ce... 06dca0dd21d1a474...
    guix_build.log.diff 28e4ad9f7601dcad...
  31. DrahtBot removed the label DrahtBot Guix build requested on Sep 26, 2025
  32. benthecarman commented at 7:34 AM on September 29, 2025: contributor

    This build works for me when I don't have libxcb-cursor0 installed

  33. hebasto commented at 7:07 AM on September 30, 2025: member

    @davidgumberg

    Trying to do a guix build on this branch I get the following error:

    Is this consistently reproducible, or does it occur intermittently?

  34. davidgumberg commented at 5:58 PM on September 30, 2025: contributor

    @hebasto The machine that gets this error is an x86_64 running Fedora 42, the issue recurs on this machine, but I am in the process of setting up Guix on some other devices to test.

  35. davidgumberg commented at 2:40 AM on October 1, 2025: contributor

    Tested ACK https://github.com/bitcoin/bitcoin/pull/33434/commits/eca50854e1cb04e20478bd3df4762e18520a3611

    I tested doing a guix build of this branch on another x86_64 device running Fedora 41, and on an x86 Fedora 41 virtual machine and an x86 Fedora 42 virtual machine (both hosted on the troublesome machine mentioned above).

    The flickering issue described in #33432 occurs on both Fedora 41 and Fedora 42 on both master and the distro-packaged 29.1, but a guix build of this branch fixes the problem

    I think the issue that occurred in my comment above is something broken in that one particular machine, and not related to this branch.

    Will add hashes of all targets from a full guix build soon.

  36. DrahtBot requested review from hebasto on Oct 1, 2025
  37. DrahtBot requested review from TheCharlatan on Oct 1, 2025
  38. davidgumberg commented at 6:47 PM on October 1, 2025: contributor

    Addendum ACK https://github.com/bitcoin/bitcoin/commit/eca50854e1cb04e20478bd3df4762e18520a3611

    After uninstalling and reinstalling guix on the machine that encountered the build issue earlier, this branch built fine without any errors.

    $ ./contrib/guix/guix-build
    $ uname -m && find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
    
    x86_64
    cf7f86d91288477c11afdc767969d6b19b0ba1e62c73924e72b22a2527374653  guix-build-eca50854e1cb/output/aarch64-linux-gnu/SHA256SUMS.part
    5afe50eb76079f96a5129b5e51e2ede657f10c5031abe24a875410f006c55511  guix-build-eca50854e1cb/output/aarch64-linux-gnu/bitcoin-eca50854e1cb-aarch64-linux-gnu-debug.tar.gz
    ba6f7937c5d333e64560abcd95dbb3856ceaa43fbcde766ebcaed1f8e23f2a7e  guix-build-eca50854e1cb/output/aarch64-linux-gnu/bitcoin-eca50854e1cb-aarch64-linux-gnu.tar.gz
    bbdf057a0b42636765dc4c2e005c955e2b4fa826ea06f649bb6b48dd6dc45d7a  guix-build-eca50854e1cb/output/arm-linux-gnueabihf/SHA256SUMS.part
    7e9d8983db8ee44f5812f9192adca09160acc8a1f0dc07be9b67169896fc15fe  guix-build-eca50854e1cb/output/arm-linux-gnueabihf/bitcoin-eca50854e1cb-arm-linux-gnueabihf-debug.tar.gz
    135775299474f11f969dbb4f219cfb485ebba5b190f1d558e62eb3311ed7c686  guix-build-eca50854e1cb/output/arm-linux-gnueabihf/bitcoin-eca50854e1cb-arm-linux-gnueabihf.tar.gz
    e913a502d5d4621b58d943a2963b485911e0309c08cae9fa507fa68600f517da  guix-build-eca50854e1cb/output/arm64-apple-darwin/SHA256SUMS.part
    cdb3f0de0d2e3d9547f0ed2da640e3b845f3e217ffe882b2c9aa99929359045e  guix-build-eca50854e1cb/output/arm64-apple-darwin/bitcoin-eca50854e1cb-arm64-apple-darwin-codesigning.tar.gz
    d2b57d19b3c69e22550e448f2d0be6838fd85f334d582618ef00742e5a39eefa  guix-build-eca50854e1cb/output/arm64-apple-darwin/bitcoin-eca50854e1cb-arm64-apple-darwin-unsigned.tar.gz
    c38a022a112709b43a71090a5408116ae654029ff94e95dced4f267916e75caf  guix-build-eca50854e1cb/output/arm64-apple-darwin/bitcoin-eca50854e1cb-arm64-apple-darwin-unsigned.zip
    c12073eeb266e309c7669e084d13cec0e5e2224821c3f27d20f600f870ecf19d  guix-build-eca50854e1cb/output/dist-archive/bitcoin-eca50854e1cb.tar.gz
    74e2670cae2f374a83ecf9b554bf9e5513ed957807cbc0073003a22635e5e451  guix-build-eca50854e1cb/output/powerpc64-linux-gnu/SHA256SUMS.part
    5bbb70440153087cbb737d7f0194ddff93f9c4d1cf3d928a9eee64f065d27184  guix-build-eca50854e1cb/output/powerpc64-linux-gnu/bitcoin-eca50854e1cb-powerpc64-linux-gnu-debug.tar.gz
    3ffe08f501112496a1a72ab9a4a328b294e845fc7ef6b01215234c862289a863  guix-build-eca50854e1cb/output/powerpc64-linux-gnu/bitcoin-eca50854e1cb-powerpc64-linux-gnu.tar.gz
    c288d11acf623eace1d033b9706af7e58f445571bb855d0f418557660a244d01  guix-build-eca50854e1cb/output/riscv64-linux-gnu/SHA256SUMS.part
    2e7613024ca7d09165f14b93a455f811f819bc0ce533173149a6b15737fbfcc6  guix-build-eca50854e1cb/output/riscv64-linux-gnu/bitcoin-eca50854e1cb-riscv64-linux-gnu-debug.tar.gz
    5e2e71715ca94ef496c6c74db837f76185446cae02992b45de2cd23eb85b4aea  guix-build-eca50854e1cb/output/riscv64-linux-gnu/bitcoin-eca50854e1cb-riscv64-linux-gnu.tar.gz
    6e83a3dd664bd74a6887785d5b8e52caa3680cb2fe732c4dfbe921f7abb92f72  guix-build-eca50854e1cb/output/x86_64-apple-darwin/SHA256SUMS.part
    8f08fbc2ac62c30a0d5416c80ec8be16f051e2cfa1141c8dfc217dc2bc712fc0  guix-build-eca50854e1cb/output/x86_64-apple-darwin/bitcoin-eca50854e1cb-x86_64-apple-darwin-codesigning.tar.gz
    f28be3037a2230088b5141645f90b20976c5f3c323c2ace495472f45938ad58a  guix-build-eca50854e1cb/output/x86_64-apple-darwin/bitcoin-eca50854e1cb-x86_64-apple-darwin-unsigned.tar.gz
    a5e84800ab5a7d499e96def0c94325a06170bbcd51aa855e2dd75e0137f3e2a7  guix-build-eca50854e1cb/output/x86_64-apple-darwin/bitcoin-eca50854e1cb-x86_64-apple-darwin-unsigned.zip
    6ea9d32fd447fafef15c83e419c2c4cb2e2bcc168b07f8e71c4f8cc93c15982c  guix-build-eca50854e1cb/output/x86_64-linux-gnu/SHA256SUMS.part
    6d765b1f8191c9bfe030b6c9df01e955bfa5e16683dba61dcfe33b4cd585803a  guix-build-eca50854e1cb/output/x86_64-linux-gnu/bitcoin-eca50854e1cb-x86_64-linux-gnu-debug.tar.gz
    573aa76d009263d4484baa7404b86fb260636a9e778745846099625b91a69378  guix-build-eca50854e1cb/output/x86_64-linux-gnu/bitcoin-eca50854e1cb-x86_64-linux-gnu.tar.gz
    25b5854b22434e4fef2c7998c028f6f491dc1e98db4cb00349cf14bbd5186068  guix-build-eca50854e1cb/output/x86_64-w64-mingw32/SHA256SUMS.part
    16ce26db341a5ab2c0d999af3e79087456df3e3c998d07d172d5110b37f04e42  guix-build-eca50854e1cb/output/x86_64-w64-mingw32/bitcoin-eca50854e1cb-win64-codesigning.tar.gz
    c66c1b5b4dde0792f8caa3dc320118de39cecc319804a7ed456484a5835a902a  guix-build-eca50854e1cb/output/x86_64-w64-mingw32/bitcoin-eca50854e1cb-win64-debug.zip
    c16a701fa8455fd7f9d6699c1115f96bb25cd094e8806fa12892480ead7184b2  guix-build-eca50854e1cb/output/x86_64-w64-mingw32/bitcoin-eca50854e1cb-win64-setup-unsigned.exe
    db990808e826141a62fc9befa988dd462556b4174e4beeebf05c8c31859900a8  guix-build-eca50854e1cb/output/x86_64-w64-mingw32/bitcoin-eca50854e1cb-win64-unsigned.zip
    
  39. willcl-ark commented at 7:16 PM on October 2, 2025: member

    (matching) Guix hashes from my x64 build:

    ❯ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
    cf7f86d91288477c11afdc767969d6b19b0ba1e62c73924e72b22a2527374653  guix-build-eca50854e1cb/output/aarch64-linux-gnu/SHA256SUMS.part
    5afe50eb76079f96a5129b5e51e2ede657f10c5031abe24a875410f006c55511  guix-build-eca50854e1cb/output/aarch64-linux-gnu/bitcoin-eca50854e1cb-aarch64-linux-gnu-debug.tar.gz
    ba6f7937c5d333e64560abcd95dbb3856ceaa43fbcde766ebcaed1f8e23f2a7e  guix-build-eca50854e1cb/output/aarch64-linux-gnu/bitcoin-eca50854e1cb-aarch64-linux-gnu.tar.gz
    bbdf057a0b42636765dc4c2e005c955e2b4fa826ea06f649bb6b48dd6dc45d7a  guix-build-eca50854e1cb/output/arm-linux-gnueabihf/SHA256SUMS.part
    7e9d8983db8ee44f5812f9192adca09160acc8a1f0dc07be9b67169896fc15fe  guix-build-eca50854e1cb/output/arm-linux-gnueabihf/bitcoin-eca50854e1cb-arm-linux-gnueabihf-debug.tar.gz
    135775299474f11f969dbb4f219cfb485ebba5b190f1d558e62eb3311ed7c686  guix-build-eca50854e1cb/output/arm-linux-gnueabihf/bitcoin-eca50854e1cb-arm-linux-gnueabihf.tar.gz
    e913a502d5d4621b58d943a2963b485911e0309c08cae9fa507fa68600f517da  guix-build-eca50854e1cb/output/arm64-apple-darwin/SHA256SUMS.part
    cdb3f0de0d2e3d9547f0ed2da640e3b845f3e217ffe882b2c9aa99929359045e  guix-build-eca50854e1cb/output/arm64-apple-darwin/bitcoin-eca50854e1cb-arm64-apple-darwin-codesigning.tar.gz
    d2b57d19b3c69e22550e448f2d0be6838fd85f334d582618ef00742e5a39eefa  guix-build-eca50854e1cb/output/arm64-apple-darwin/bitcoin-eca50854e1cb-arm64-apple-darwin-unsigned.tar.gz
    c38a022a112709b43a71090a5408116ae654029ff94e95dced4f267916e75caf  guix-build-eca50854e1cb/output/arm64-apple-darwin/bitcoin-eca50854e1cb-arm64-apple-darwin-unsigned.zip
    c12073eeb266e309c7669e084d13cec0e5e2224821c3f27d20f600f870ecf19d  guix-build-eca50854e1cb/output/dist-archive/bitcoin-eca50854e1cb.tar.gz
    74e2670cae2f374a83ecf9b554bf9e5513ed957807cbc0073003a22635e5e451  guix-build-eca50854e1cb/output/powerpc64-linux-gnu/SHA256SUMS.part
    5bbb70440153087cbb737d7f0194ddff93f9c4d1cf3d928a9eee64f065d27184  guix-build-eca50854e1cb/output/powerpc64-linux-gnu/bitcoin-eca50854e1cb-powerpc64-linux-gnu-debug.tar.gz
    3ffe08f501112496a1a72ab9a4a328b294e845fc7ef6b01215234c862289a863  guix-build-eca50854e1cb/output/powerpc64-linux-gnu/bitcoin-eca50854e1cb-powerpc64-linux-gnu.tar.gz
    c288d11acf623eace1d033b9706af7e58f445571bb855d0f418557660a244d01  guix-build-eca50854e1cb/output/riscv64-linux-gnu/SHA256SUMS.part
    2e7613024ca7d09165f14b93a455f811f819bc0ce533173149a6b15737fbfcc6  guix-build-eca50854e1cb/output/riscv64-linux-gnu/bitcoin-eca50854e1cb-riscv64-linux-gnu-debug.tar.gz
    5e2e71715ca94ef496c6c74db837f76185446cae02992b45de2cd23eb85b4aea  guix-build-eca50854e1cb/output/riscv64-linux-gnu/bitcoin-eca50854e1cb-riscv64-linux-gnu.tar.gz
    6e83a3dd664bd74a6887785d5b8e52caa3680cb2fe732c4dfbe921f7abb92f72  guix-build-eca50854e1cb/output/x86_64-apple-darwin/SHA256SUMS.part
    8f08fbc2ac62c30a0d5416c80ec8be16f051e2cfa1141c8dfc217dc2bc712fc0  guix-build-eca50854e1cb/output/x86_64-apple-darwin/bitcoin-eca50854e1cb-x86_64-apple-darwin-codesigning.tar.gz
    f28be3037a2230088b5141645f90b20976c5f3c323c2ace495472f45938ad58a  guix-build-eca50854e1cb/output/x86_64-apple-darwin/bitcoin-eca50854e1cb-x86_64-apple-darwin-unsigned.tar.gz
    a5e84800ab5a7d499e96def0c94325a06170bbcd51aa855e2dd75e0137f3e2a7  guix-build-eca50854e1cb/output/x86_64-apple-darwin/bitcoin-eca50854e1cb-x86_64-apple-darwin-unsigned.zip
    6ea9d32fd447fafef15c83e419c2c4cb2e2bcc168b07f8e71c4f8cc93c15982c  guix-build-eca50854e1cb/output/x86_64-linux-gnu/SHA256SUMS.part
    6d765b1f8191c9bfe030b6c9df01e955bfa5e16683dba61dcfe33b4cd585803a  guix-build-eca50854e1cb/output/x86_64-linux-gnu/bitcoin-eca50854e1cb-x86_64-linux-gnu-debug.tar.gz
    573aa76d009263d4484baa7404b86fb260636a9e778745846099625b91a69378  guix-build-eca50854e1cb/output/x86_64-linux-gnu/bitcoin-eca50854e1cb-x86_64-linux-gnu.tar.gz
    25b5854b22434e4fef2c7998c028f6f491dc1e98db4cb00349cf14bbd5186068  guix-build-eca50854e1cb/output/x86_64-w64-mingw32/SHA256SUMS.part
    16ce26db341a5ab2c0d999af3e79087456df3e3c998d07d172d5110b37f04e42  guix-build-eca50854e1cb/output/x86_64-w64-mingw32/bitcoin-eca50854e1cb-win64-codesigning.tar.gz
    c66c1b5b4dde0792f8caa3dc320118de39cecc319804a7ed456484a5835a902a  guix-build-eca50854e1cb/output/x86_64-w64-mingw32/bitcoin-eca50854e1cb-win64-debug.zip
    c16a701fa8455fd7f9d6699c1115f96bb25cd094e8806fa12892480ead7184b2  guix-build-eca50854e1cb/output/x86_64-w64-mingw32/bitcoin-eca50854e1cb-win64-setup-unsigned.exe
    db990808e826141a62fc9befa988dd462556b4174e4beeebf05c8c31859900a8  guix-build-eca50854e1cb/output/x86_64-w64-mingw32/bitcoin-eca50854e1cb-win64-unsigned.zip
    
  40. willcl-ark approved
  41. willcl-ark commented at 7:29 PM on October 2, 2025: member

    Code review ACK eca50854e1cb04e20478bd3df4762e18520a3611

    I have not tested this on Ubuntu, but the changes look correct to me. After doing a guix build, I verified that the bitcoin-qt binary did not link to libxcb-cursor

    ❯ ldd bitcoin-eca50854e1cb/bin/bitcoin-qt
            linux-vdso.so.1 (0x00007f4e3afa5000)
            libfontconfig.so.1 => not found
            libfreetype.so.6 => not found
            libxkbcommon.so.0 => not found
            libxkbcommon-x11.so.0 => not found
            libxcb-xkb.so.1 => not found
            libxcb.so.1 => not found
            libxcb-icccm.so.4 => not found
            libxcb-image.so.0 => not found
            libxcb-keysyms.so.1 => not found
            libxcb-randr.so.0 => not found
            libxcb-render-util.so.0 => not found
            libxcb-shm.so.0 => not found
            libxcb-sync.so.1 => not found
            libxcb-xfixes.so.0 => not found
            libxcb-render.so.0 => not found
            libxcb-shape.so.0 => not found
            libdl.so.2 => /nix/store/g8zyryr9cr6540xsyg4avqkwgxpnwj2a-glibc-2.40-66/lib/libdl.so.2 (0x00007f4e3af94000)
            libpthread.so.0 => /nix/store/g8zyryr9cr6540xsyg4avqkwgxpnwj2a-glibc-2.40-66/lib/libpthread.so.0 (0x00007f4e3af8f000)
            libm.so.6 => /nix/store/g8zyryr9cr6540xsyg4avqkwgxpnwj2a-glibc-2.40-66/lib/libm.so.6 (0x00007f4e3aea6000)
            libgcc_s.so.1 => /nix/store/16hvpw4b3r05girazh4rnwbw0jgjkb4l-xgcc-14.3.0-libgcc/lib/libgcc_s.so.1 (0x00007f4e3ae78000)
            libc.so.6 => /nix/store/g8zyryr9cr6540xsyg4avqkwgxpnwj2a-glibc-2.40-66/lib/libc.so.6 (0x00007f4e38400000)
            /nix/store/776irwlgfb65a782cxmyk61pck460fs9-glibc-2.40-66/lib/ld-linux-x86-64.so.2 => /nix/store/g8zyryr9cr6540xsyg4avqkwgxpnwj2a-glibc-2.40-66/lib64/ld-linux-x86-64.so.2 (0x00007f4e3afa7000)
    

    Whereas a guix-built v30.0rc2 does:

    guix-build-30.0rc2/output/x86_64-linux-gnu on  HEAD (ed730c5)
    ❯ ldd bitcoin-30.0rc2/bin/bitcoin-qt
            linux-vdso.so.1 (0x00007f0e44ac3000)
            libfontconfig.so.1 => not found
            libfreetype.so.6 => not found
            libxkbcommon.so.0 => not found
            libxkbcommon-x11.so.0 => not found
            libxcb-xkb.so.1 => not found
            libxcb.so.1 => not found
            libxcb-cursor.so.0 => not found      <---- xcb_cursor
            libxcb-icccm.so.4 => not found
            libxcb-image.so.0 => not found
            libxcb-keysyms.so.1 => not found
            libxcb-randr.so.0 => not found
            libxcb-render-util.so.0 => not found
            libxcb-shm.so.0 => not found
            libxcb-sync.so.1 => not found
            libxcb-xfixes.so.0 => not found
            libxcb-render.so.0 => not found
            libxcb-shape.so.0 => not found
            libdl.so.2 => /nix/store/776irwlgfb65a782cxmyk61pck460fs9-glibc-2.40-66/lib/libdl.so.2 (0x00007f0e44ab2000)
            libpthread.so.0 => /nix/store/776irwlgfb65a782cxmyk61pck460fs9-glibc-2.40-66/lib/libpthread.so.0 (0x00007f0e44aad000)
            libm.so.6 => /nix/store/776irwlgfb65a782cxmyk61pck460fs9-glibc-2.40-66/lib/libm.so.6 (0x00007f0e449c5000)
            libgcc_s.so.1 => /nix/store/0ja5daq2yay3svg6f48spyfby7pgy5bm-xgcc-14.3.0-libgcc/lib/libgcc_s.so.1 (0x00007f0e423d2000)
            libc.so.6 => /nix/store/776irwlgfb65a782cxmyk61pck460fs9-glibc-2.40-66/lib/libc.so.6 (0x00007f0e42000000)
            /lib64/ld-linux-x86-64.so.2 => /nix/store/776irwlgfb65a782cxmyk61pck460fs9-glibc-2.40-66/lib64/ld-linux-x86-64.so.2 (0x00007f0e44ac5000)
    

    Guix-built v29.1 does not link to libxcb-cursor as it's not using QT >= 6.5.0 which I think was the version introducing this dependency.

  42. fanquake merged this on Oct 3, 2025
  43. fanquake closed this on Oct 3, 2025

  44. fanquake deleted the branch on Oct 3, 2025
  45. fanquake commented at 2:29 PM on October 3, 2025: member

    Backported to 30.x in #33473.

  46. fanquake referenced this in commit 1eb578045d on Oct 3, 2025
  47. fanquake commented at 12:39 AM on October 4, 2025: member

    I'm not familiar enough with X to say why it's seemingly not possible to link all the xcb_utils statically, but this change seems sane to me. @TheCharlatan Having a look in #33537.


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-04-28 06:12 UTC

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