Bug#1121341: siconos FTBFS on riscv64: Build killed with signal TERM after 720 minutes of inactivity
Stephen Sinclair
radarsat1 at gmail.com
Thu Nov 27 15:39:58 GMT 2025
I'm not entirely sure how to address this. I tried building the
package in a qemu environment for riscv64 with and without the "-g1"
option but in both cases the build took so long (12h+) that I couldn't
even benchmark it properly.
The proposed solution doesn't really make sense to me, I do not see
why adding -g1 would drastically affect the build time. I think
RISCV64 is not a target environment for Siconos upstream, of course it
would be nice if it works and it's a shame to kill the job during
compilation, but if it's infeasible to compile it perhaps the right
approach is to make it a amd64-only package.
Note that the only reason parallel is disabled is that the build also
takes far too much memory. The code is very C++ template heavy.
In any case I have no problem adding this change if it's confirmed to
fix the problem for now but it seems like a band-aid.
Steve
On Mon, Nov 24, 2025 at 7:21 PM Adrian Bunk <bunk at debian.org> wrote:
>
> Source: siconos
> Version: 4.4.0+dfsg-5
> Severity: serious
> Tags: ftbfs patch
> X-Debbugs-Cc: debian-riscv at lists.debian.org
> User: debian-riscv at lists.debian.org
> Usertags: riscv64
>
> https://buildd.debian.org/status/fetch.php?pkg=siconos&arch=riscv64&ver=4.4.0%2Bdfsg-5&stamp=1763696177&raw=0
>
> ...
> [ 88%] Building CXX object kernel/swig/CMakeFiles/_kernel.dir/__/__/wrap/siconos/kernelPYTHON_wrap.cxx.o
> cd /build/reproducible-path/siconos-4.4.0+dfsg/obj-riscv64-linux-gnu/kernel/swig && /usr/bin/c++ -D_kernel_EXPORTS -I/build/reproducible-path/siconos-4.4.0+dfsg/obj-riscv64-linux-gnu -I/build/reproducible-path/siconos-4.4.0+dfsg/wrap/swig -I/build/reproducible-path/siconos-4.4.0+dfsg/obj-riscv64-linux-gnu/wrap/siconos -I/build/reproducible-path/siconos-4.4.0+dfsg/kernel/swig -I/build/reproducible-path/siconos-4.4.0+dfsg/io/src -I/build/reproducible-path/siconos-4.4.0+dfsg/io/src/mechanics -I/build/reproducible-path/siconos-4.4.0+dfsg/io/src/serialization -I/build/reproducible-path/siconos-4.4.0+dfsg/obj-riscv64-linux-gnu/io -I/build/reproducible-path/siconos-4.4.0+dfsg/numerics/src/. -I/build/reproducible-path/siconos-4.4.0+dfsg/numerics/src/tools -I/build/reproducible-path/siconos-4.4.0+dfsg/numerics/src/tools/InterfaceToPathFerris -I/build/reproducible-path/siconos-4.4.0+dfsg/numerics/src/tools/internal -I/build/reproducible-path/siconos-4.4.0+dfsg/numerics/src/AVI -I/build/reproducible-path/siconos-4.4.0+dfsg/numerics/src/LCP -I/build/reproducible-path/siconos-4.4.0+dfsg/numerics/src/MLCP -I/build/reproducible-path/siconos-4.4.0+dfsg/numerics/src/SOCP -I/build/reproducible-path/siconos-4.4.0+dfsg/numerics/src/QP -I/build/reproducible-path/siconos-4.4.0+dfsg/numerics/src/Relay -I/build/reproducible-path/siconos-4.4.0+dfsg/numerics/src/FrictionContact -I/build/reproducible-path/siconos-4.4.0+dfsg/numerics/src/FrictionContact/Generated -I/build/reproducible-path/siconos-4.4.0+dfsg/numerics/src/NCP -I/build/reproducible-path/siconos-4.4.0+dfsg/numerics/src/MCP -I/build/reproducible-path/siconos-4.4.0+dfsg/numerics/src/GenericMechanical -I/build/reproducible-path/siconos-4.4.0+dfsg/numerics/src/VI -I/build/reproducible-path/siconos-4.4.0+dfsg/externals/tools -I/build/reproducible-path/siconos-4.4.0+dfsg/kernel/src/. -I/build/reproducible-path/siconos-4.4.0+dfsg/kernel/src/utils -I/build/reproducible-path/siconos-4.4.0+dfsg/kernel/src/utils/SiconosAlgebra -I/build/reproducible-path/siconos-4.4.0+dfsg/kernel/src/utils/SiconosMemory -I/build/reproducible-path/siconos-4.4.0+dfsg/kernel/src/utils/SiconosSharedLibrary -I/build/reproducible-path/siconos-4.4.0+dfsg/kernel/src/utils/SiconosTools -I/build/reproducible-path/siconos-4.4.0+dfsg/kernel/src/utils/ProgressBar -I/build/reproducible-path/siconos-4.4.0+dfsg/kernel/src/plugin -I/build/reproducible-path/siconos-4.4.0+dfsg/kernel/src/modelingTools -I/build/reproducible-path/siconos-4.4.0+dfsg/kernel/src/simulationTools -I/build/reproducible-path/siconos-4.4.0+dfsg/numerics/src -isystem /usr/include/python3.13 -isystem /usr/lib/riscv64-linux-gnu/python3-numpy/numpy/_core/include -isystem /usr/include/suitesparse -g -O2 -ffile-prefix-map=/build/reproducible-path/siconos-4.4.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++17 -fPIC -fno-strict-aliasing -MD -MT kernel/swig/CMakeFiles/_kernel.dir/__/__/wrap/siconos/kernelPYTHON_wrap.cxx.o -MF CMakeFiles/_kernel.dir/__/__/wrap/siconos/kernelPYTHON_wrap.cxx.o.d -o CMakeFiles/_kernel.dir/__/__/wrap/siconos/kernelPYTHON_wrap.cxx.o -c /build/reproducible-path/siconos-4.4.0+dfsg/obj-riscv64-linux-gnu/wrap/siconos/kernelPYTHON_wrap.cxx
> In file included from /build/reproducible-path/siconos-4.4.0+dfsg/obj-riscv64-linux-gnu/wrap/siconos/kernelPYTHON_wrap.cxx:5414:
> /build/reproducible-path/siconos-4.4.0+dfsg/kernel/src/utils/SiconosAlgebra/SiconosVectorIterator.hpp:30:17: warning: ‘template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator’ is deprecated [-Wdeprecated-declarations]
> 30 | : public std::iterator<std::forward_iterator_tag, T>
> | ^~~~~~~~
> In file included from /usr/include/c++/15/bits/stl_algobase.h:65,
> from /usr/include/c++/15/bits/specfun.h:43,
> from /usr/include/c++/15/cmath:3913,
> from /usr/include/c++/15/math.h:36,
> from /usr/include/python3.13/Python.h:23,
> from /build/reproducible-path/siconos-4.4.0+dfsg/obj-riscv64-linux-gnu/wrap/siconos/kernelPYTHON_wrap.cxx:203:
> /usr/include/c++/15/bits/stl_iterator_base_types.h:129:34: note: declared here
> 129 | struct _GLIBCXX17_DEPRECATED iterator
> | ^~~~~~~~
> E: Build killed with signal TERM after 720 minutes of inactivity
>
>
> Workaround:
>
> --- siconos-4.4.0+dfsg/debian/rules 2025-11-19 17:55:47.000000000 +0200
> +++ siconos-4.4.0+dfsg/debian/rules 2025-11-22 21:13:29.000000000 +0200
> @@ -7,6 +7,11 @@
>
> export DEB_BUILD_MAINT_OPTIONS=hardening=+bindnow
>
> +# avoid builds timing out on the buildds
> +ifneq (,$(filter $(DEB_HOST_ARCH), riscv64))
> + export DEB_CXXFLAGS_MAINT_APPEND += -g1
> +endif
> +
> # If SALSABUILD is set we want to drop debug info as well
> ifneq ($(SALSABUILD),)
> export DEB_CXXFLAGS_MAINT_APPEND += -g0
More information about the debian-science-maintainers
mailing list