Bug#1105554: silo-llnl: FTBFS with make --shuffle=reverse: cp: cannot stat 'tools/python/.libs/Silo.so': No such file or directory
Lucas Nussbaum
lucas at debian.org
Tue May 13 20:14:58 BST 2025
Source: silo-llnl
Version: 4.11-6.1
Severity: minor
Tags: trixie sid ftbfs
User: lucas at 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
More information about the debian-science-maintainers
mailing list