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 <[email protected]> wrote:
>
> Source: siconos
> Version: 4.4.0+dfsg-5
> Severity: serious
> Tags: ftbfs patch
> X-Debbugs-Cc: [email protected]
> User: [email protected]
> 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

Reply via email to