Yes, by all means, please make giac optional.

On Wednesday, February 19, 2025 at 5:40:03 PM UTC-6 Michael Orlitzky wrote:

> Hi, I've separated sage.libs.giac into its own package, and would like
> to downgrade giac to optional at the same time the new package is
> added, cf.
>
> * https://github.com/sagemath/sagemath-giac
> * https://github.com/sagemath/sage/pull/39376
>
> tl;dr now is the time to object.
>
> The reason for this, and the reason why I am working on this in the
> first place, is because giac no longer builds and runs reliably. It
> fails:
>
> * On riscv systems
> * On systems with a hardened glibcxx
> * On macos M2 (according to Volker)
> * With gcc-15, due out in the next few months
>
> There is "inertia" with respect to getting any of these fixed. For
> myself, the list above now covers 100% of the machines that I use on a
> daily basis. And since libgiac is linked with sage, having giac as an
> unconditional dependency makes it very difficult to use sage.
> (Thankfully, giac is already optional when using meson to build sage.)
>
> On any of those systems, we need a way to disable giac and the
> sage.libs.giac integration. That's the motivation for the new
> package/PR. The remaining question is, do we leave giac and
> sagemath-giac as standard, and tell everyone who experiences problems
> to disable it? (We would also need a mechanism to disable it.) Or do
> we make it optional, and let the people who use it enable it?
>
> Currently the PR makes it optional. I think there are some good
> arguments for this:
>
> 1. It used to be optional a few years ago. We moved it into sagelib
> to avoid a circular dependency between sagelib -> sagemath-giac
> -> sagelib, but now there is no circular dependency. All integration
> backends are "optional" because we run through the list and skip
> any that don't return a result.
>
> 2. It's already optional when you use meson to build sagelib, so this
> makes the two approaches consistent.
>
> 3. We don't lose any killer features, only a few clever integrals
> that maxima/sympy can't solve.
>
> 4. It makes us look bad when things fail and we have to tell people
> on the mailing list how to work around it.
>
> 5. Build time goes down.
>
> 6. Sage is less likely to break during "apt-get upgrade" or
> equivalent.
>
> 7. If you want it back, "make sagemath_giac" or ./configure
> --enable-sagemath_giac only take a minute.
>
> On the other hand the biggest downside is that if someone was using
> libgiac directly in their own code or was relying on it for some
> indefinite integrals, then they are probably going to be confused when
> it isn't there in the next release. It's easy to fix, but they're
> going to have to ask what happened first, and obviously that hits (4)
> above too. FWIW I would write this all up in the release notes.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/sage-devel/89998397-62aa-4015-aad1-fb871e9c328cn%40googlegroups.com.

Reply via email to