Bug#1121341: siconos FTBFS on riscv64: Build killed with signal TERM after 720 minutes of inactivity
Adrian Bunk
bunk at debian.org
Thu Nov 27 19:06:15 GMT 2025
On Thu, Nov 27, 2025 at 04:39:58PM +0100, Stephen Sinclair wrote:
>...
> The proposed solution doesn't really make sense to me, I do not see
> why adding -g1 would drastically affect the build time.
>...
> 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.
>...
What you are missing is that for such code it is not unusual that a
large part of build time and memory usage is for generating debug
information.
For some C++ code the build time of packages more than doubled on
riscv64 with GCC 15 just due to one suboption of -g:
https://lists.debian.org/debian-riscv/2025/09/msg00017.html
https://lists.debian.org/debian-riscv/2025/09/msg00019.html
Debug info is useful and should be available, but having less available
on a fringe architecture is a reasonable tradeoff for fixing a build.
>...
> 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.
>...
Yes, it is a band-aid.
On the porterbox (identical HW as the buildds) I got the file that
didn't build in 12 hours on the buildd built in 2 hours with -g1.
That's still more time for one file than the whole package on the other
architectures, but for now we have to live with the slow riscv64 buildds.
>...
> 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.
>...
On amd64 I got a 20% reduction of siconos build time with
export DEB_CXXFLAGS_MAINT_APPEND += -g1
Not as impressive as what happens on riscv64, but this is something you
could try for seeing that -g1 does make a measurable difference.
> Steve
cu
Adrian
> 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