[29.x] guix build failure on ppc with xcb #33488

issue ajtowns openend this issue on September 28, 2025
  1. ajtowns commented at 11:41 pm on September 28, 2025: contributor

    Doing a guix build on the 29.x branch (both with v29.1, v29.2rc1 and f6d49d0a0995ad736c3462bb5cd9d2177d77c970) fails for me on powerpc (and powerpcle) seemingly related to xcb. Previous failures have just given me an error abort after some xcb install commands without indicating what failed, the latest failure gave this error:

     0checking that generated files are newer than configure... done
     1configure: creating ./config.status
     2config.status: creating Makefile
     3config.status: creating xkbcommon.pc
     4config.status: creating xkbcommon-x11.pc
     5config.status: creating doc/Doxyfile
     6config.status: creating src/config.h
     7config.status: src/config.h is unchanged
     8config.status: executing depfiles commands
     9config.status: executing libtool commands
    10
    11        libxkbcommon 0.8.4
    12
    13        libxkbcommon:            yes
    14        libxkbcommon-x11:        yes
    15        Wayland utilities:       no
    16        documentation:           no
    17
    18        default XKB rules:       evdev
    19        default XKB model:       pc105
    20        default XKB layout:      us
    21        default XKB variant:
    22        default XKB options:
    23
    24        prefix:                  /bitcoin/depends/powerpc64-linux-gnu
    25        includedir:              ${prefix}/include
    26        lib dir:                 ${exec_prefix}/lib
    27        datarootdir:             ${prefix}/share
    28        XKB config root:         ${datarootdir}/X11/xkb
    29        X11 locale root:         ${datarootdir}/X11/locale
    30
    31Building libxkbcommon...
    32make[1]: Entering directory '/bitcoin/depends/work/build/powerpc64-linux-gnu/libxkbcommon/0.8.4-527b23ff69b'
    33make  all-am
    34make[2]: Entering directory '/bitcoin/depends/work/build/powerpc64-linux-gnu/libxkbcommon/0.8.4-527b23ff69b'
    35  CCLD     libxkbcommon-x11.la
    36powerpc64-linux-gnu-ld: warning: /bitcoin/depends/powerpc64-linux-gnu/lib/libxcb-xkb.so has a corrupt string table index - ignoring
    37powerpc64-linux-gnu-ld: error: /bitcoin/depends/powerpc64-linux-gnu/lib/libxcb-xkb.so: ELF section name out of range
    38collect2: error: ld returned 1 exit status
    39make[2]: *** [Makefile:1302: libxkbcommon-x11.la] Error 1
    40make[2]: Leaving directory '/bitcoin/depends/work/build/powerpc64-linux-gnu/libxkbcommon/0.8.4-527b23ff69b'
    41make[1]: *** [Makefile:1080: all] Error 2
    42make[1]: Leaving directory '/bitcoin/depends/work/build/powerpc64-linux-gnu/libxkbcommon/0.8.4-527b23ff69b'
    43make: *** [funcs.mk:303: /bitcoin/depends/work/build/powerpc64-linux-gnu/libxkbcommon/0.8.4-527b23ff69b/./.stamp_built] Error 2
    44make: Leaving directory '/bitcoin/depends'
    
  2. maflcko added the label Build system on Sep 29, 2025
  3. maflcko commented at 5:42 am on September 29, 2025: member

    Previous failures have just given me an error abort after some xcb install commands without indicating what failed, the latest failure gave this error:

    So the failure is non-deterministic? Does it happen with a fully clean git repo?

  4. ajtowns commented at 6:23 am on September 29, 2025: contributor

    Previous failures have just given me an error abort after some xcb install commands without indicating what failed, the latest failure gave this error:

    So the failure is non-deterministic? Does it happen with a fully clean git repo?

    It’s part of the “depends” setup, which caches the downloaded source and build between runs afaics? I think that’s the source of the differences in error. I tried it from a cleaned out checkout before, but will try again to see the exact error.

  5. ajtowns commented at 6:33 am on September 29, 2025: contributor

    Ah, there we go; these look like relevant lines:

     0$ HOSTS=powerpc64-linux-gnu contrib/guix/guix-build
     1...
     2xcb_auth.c:74:37: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     3   74 | #define AUTH_PROTO_MIT_MAGIC_COOKIE "MIT-MAGIC-COOKIE-1"
     4      |                                     ^~~~~~~~~~~~~~~~~~~~
     5xcb_auth.c:80:5: note: in expansion of macro 'AUTH_PROTO_MIT_MAGIC_COOKIE'
     6   80 |     AUTH_PROTO_MIT_MAGIC_COOKIE,
     7      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
     8...
     9libtool: warning: relinking 'libxcb-randr.la'
    10libtool: install: (cd /bitcoin/depends/work/build/powerpc64-linux-gnu/libxcb/1.14-3622160b92f/src; /bin/sh "/bitcoin/depends/work/build/powerpc64-linux-gnu/libxcb/1.14-3622160b92f/libtool"  --silent --tag CC --mode=relink powerpc64-linux-gnu-gcc -Wall -Wpointer-arith -Wmissing-declarations -Wformat=2 -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wbad-function-cast -Wold-style-definition -Wdeclaration-after-statement -Wunused -Wuninitialized -Wshadow -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -Wlogical-op -Werror=implicit -Werror=nonnull -Werror=init-self -Werror=main -Werror=missing-braces -Werror=sequence-point -Werror=return-type -Werror=trigraphs -Werror=array-bounds -Werror=write-strings -Werror=address -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -I//bitcoin/depends/powerpc64-linux-gnu/include -pipe -std=c11 -O2 -version-info 1:0:1 -no-undefined -L/bitcoin/depends/powerpc64-linux-gnu/lib -o libxcb-randr.la -rpath /bitcoin/depends/powerpc64-linux-gnu/lib randr.lo libxcb.la -inst-prefix-dir /bitcoin/depends/work/staging/powerpc64-linux-gnu/libxcb/1.14-3622160b92f)
    11...
    12powerpc64-linux-gnu-ld: warning: /bitcoin/depends/work/staging/powerpc64-linux-gnu/libxcb/1.14-3622160b92f/bitcoin/depends/powerpc64-linux-gnu/lib/libxcb.so has a corrupt string table index - ignoring
    13powerpc64-linux-gnu-ld: error: /bitcoin/depends/work/staging/powerpc64-linux-gnu/libxcb/1.14-3622160b92f/bitcoin/depends/powerpc64-linux-gnu/lib/libxcb.so: ELF section name out of range
    14collect2: error: ld returned 1 exit status
    15libtool:   error: error: relink 'libxcb-randr.la' with the above command before installing it
    16make[4]: *** [Makefile:851: install-libLTLIBRARIES] Error 1
    17make[4]: *** Waiting for unfinished jobs....
    

    The “install” stuff I was seeing was the unfinished jobs, I guess, and I just didn’t look carefully enough to find meatier errors.

    Using guix 1.4.0-9 from debian unstable, on commit f6d49d0a0995ad736c3462bb5cd9d2177d77c970.

  6. bitcoin deleted a comment on Sep 29, 2025
  7. willcl-ark commented at 1:17 pm on September 30, 2025: member

    I suspect might be the same fundamental issue we saw here: #33494 (comment)

    Where a cached package is found in depends (and used) despite the package definition having changed. @ajtowns do you have set/are you using $BASE_CACHE ?

  8. ajtowns commented at 4:42 pm on September 30, 2025: contributor
    No? I just untarred the Xcode SDK in a clean environment, set HOSTS and ran guix-build. The depends/sources files all seem to match the hashes from depends/packages as far as I can see for what that’s worth.
  9. willcl-ark commented at 2:01 pm on October 1, 2025: member

    Ah I see.

    FWIW I am using the same guix version via nix but can’t reproduce :(

     0[100%] Built target check-symbols
     1-- Install configuration: "RelWithDebInfo"
     2-- Installing: /distsrc-base/distsrc-f6d49d0a0995-powerpc64-linux-gnu/installed/bitcoin-f6d49d0a0995/bin/bitcoin-wallet
     3-- Installing: /distsrc-base/distsrc-f6d49d0a0995-powerpc64-linux-gnu/installed/bitcoin-f6d49d0a0995/share/man/man1/bitcoin-wallet.1
     4-- Installing: /distsrc-base/distsrc-f6d49d0a0995-powerpc64-linux-gnu/installed/bitcoin-f6d49d0a0995/bin/bitcoind
     5-- Installing: /distsrc-base/distsrc-f6d49d0a0995-powerpc64-linux-gnu/installed/bitcoin-f6d49d0a0995/share/man/man1/bitcoind.1
     6-- Installing: /distsrc-base/distsrc-f6d49d0a0995-powerpc64-linux-gnu/installed/bitcoin-f6d49d0a0995/bin/bitcoin-cli
     7-- Installing: /distsrc-base/distsrc-f6d49d0a0995-powerpc64-linux-gnu/installed/bitcoin-f6d49d0a0995/share/man/man1/bitcoin-cli.1
     8-- Installing: /distsrc-base/distsrc-f6d49d0a0995-powerpc64-linux-gnu/installed/bitcoin-f6d49d0a0995/bin/bitcoin-tx
     9-- Installing: /distsrc-base/distsrc-f6d49d0a0995-powerpc64-linux-gnu/installed/bitcoin-f6d49d0a0995/share/man/man1/bitcoin-tx.1
    10-- Installing: /distsrc-base/distsrc-f6d49d0a0995-powerpc64-linux-gnu/installed/bitcoin-f6d49d0a0995/bin/bitcoin-util
    11-- Installing: /distsrc-base/distsrc-f6d49d0a0995-powerpc64-linux-gnu/installed/bitcoin-f6d49d0a0995/share/man/man1/bitcoin-util.1
    12-- Installing: /distsrc-base/distsrc-f6d49d0a0995-powerpc64-linux-gnu/installed/bitcoin-f6d49d0a0995/bin/bitcoin-qt
    13-- Installing: /distsrc-base/distsrc-f6d49d0a0995-powerpc64-linux-gnu/installed/bitcoin-f6d49d0a0995/share/man/man1/bitcoin-qt.1
    14-- Installing: /distsrc-base/distsrc-f6d49d0a0995-powerpc64-linux-gnu/installed/bitcoin-f6d49d0a0995/bin/test_bitcoin
    
  10. ajtowns commented at 0:33 am on October 2, 2025: contributor

    Running guix-build from a mostly clean build directly three times gives me these logs, if that helps:

    https://gist.github.com/ajtowns/e670603ba85bb7720cea8fc5e1215172

    Maybe my guix profile is corrupted or otherwise wrong somehow?

  11. maflcko commented at 7:04 am on October 2, 2025: member

    I’d try to setup a fresh guix (maybe in a container) and build from there to check if something is wrong with your CPU/memory or the guix install.

    It should be roughly:

    0docker run --privileged -it --rm ubuntu:24.04
    1
    2(inside the container, assuming the guix apt package still exists:)
    3
    4export DEBIAN_FRONTEND=noninteractive && apt update && apt install git vim htop guix bash curl make -y && git clone https://github.com/bitcoin/bitcoin.git --depth=1 /bitcoin-core && cd /bitcoin-core && groupadd --system guixbuild && for i in `seq -w 1 10`; do useradd -g guixbuild -G guixbuild -d /var/empty -s `which nologin` -c "Guix build user $i" --system guixbuilder$i; done
    5LC_ALL=en_US.UTF-8 guix-daemon --build-users-group=guixbuild &
    6
    7HOSTS=powerpc64-linux-gnu V=1 VERBOSE=1 ./contrib/guix/guix-build
    

    It works for me, but I am using different hardware, and I’ve updated the guix to a more recent one:

     0# uname --machine && find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
     1riscv64
     246c169fb02a62391e8d31df45269152bb60185081333b9b345f02fe212d1673b  guix-build-f6d49d0a0995/output/dist-archive/bitcoin-f6d49d0a0995.tar.gz
     32355930789826759937046198efe16a5d01bb1d5e9f731bd46d4f7631e07685f  guix-build-f6d49d0a0995/output/powerpc64-linux-gnu/SHA256SUMS.part
     45a64896ef92dbeb29f37dcb4e5b3eb64e1c06d5fd64c8853b5ed8d3b6b8b0b13  guix-build-f6d49d0a0995/output/powerpc64-linux-gnu/bitcoin-f6d49d0a0995-powerpc64-linux-gnu-debug.tar.gz
     5bf262448b9144561bd3adc14a855147154197e4ed4bb9eddfb229add5fb57740  guix-build-f6d49d0a0995/output/powerpc64-linux-gnu/bitcoin-f6d49d0a0995-powerpc64-linux-gnu.tar.gz
     6
     7# guix describe
     8Generation 1    Sep 01 2025 17:43:44    (current)
     9  guix 5cb84f2
    10    repository URL: https://codeberg.org/guix/guix.git
    11    commit: 5cb84f2013c5b1e48a7d0e617032266f1e6059e2
    
  12. maflcko added the label Upstream on Oct 2, 2025
  13. maflcko added the label Questions and Help on Oct 2, 2025

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-10-10 15:13 UTC

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