Bug#1122652: openturns FTBFS on riscv64: timeout during linking
Adrian Bunk
bunk at debian.org
Fri Dec 12 08:03:38 GMT 2025
Source: openturns
Version: 1.26-2
Severity: serious
Tags: ftbfs patch
X-Debbugs-Cc: debian-riscv at lists.debian.org, Pierre Gruet <pgt at debian.org>
User: debian-riscv at lists.debian.org
Usertags: riscv64
https://buildd.debian.org/status/fetch.php?pkg=openturns&arch=riscv64&ver=1.26-2&stamp=1765410478&raw=0
...
[ 40%] Linking CXX shared module _func.so
cd /build/reproducible-path/openturns-1.26/builddir/python/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/func.dir/link.txt --verbose=1
E: Build killed with signal TERM after 720 minutes of inactivity
The patch below does the following:
1. Debug information is useful, but it can take a surprising large
part of the build time. As a workaround, reduce debug information
on riscv64.
2. I have not verified whether this helps with the build hang on
the real-hardware Alpha buildd, but let's try 1. also there.
3. What got the build killed was one linker invocation that took
longer than 12 hours. mold is a much faster linker, use it on riscv64.
The combination of 1. and 3. made the riscv64 build go from one linker
invocation getting killed after 12 hours to a successful build after
9.5 hours.
This is just a workaround:
Faster buildd hardware would help with both.
Item 1 is an issue where it is unclear whether improvements are possible,
I'll gather data for a bug report for the linker issue in item 3.
diff -Nru openturns-1.26/debian/control openturns-1.26/debian/control
--- openturns-1.26/debian/control 2025-12-04 23:38:45.000000000 +0200
+++ openturns-1.26/debian/control 2025-12-09 12:08:02.000000000 +0200
@@ -28,6 +28,7 @@
libspectra-dev,
libtbb-dev,
libxml2-dev,
+ mold [riscv64],
python3-dev,
swig
Standards-Version: 4.7.2
diff -Nru openturns-1.26/debian/rules openturns-1.26/debian/rules
--- openturns-1.26/debian/rules 2025-12-04 23:11:11.000000000 +0200
+++ openturns-1.26/debian/rules 2025-12-09 12:08:02.000000000 +0200
@@ -23,6 +23,16 @@
test_discardflags := -E \\\"Dlib_.*|OptimizationAlgorithm_std\\\"
endif
+# build time reduction
+ifneq (,$(filter $(DEB_HOST_ARCH), alpha riscv64))
+ export DEB_CXXFLAGS_MAINT_APPEND += -g1
+endif
+
+# mold links faster, but is not yet mature on all architectures
+ifneq (,$(filter $(DEB_HOST_ARCH), riscv64))
+ export DEB_LDFLAGS_MAINT_APPEND += -fuse-ld=mold
+endif
+
BUILD_DATE = $(shell date --utc --date="@$(SOURCE_DATE_EPOCH)" "+%a, %d %b %Y %H:%M:%S %z")
%:
More information about the debian-science-maintainers
mailing list