• Bug#1105554: silo-llnl: FTBFS with make --shuffle=reverse: cp: cannot s

    From Lucas Nussbaum@21:1/5 to All on Tue May 13 21:30:16 2025
    Source: silo-llnl
    Version: 4.11-6.1
    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[2]: Entering directory '/build/reproducible-path/silo-llnl-4.11/tools/python'
    Makefile:603: update target 'pysilo.lo' due to: target does not exist
    /bin/sh ../../libtool --tag=CXX --mode=compile mpic++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/include/python3.13 -I../../src/silo -I../../src/silo -I/usr/include -I/usr/include/hdf5/openmpi -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-
    linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/lib/openmpi/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/silo-llnl-4.11=. -fstack-protector-
    strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -c -o pysilo.lo pysilo.cpp
    libtool: compile: mpic++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/include/python3.13 -I../../src/silo -I../../src/silo -I/usr/include -I/usr/include/hdf5/openmpi -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/
    x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/lib/openmpi/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/silo-llnl-4.11=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection -fPIC -c pysilo.cpp -fPIC -DPIC -o .libs/pysilo.o
    libtool: compile: mpic++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/include/python3.13 -I../../src/silo -I../../src/silo -I/usr/include -I/usr/include/hdf5/openmpi -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/
    x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/lib/openmpi/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/silo-llnl-4.11=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection -fPIC -c pysilo.cpp -o pysilo.o >/dev/null 2>&1
    Makefile:603: update target 'pydbtoc.lo' due to: target does not exist /bin/sh ../../libtool --tag=CXX --mode=compile mpic++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/include/python3.13 -I../../src/silo -I../../src/silo -I/usr/include -I/usr/include/hdf5/openmpi -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-
    linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/lib/openmpi/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/silo-llnl-4.11=. -fstack-protector-
    strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -c -o pydbtoc.lo pydbtoc.cpp
    libtool: compile: mpic++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/include/python3.13 -I../../src/silo -I../../src/silo -I/usr/include -I/usr/include/hdf5/openmpi -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/
    x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/lib/openmpi/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/silo-llnl-4.11=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection -fPIC -c pydbtoc.cpp -fPIC -DPIC -o .libs/pydbtoc.o
    libtool: compile: mpic++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/include/python3.13 -I../../src/silo -I../../src/silo -I/usr/include -I/usr/include/hdf5/openmpi -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/
    x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/lib/openmpi/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/silo-llnl-4.11=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection -fPIC -c pydbtoc.cpp -o pydbtoc.o >/dev/null 2>&1
    Makefile:603: update target 'pydbfile.lo' due to: target does not exist /bin/sh ../../libtool --tag=CXX --mode=compile mpic++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/include/python3.13 -I../../src/silo -I../../src/silo -I/usr/include -I/usr/include/hdf5/openmpi -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-
    linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/lib/openmpi/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/silo-llnl-4.11=. -fstack-protector-
    strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -c -o pydbfile.lo pydbfile.cpp
    libtool: compile: mpic++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/include/python3.13 -I../../src/silo -I../../src/silo -I/usr/include -I/usr/include/hdf5/openmpi -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/
    x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/lib/openmpi/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/silo-llnl-4.11=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection -fPIC -c pydbfile.cpp -fPIC -DPIC -o .libs/pydbfile.o
    libtool: compile: mpic++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/include/python3.13 -I../../src/silo -I../../src/silo -I/usr/include -I/usr/include/hdf5/openmpi -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/
    x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/lib/openmpi/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/silo-llnl-4.11=. -fstack-protector-strong -fstack-clash-protection -
    Wformat -Werror=format-security -fcf-protection -fPIC -c pydbfile.cpp -o pydbfile.o >/dev/null 2>&1
    Makefile:566: update target 'Silo.la' due to: target does not exist
    /bin/sh ../../libtool --tag=CXX --mode=link mpic++ -g -O2 -ffile-prefix-map=/build/reproducible-path/silo-llnl-4.11=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -module -avoid-version -
    Wl,-z,relro -L/usr/lib/x86_64-linux-gnu/hdf5/openmpi -L/usr/lib -o Silo.la -rpath /usr/lib/x86_64-linux-gnu pydbfile.lo pydbtoc.lo pysilo.lo ../../src/libsiloh5.la -lhdf5 -lsz -lm -lsz -lsz
    libtool: link: mpic++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/14/crtbeginS.o .libs/pydbfile.o .libs/pydbtoc.o .libs/pysilo.o -Wl,-rpath -Wl,/build/reproducible-
    path/silo-llnl-4.11/src/.libs -L/usr/lib/x86_64-linux-gnu/hdf5/openmpi -L/usr/lib ../../src/.libs/libsiloh5.so -lhdf5 -lsz -L/usr/lib/x86_64-linux-gnu/openmpi/lib -L/usr/lib/gcc/x86_64-linux-gnu/14 -L/usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-
    gnu -L/usr/lib/gcc/x86_64-linux-gnu/14/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/14/../../.. -lmpi -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/14/crtendS.
    o /usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-gnu/crtn.o -g -O2 -ffile-prefix-map=/build/reproducible-path/silo-llnl-4.11=. -fstack-protector-strong -Werror=format-security -Wl,-z -Wl,relro -Wl,-soname -Wl,Silo.so -o .libs/Silo.so
    libtool: link: ar cr .libs/Silo.a pydbfile.o pydbtoc.o pysilo.o
    libtool: link: ranlib .libs/Silo.a
    libtool: link: ( cd ".libs" && rm -f "Silo.la" && ln -s "../Silo.la" "Silo.la" )
    make[2]: Nothing to be done for 'all'.
    Makefile:606: update target 'mostlyclean-libtool' due to: target is .PHONY
    rm -f *.lo
    Makefile:569: update target 'mostlyclean-compile' due to: target is .PHONY
    rm -f *.o
    Makefile:609: update target 'clean-libtool' due to: target is .PHONY
    rm -rf .libs _libs
    Makefile:557: update target 'clean-libLTLIBRARIES' due to: target is .PHONY rm -f Silo.la
    list='Silo.la'; \
    locs=`for p in $list; do echo $p; done | \
    sed 's|^[^/]*$|.|; s|/[^/]*$||; s|$|/so_locations|' | \
    sort -u`; \
    echo rm -f ${locs}; \
    rm -f ${locs}
    rm -f ./so_locations
    make[2]: Leaving directory '/build/reproducible-path/silo-llnl-4.11/tools/python'
    cp: cannot stat 'tools/python/.libs/Silo.so': No such file or directory make[1]: *** [debian/rules:77: override_dh_auto_build] Error 1 shuffle=reverse


    The full build log is available from: http://qa-logs.debian.net/2025/05/05/shuffle/reverse/silo-llnl_4.11-6.1_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)