• Bug#1105334: glibc: FTBFS with make --shuffle=reverse: /bin/sh: 2: /bui

    From Lucas Nussbaum@21:1/5 to All on Tue May 13 21:10:10 2025
    XPost: linux.debian.maint.glibc

    Source: glibc
    Version: 2.41-7
    Severity: minor
    Tags: trixie sid ftbfs
    User: lucas@debian.org
    Usertags: ftbfs-shuffle

    Hi,

    GNU Make now has a --shuffle option that simulates non-deterministic ordering of target prerequisites. See https://trofi.github.io/posts/238-new-make-shuffle-mode.html and also previous work in Debian by Santiago Vila: https://people.debian.org/~sanvila/make-shuffle/

    This package fails to build with make --shuffle=reverse.
    This is likely to be caused by a missing dependency in
    debian/rules or an upstream Makefile.

    More information about this mass bug filing is available at https://wiki.debian.org/qa.debian.org/FTBFS/Shuffle

    Relevant part (hopefully):
    make[5]: Entering directory '/build/reproducible-path/glibc-2.41/csu' ../Makerules:327: update target '/build/reproducible-path/glibc-2.41/build-tree/amd64-x32/gnu/lib-names-x32.h' due to: /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/gnu/lib-names-x32.stmp
    :
    make[5]: Leaving directory '/build/reproducible-path/glibc-2.41/csu'
    make[4]: Leaving directory '/build/reproducible-path/glibc-2.41/elf' ../Makerules:162: update target '/build/reproducible-path/glibc-2.41/build-tree/amd64-x32/runtime-linker.h' due to: /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/runtime-linker.stamp
    :
    ../Makerules:1391: update target '/build/reproducible-path/glibc-2.41/build-tree/amd64-x32/elf/stubs' due to: target does not exist
    (cd /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/elf/.; objdump -h dl-call-libc-early-init.o dl-call_fini.o dl-catch.o dl-close.o dl-debug.o dl-debug-symbols.o dl-deps.o dl-exception.o dl-execstack.o dl-execstack-tunable.o dl-fini.o dl-init.
    o dl-load.o dl-lookup.o dl-lookup-direct.o dl-minimal-malloc.o dl-misc.o dl-object.o dl-open.o dl-origin.o dl-printf.o dl-reloc.o dl-runtime.o dl-scope.o dl-setup_hash.o dl-sort-maps.o dl-thread_gscope_wait.o dl-tls.o dl-tls_init_tp.o dl-trampoline.o dl-
    tunables.o dl-version.o dl-write.o dl-cache.o dl-rseq-symbols.o tlsdesc.o dl-tlsdesc.o tls_get_addr.o dl-get-cpu-features.o dl-addr.o dl-addr-obj.o dl-early_allocate.o dl-find_object.o dl-iteratephdr.o dl-libc.o dl-reloc-static-pie.o dl-support.o dl-sym.
    o dl-sysdep.o enbl-secure.o libc_early_init.o rtld_static_init.o get-cpuid-feature-leaf.o dl-addr.os dl-addr-obj.os dl-find_object.os dl-iteratephdr.os dl-libc.os dl-sym.os libc-dl-profstub.os libc-dl_find_object.os libc_early_init.os get-cpuid-feature-
    leaf.os dl-call-libc-early-init.os dl-call_fini.os dl-catch.os dl-close.os dl-debug.os dl-debug-symbols.os dl-deps.os dl-exception.os dl-execstack.os dl-execstack-tunable.os dl-fini.os dl-init.os dl-load.os dl-lookup.os dl-lookup-direct.os dl-minimal-
    malloc.os dl-misc.os dl-object.os dl-open.os dl-origin.os dl-printf.os dl-reloc.os dl-runtime.os dl-scope.os dl-setup_hash.os dl-sort-maps.os dl-thread_gscope_wait.os dl-tls.os dl-tls_init_tp.os dl-trampoline.os dl-tunables.os dl-version.os dl-write.os
    dl-cache.os dl-rseq-symbols.os tlsdesc.os dl-tlsdesc.os tls_get_addr.os dl-get-cpu-features.os dl-audit.os dl-compat.os dl-diagnostics.os dl-diagnostics-cpu.os dl-diagnostics-kernel.os dl-environ.os dl-hwcaps.os dl-hwcaps-subdirs.os dl-hwcaps_split.os dl-
    libc_freeres.os dl-minimal.os dl-mutex.os dl-profile.os dl-sysdep.os dl-usage.os rtld.os dl-brk.os dl-getcwd.os dl-openat64.os dl-opendir.os dl-sbrk.os interp.os sofini.os static-stubs.o cache.o chroot_canon.o readlib.o stringtable.o xmalloc.o xstrdup.o
    sotruss-lib.os sotruss-lib.so) | \
    gawk '/\.gnu\.glibc-stub\./ { \
    sub(/\.gnu\.glibc-stub\./, "", $2); \
    stubs[$2] = 1; } \
    END { for (s in stubs) print "#define __stub_" s }' > /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/elf/stubsT
    mv -f /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/elf/stubsT /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/elf/stubs
    ../Makerules:1098: update target '/build/reproducible-path/glibc-2.41/debian/tmp-x32/sbin/ldconfig' due to: target does not exist
    .././scripts/mkinstalldirs /build/reproducible-path/glibc-2.41/debian/tmp-x32/sbin
    mkdir -p -- /build/reproducible-path/glibc-2.41/debian/tmp-x32/sbin /usr/bin/install -c /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/elf/ldconfig /build/reproducible-path/glibc-2.41/debian/tmp-x32/sbin/ldconfig.new
    mv -f /build/reproducible-path/glibc-2.41/debian/tmp-x32/sbin/ldconfig.new /build/reproducible-path/glibc-2.41/debian/tmp-x32/sbin/ldconfig
    ../Makerules:1098: update target '/build/reproducible-path/glibc-2.41/debian/tmp-x32/sbin/sln' due to: target does not exist
    /usr/bin/install -c /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/elf/sln /build/reproducible-path/glibc-2.41/debian/tmp-x32/sbin/sln.new
    mv -f /build/reproducible-path/glibc-2.41/debian/tmp-x32/sbin/sln.new /build/reproducible-path/glibc-2.41/debian/tmp-x32/sbin/sln
    ../Makerules:1093: update target '/build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/sotruss' due to: target does not exist
    /usr/bin/install -c /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/elf/sotruss /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/sotruss.new
    mv -f /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/sotruss.new /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/sotruss
    ../Makerules:1093: update target '/build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/ldd' due to: target does not exist
    /usr/bin/install -c /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/elf/ldd /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/ldd.new
    mv -f /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/ldd.new /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/ldd
    ../Makerules:1088: update target '/build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/pldd' due to: target does not exist
    /usr/bin/install -c /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/elf/pldd /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/pldd.new
    mv -f /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/pldd.new /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/pldd
    ../Makerules:1088: update target '/build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/sprof' due to: target does not exist
    /usr/bin/install -c /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/elf/sprof /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/sprof.new
    mv -f /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/sprof.new /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/sprof
    Makefile:263: update target '/build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/libx32/audit/sotruss-lib.so' due to: target does not exist
    .././scripts/mkinstalldirs /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/libx32/audit
    mkdir -p -- /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/libx32/audit
    /usr/bin/install -c /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/elf/sotruss-lib.so /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/libx32/audit/sotruss-lib.so.new
    mv -f /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/libx32/audit/sotruss-lib.so.new /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/libx32/audit/sotruss-lib.so
    Makefile:1546: update target '/build/reproducible-path/glibc-2.41/debian/tmp-x32/libx32/ld-linux-x32.so.2' due to: target does not exist
    /usr/bin/install -c /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/elf/ld.so /build/reproducible-path/glibc-2.41/debian/tmp-x32/libx32/ld-linux-x32.so.2.new
    mv -f /build/reproducible-path/glibc-2.41/debian/tmp-x32/libx32/ld-linux-x32.so.2.new /build/reproducible-path/glibc-2.41/debian/tmp-x32/libx32/ld-linux-x32.so.2
    Makefile:1551: update target '/build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/ld.so' due to: target does not exist
    rm -f /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/ld.so.new /bin/bash ../scripts/rellns-sh /build/reproducible-path/glibc-2.41/debian/tmp-x32/libx32/ld-linux-x32.so.2 /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/ld.so.new
    mv -f /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/ld.so.new /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/bin/ld.so
    ../Makerules:1132: update target '/build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/gnu/lib-names-x32.h' due to: force-install
    /usr/bin/install -c -m 644 /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/gnu/lib-names-x32.h /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/gnu/lib-names-x32.h
    /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/sysd-rules:783: update target '/build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/sys/platform/x86.h' due to: target does not exist
    .././scripts/mkinstalldirs /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/sys/platform
    mkdir -p -- /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/sys/platform
    /usr/bin/install -c -m 644 ../sysdeps/x86/sys/platform/x86.h /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/sys/platform/x86.h
    /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/sysd-rules:783: update target '/build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/bits/platform/x86.h' due to: target does not exist
    .././scripts/mkinstalldirs /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/bits/platform
    mkdir -p -- /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/bits/platform
    /usr/bin/install -c -m 644 ../sysdeps/x86/bits/platform/x86.h /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/bits/platform/x86.h
    /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/sysd-rules:103: update target '/build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/bits/platform/features.h' due to: target does not exist
    /usr/bin/install -c -m 644 ../sysdeps/unix/sysv/linux/x86/bits/platform/features.h /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/bits/platform/features.h
    ../Makerules:1134: update target '/build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/link.h' due to: target does not exist
    /usr/bin/install -c -m 644 link.h /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/link.h
    ../Makerules:1134: update target '/build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/elf.h' due to: target does not exist
    /usr/bin/install -c -m 644 elf.h /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/elf.h
    ../Makerules:1134: update target '/build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/bits/link_lavcurrent.h' due to: target does not exist
    /usr/bin/install -c -m 644 ../bits/link_lavcurrent.h /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/bits/link_lavcurrent.h
    /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/sysd-rules:783: update target '/build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/bits/link.h' due to: target does not exist
    /usr/bin/install -c -m 644 ../sysdeps/x86/bits/link.h /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/bits/link.h
    ../Makerules:1134: update target '/build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/bits/elfclass.h' due to: target does not exist
    /usr/bin/install -c -m 644 ../bits/elfclass.h /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/bits/elfclass.h
    make[3]: Leaving directory '/build/reproducible-path/glibc-2.41/elf' Makefile:475: update target '/build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/gnu/stubs-x32.h' due to: target does not exist
    rm -f /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/stubs.h
    (sed '/^@/d' include/stubs-prologue.h; LC_ALL=C sort /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/csu/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/iconv/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/locale/
    stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/localedata/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/iconvdata/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/assert/stubs /build/reproducible-path/glibc-
    2.41/build-tree/amd64-x32/ctype/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/intl/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/catgets/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/math/stubs /build/
    reproducible-path/glibc-2.41/build-tree/amd64-x32/setjmp/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/signal/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/stdlib/stubs /build/reproducible-path/glibc-2.41/build-tree/
    amd64-x32/stdio-common/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/libio/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/dlfcn/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/nptl/stubs /build/reproducible-
    path/glibc-2.41/build-tree/amd64-x32/rt/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/malloc/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/string/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/wcsmbs/
    stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/timezone/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/time/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/dirent/stubs /build/reproducible-path/glibc-2.41/
    build-tree/amd64-x32/posix/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/io/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/termios/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/resource/stubs /build/
    reproducible-path/glibc-2.41/build-tree/amd64-x32/misc/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/socket/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/sysvipc/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-
    x32/gmon/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/gnulib/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/wctype/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/manual/stubs /build/reproducible-path/
    glibc-2.41/build-tree/amd64-x32/po/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/argp/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/conform/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/debug/stubs /
    build/reproducible-path/glibc-2.41/build-tree/amd64-x32/mathvec/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/support/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/nptl_db/stubs /build/reproducible-path/glibc-2.41/build-
    tree/amd64-x32/inet/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/resolv/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/nss/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/hesiod/stubs /build/reproducible-
    path/glibc-2.41/build-tree/amd64-x32/sunrpc/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/nis/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/nscd/stubs /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/login/stubs /
    build/reproducible-path/glibc-2.41/build-tree/amd64-x32/elf/stubs) > /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/stubs.h
    if test -r /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/gnu/stubs-x32.h && cmp -s /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/stubs.h /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/gnu/stubs-x32.h; \
    then echo 'stubs.h unchanged'; \
    else /usr/bin/install -c -m 644 /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/stubs.h /build/reproducible-path/glibc-2.41/debian/tmp-x32/usr/include/gnu/stubs-x32.h; fi
    rm -f /build/reproducible-path/glibc-2.41/build-tree/amd64-x32/stubs.h make[2]: Leaving directory '/build/reproducible-path/glibc-2.41'
    make[1]: Leaving directory '/build/reproducible-path/glibc-2.41/build-tree/amd64-x32'
    # Generate gconv-modules.cache
    case x32-/libx32 in libc-* | *-/lib32 | *-/lib64 | *-/libo32 | *-/libx32) \
    /build/reproducible-path/glibc-2.41/build-tree/amd64-libc/elf/ld.so --library-path /build/reproducible-path/glibc-2.41/build-tree/amd64-libc:/build/reproducible-path/glibc-2.41/build-tree/amd64-libc/mach:/build/reproducible-path/glibc-2.41/build-tree/
    amd64-libc/hurd /build/reproducible-path/glibc-2.41/build-tree/amd64-libc/iconv/iconvconfig --nostdlib --prefix=/build/reproducible-path/glibc-2.41/debian/tmp-x32 \
    -o /build/reproducible-path/glibc-2.41/debian/tmp-x32//usr/libx32/gconv/gconv-modules.cache \
    /usr/libx32/gconv \
    ;; \
    esac
    /bin/sh: 2: /build/reproducible-path/glibc-2.41/build-tree/amd64-libc/elf/ld.so: not found
    make: *** [debian/rules.d/build.mk:226: /build/reproducible-path/glibc-2.41/stamp-dir/install_x32] Error 127 shuffle=reverse


    The full build log is available from: http://qa-logs.debian.net/2025/05/05/shuffle/reverse/glibc_2.41-7_unstable_reverse.log

    If you reassign this bug to another package, please mark it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)