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

Reply via email to