In Debian, we've received a report (https://bugs.debian.org/1114397) of
sporadic build failures during the Java binding part of the build. The
failure looks like

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

After some investigation, it seems like this is the scenario that is
happening

* javac starts running to generate the javahl headers and class files.
* org_apache_subversion_javahl_util_ConfigImpl_Category.h is created,
  but does not yet contain all of its expected content
* This satisfies the Make prereq to compile
  org_apache_subversion_javahl_util_ConfigImpl_Category.cpp
* The compile fails because the header is only partially generated

This is being encountered on a small, 2 CPU AWS VM and even then only
happens in about 10% of builds.

I haven't checked if the CMake builds handles this any better.

Cheers,
--
James (he/him)
GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7  2D23 DFE6 91AE 331B A3DB

Reply via email to