On Sat, Sep 13, 2025 at 09:21:39PM +0200, Santiago Vila wrote:
I'm going to provide a VM for you. The caveat is that the build
failures happen randomly with a probability less than 10%, so you will
need to build the package inside a for loop to get some build failures.
For completeness, I'm also putting all the failed build logs I keep
for subversion in trixie here:
https://people.debian.org/~sanvila/build-logs/202509/
There is one datail that might be relevant: I usually do archive
rebuilds with machines having 1 CPU and 2 CPUs. So far, subversion has
never failed when using 1 CPU and all the failures happened with 2 CPUs.
Not sure if this means something for you.
Thank you! I had to figure out how to make libtool even more verbose,
but have now reproduced and at least have the signature of what's
happening.
/usr/bin/make -C /build/reproducible-path/subversion-1.14.5/BUILD LTFLAGS="--tag=CC --verbose"
LTCXXFLAGS="--tag=CXX --verbose" LT_CFLAGS="-no-suppress" install-javahl
install-javahl-java \
DESTDIR=/build/reproducible-path/subversion-1.14.5/debian/tmp \
javahl_javadir=/usr/share/java \
javahl_javahdir=/usr/include/svn-javahl
make[2]: Entering directory '/build/reproducible-path/subversion-1.14.5/BUILD'
/usr/lib/jvm/default-java/bin/javac -target 1.8 -source 1.8 -h
subversion/bindings/javahl/include -d subversion/bindings/javahl/classes
-classpath subversion/bindings/javahl/classes:
/build/reproducible-path/subversion-1.14.5/BUILD/../subversion/bindings/javahl/src/org/apache/subversion/javahl/util/ConfigImpl.java
/build/reproducible-path/subversion-1.14.5/BUILD/../subversion/bindings/javahl/src/org/apache/subversion/javahl/util/ConfigLib.java
/build/reproducible-path/subversion-1.14.5/BUILD/../subversion/bindings/javahl/src/org/apache/subversion/javahl/util/DiffLib.java
/build/reproducible-path/subversion-1.14.5/BUILD/../subversion/bindings/javahl/src/org/apache/subversion/javahl/util/PropLib.java
/build/reproducible-path/subversion-1.14.5/BUILD/../subversion/bindings/javahl/src/org/apache/subversion/javahl/util/RequestChannel.java
/build/reproducible-path/subversion-1.14.5/BUILD/../subversion/bindings/javahl/src/org/apache/subversion/javahl/util/ResponseChannel.java
/build/reproducible-path/subversion-1.14.5/BUILD/../subversion/bindings/javahl/src/org/apache/subversion/javahl/util/SubstLib.java
/build/reproducible-path/subversion-1.14.5/BUILD/../subversion/bindings/javahl/src/org/apache/subversion/javahl/util/TunnelChannel.java
/bin/bash "/build/reproducible-path/subversion-1.14.5/BUILD/libtool" --tag=CXX
--verbose --mode=compile g++ -std=c++11 -Wdate-time -D_FORTIFY_SOURCE=2 -DLINUX
-D_REENTRANT -D_GNU_SOURCE -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -g -O2
-ffile-prefix-map=/build/reproducible-path/subversion-1.14.5=. -fstack-protector-strong
-fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -O2
-ffile-prefix-map=/build/reproducible-path/subversion-1.14.5=. -fstack-protector-strong
-fstack-clash-protection -Wformat -Werror=format-security -fcf-protection
-I../subversion/include -I./subversion -I/usr/include/apr-1.0 -I/usr/include/apr-1.0
-I/usr/include -I/usr/include/libsecret-1 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6
-I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -pthread
-I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
-I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5
-I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5/QtGui
-I/usr/include/KF5/KWallet -I/usr/include/KF5/KCoreAddons -I/usr/include/KF5/KI18n
-I/usr/include -I/usr/include/serf-1 -no-suppress -I/usr/lib/jvm/default-java/include
-I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux
-I/build/reproducible-path/subversion-1.14.5/BUILD/subversion/bindings/javahl/include -o
subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigImpl_Category.lo
-c
../subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigImpl_Category.cpp
libtool: compile: g++ -std=c++11 -Wdate-time -D_FORTIFY_SOURCE=2 -DLINUX
-D_REENTRANT -D_GNU_SOURCE -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -g -O2
-ffile-prefix-map=/build/reproducible-path/subversion-1.14.5=.
-fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security -fcf-protection -g -O2
-ffile-prefix-map=/build/reproducible-path/subversion-1.14.5=.
-fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security -fcf-protection -I../subversion/include -I./subversion
-I/usr/include/apr-1.0 -I/usr/include/apr-1.0 -I/usr/include
-I/usr/include/libsecret-1 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6
-I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0
-pthread -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
-I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5
-I/usr/include/x86_64-linux-gnu/qt5/QtDBus
-I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/KF5/KWallet
-I/usr/include/KF5/KCoreAddons -I/usr/include/KF5/KI18n -I/usr/include
-I/usr/include/serf-1 -I/usr/lib/jvm/default-java/include
-I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux
-I/build/reproducible-path/subversion-1.14.5/BUILD/subversion/bindings/javahl/include
-c
../subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigImpl_Category.cpp
-fPIC -DPIC -o
subversion/bindings/javahl/native/.libs/org_apache_subversion_javahl_util_ConfigImpl_Category.o
warning: [options] bootstrap class path not set in conjunction with -source 8
warning: [options] source value 8 is obsolete and will be removed in a future
release
warning: [options] target value 8 is obsolete and will be removed in a future
release
warning: [options] To suppress warnings about obsolete options, use
-Xlint:-options.
libtool: compile: g++ -std=c++11 -Wdate-time -D_FORTIFY_SOURCE=2 -DLINUX
-D_REENTRANT -D_GNU_SOURCE -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -g -O2
-ffile-prefix-map=/build/reproducible-path/subversion-1.14.5=.
-fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security -fcf-protection -g -O2
-ffile-prefix-map=/build/reproducible-path/subversion-1.14.5=.
-fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security -fcf-protection -I../subversion/include -I./subversion
-I/usr/include/apr-1.0 -I/usr/include/apr-1.0 -I/usr/include
-I/usr/include/libsecret-1 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6
-I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0
-pthread -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
-I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5
-I/usr/include/x86_64-linux-gnu/qt5/QtDBus
-I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/KF5/KWallet
-I/usr/include/KF5/KCoreAddons -I/usr/include/KF5/KI18n -I/usr/include
-I/usr/include/serf-1 -I/usr/lib/jvm/default-java/include
-I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux
-I/build/reproducible-path/subversion-1.14.5/BUILD/subversion/bindings/javahl/include
-c
../subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigImpl_Category.cpp
-o
subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigImpl_Category.o
In file included from
../subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigImpl_Category.cpp:31:
/build/reproducible-path/subversion-1.14.5/BUILD/subversion/bindings/javahl/include/../include/org_apache_subversion_javahl_util_ConfigImpl_Category.h:10:1:
error: unterminated comment
10 | /*
| ^
/build/reproducible-path/subversion-1.14.5/BUILD/subversion/bindings/javahl/include/../include/org_apache_subversion_javahl_util_ConfigImpl_Category.h:5:
error: unterminated #ifndef
5 | #ifndef _Included_org_apache_subversion_javahl_util_ConfigImpl_Category
It appears that we're trying to compile
org_apache_subversion_javahl_util_ConfigImpl_Category.cpp
before org_apache_subversion_javahl_util_ConfigImpl_Category.h is fully
generated.
When the build fails, I can immediately run the same g++ command and it
succeeds.
I'll look into how the Make targets / prerequisites are defined.
Cheers,
--
James (he/him)
GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7 2D23 DFE6 91AE 331B A3DB