In Debian testing running on Ryzen 9 + 64 GB RAM, building 10.9.beta1 from a fresh clone of the git repository, with /configure --enable-dot2tex --enable-mtools --enable-fricas --enable-giac --with-system-fricas=no --with-system-giac=no, ptestlong gives 6 permanent failures :
--------------------------------------------------------------------- src/bin/sage -t --long --warn-long 30.0 --random-seed=103198921344494641633707050883315226248 src/sage/graphs/generic_graph.py # SystemExit in doctesting framework src/bin/sage -t --long --warn-long 30.0 --random-seed=103198921344494641633707050883315226248 src/sage/graphs/graph_latex.py # SystemExit in doctesting framework src/bin/sage -t --long --warn-long 30.0 --random-seed=103198921344494641633707050883315226248 src/sage/misc/latex_standalone.py # SystemExit in doctesting framework src/bin/sage -t --long --warn-long 30.0 --random-seed=103198921344494641633707050883315226248 src/sage/rings/real_mpfr.pyx # 1 doctest failed src/bin/sage -t --long --warn-long 30.0 --random-seed=103198921344494641633707050883315226248 src/sage/rings/polynomial/multi_polynomial_ideal.py # 2 doctests failed src/bin/sage -t --long --warn-long 30.0 --random-seed=103198921344494641633707050883315226248 src/sage/rings/polynomial/msolve.py # 14 doctests failed ----------------------------------------------------------------------The first three are attrubutable to a (new) failure of dot2tex, which, in these three cases, end up with :
3.13/site-packages/dot2tex/dot2tex.py", line 784, in convert sys.exit(1) ~~~~~~~~^^^ SystemExit: 1The other three have been already reported several times. It is noteworthy that the multi_polynomial_ideal.py, which failed to recognize the mathematical identity of two string expressions of the same solution was supposed to be fixed ; it is not, but I get different failures :
File "src/sage/rings/polynomial/multi_polynomial_ideal.py", line 2618, in sage.rings.polynomial.multi_polynomial_ideal.?.variety Failed example: sorted(I.variety(algorithm='msolve', # optional - msolve, needs sage.rings.finite_rings proof=False), key=lambda d: str(sorted(d.items())) Exception raised: Traceback (most recent call last): File "/usr/local/sage-10.9.beta1/src/sage/doctest/forker.py", line 734, in _run self.compile_and_execute(example, compiler, test.globs) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/sage-10.9.beta1/src/sage/doctest/forker.py", line 1156, in compile_and_execute compiled = compiler(example) File "/usr/local/sage-10.9.beta1/src/sage/doctest/forker.py", line 700, in compiler code = compile(example.source, filename, "single", compileflags, 1) File "<doctest sage.rings.polynomial.multi_polynomial_ideal.?.variety[32]>", line 1 sorted(I.variety(algorithm='msolve', # optional - msolve, needs sage.rings.finite_rings ^ SyntaxError: '(' was never closed ********************************************************************** File "src/sage/rings/polynomial/multi_polynomial_ideal.py", line 2631, in sage.rings.polynomial.multi_polynomial_ideal.?.variety Failed example: I.variety(algorithm='msolve', proof=False) # optional - msolve Expected: Traceback (most recent call last): ... NotImplementedError: characteristic 3 too small Got: <BLANKLINE> Traceback (most recent call last): File "/usr/local/sage-10.9.beta1/src/sage/rings/polynomial/msolve.py", line 249, in variety data = sage_eval(msolve_out[:-2]) File "/usr/local/sage-10.9.beta1/src/sage/misc/sage_eval.py", line 187, in sage_eval return eval(source, sage.all.__dict__, locals) File "<string>", line 0 <BLANKLINE> SyntaxError: invalid syntax <BLANKLINE> During handling of the above exception, another exception occurred: <BLANKLINE> Traceback (most recent call last): File "/usr/local/sage-10.9.beta1/src/sage/doctest/forker.py", line 734, in _run self.compile_and_execute(example, compiler, test.globs) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/sage-10.9.beta1/src/sage/doctest/forker.py", line 1158, in compile_and_execute exec(compiled, globs) ~~~~^^^^^^^^^^^^^^^^^ File "<doctest sage.rings.polynomial.multi_polynomial_ideal.?.variety[35]>", line 1, in <module> I.variety(algorithm='msolve', proof=False) # optional - msolve ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/sage-10.9.beta1/src/sage/rings/polynomial/multi_polynomial_ideal.py", line 304, in __call__ return self.f(self._instance, *args, **kwds) ~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/sage-10.9.beta1/src/sage/rings/polynomial/multi_polynomial_ideal.py", line 2652, in variety return msolve.variety(self, ring, proof=proof) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/sage-10.9.beta1/src/sage/rings/polynomial/msolve.py", line 251, in variety raise NotImplementedError(f"unsupported msolve output format: {data}") ^^^^ UnboundLocalError: cannot access local variable 'data' where it is not associated with a value ********************************************************************** 1 item had failures: 2 of 37 in sage.rings.polynomial.multi_polynomial_ideal.?.variety [975 tests, 2 failures, 3.24s wall] ---------------------------------------------------------------------- src/bin/sage -t --long --warn-long 30.0 --random-seed=103198921344494641633707050883315226248 src/sage/rings/polynomial/multi_polynomial_ideal.py # 2 doctests failed ----------------------------------------------------------------------Furthermore :
sage: integrate(cos(x), x) sin(x) sage: integrate(cos(x), x, algorithm="maxima") sin(x) sage: integrate(cos(x), x, algorithm="sympy") sin(x) sage: integrate(cos(x), x, algorithm="fricas") sin(x) sage: integrate(cos(x), x, algorithm="giac") integrate(cos(x), x)The latter is intriguing…
HTH,
Le lundi 29 décembre 2025 à 20:01:41 UTC+1, Emmanuel Charpentier a écrit :
[ Snip… ]
sage: integrate(cos(x), x, algorithm="fricas") sin(x) sage: integrate(cos(x), x, algorithm="giac") integrate(cos(x), x)The latter is intriguing…
Even more intriguing : trying to reproduce gives yet another error :
sage: integrate(cos(x), algorithm="giac") --------------------------------------------------------------------------- ModuleNotFoundError Traceback (most recent call last) File /usr/local/sage-10.9.beta1/src/sage/symbolic/integration/external.py:251, in libgiac_integrator(expression, v, a, b) 250 try: --> 251 from sage.libs.giac import libgiac 252 except ImportError: 253 # If libgiac is not available, return a symbolic answer 254 # (without actually integrating anything). This is essentially 255 # the failure case of any integration: see below for what we 256 # do if libgiac is *available* but unable to do much. File /usr/local/sage-10.9.beta1/src/sage/libs/giac/__init__.py:2 1 # sagemath_giac split its __init__.py into these two ----> 2 from sagemath_giac.gb import * 3 from sagemath_giac.context import * ModuleNotFoundError: No module named 'sagemath_giac' During handling of the above exception, another exception occurred: TypeError Traceback (most recent call last) File sage/symbolic/function.pyx:537, in sage.symbolic.function.Function.__call__() File sage/structure/parent.pyx:1189, in sage.structure.parent.Parent.coerce() File sage/structure/parent.pyx:1219, in sage.structure.parent.Parent.coerce() TypeError: no canonical coercion from <class 'NoneType'> to Symbolic Ring During handling of the above exception, another exception occurred: TypeError Traceback (most recent call last) Cell In[1], line 1 ----> 1 integrate(cos(x), algorithm="giac") File /usr/local/sage-10.9.beta1/src/sage/misc/functional.py:789, in integral(x, *args, **kwds) 650 """ 651 Return an indefinite or definite integral of an object ``x``. 652 (...) 786 0 787 """ 788 if hasattr(x, 'integral'): --> 789 return x.integral(*args, **kwds) 790 else: 791 from sage.symbolic.ring import SR File sage/symbolic/expression.pyx:13184, in sage.symbolic.expression.Expression.integral() File /usr/local/sage-10.9.beta1/src/sage/symbolic/integration/integral.py:1067, in integrate(expression, v, a, b, algorithm, hold) 1065 if not integrator: 1066 raise ValueError("Unknown algorithm: %s" % algorithm) -> 1067 return integrator(expression, v, a, b) 1068 if a is None: 1069 return indefinite_integral(expression, v, hold=hold) File /usr/local/sage-10.9.beta1/src/sage/symbolic/integration/external.py:257, in libgiac_integrator(expression, v, a, b) 251 from sage.libs.giac import libgiac 252 except ImportError: 253 # If libgiac is not available, return a symbolic answer 254 # (without actually integrating anything). This is essentially 255 # the failure case of any integration: see below for what we 256 # do if libgiac is *available* but unable to do much. --> 257 return expression.integrate(v, a, b, hold=True) 259 from sage.libs.giac.giac import Pygen 260 # We call Pygen on first argument because otherwise some 261 # expressions involving derivatives result in doctest failures in 262 # sage/interfaces/sympy.py File sage/symbolic/expression.pyx:13184, in sage.symbolic.expression.Expression.integral() File /usr/local/sage-10.9.beta1/src/sage/symbolic/integration/integral.py:1069, in integrate(expression, v, a, b, algorithm, hold) 1067 return integrator(expression, v, a, b) 1068 if a is None: -> 1069 return indefinite_integral(expression, v, hold=hold) 1070 else: 1071 return definite_integral(expression, v, a, b, hold=hold) File sage/symbolic/function.pyx:1061, in sage.symbolic.function.BuiltinFunction.__call__() File sage/symbolic/function.pyx:550, in sage.symbolic.function.Function.__call__() TypeError: cannot coerce arguments: no canonical coercion from <class 'NoneType'> to Symbolic RingBut :
sage: cos(x)._giac_().integrate(x._giac_())._sage_() sin(x)The problem seems to be in the Sage-Giac interface, not in giac… The key hint seems to be
ModuleNotFoundError: No module named 'sagemath_giac'HTH,
Yet another snag :
After time ./configure --enable-dot2tex --enable-mtools --enable-fricas --enable-giac --enable-sagemath_giac --enable-msolve --with-system-giac=no --with-system-fricas=no, make fails :
Error building Sage.
The following package(s) may have failed to build (not necessarily
during this run of 'make all-start'):
* package: primecountpy-0.1.1
last build time: 30 déc. 18:15
log file: /usr/local/sage-10.9.beta1/logs/pkgs/primecountpy-0.1.1.log
This last log points to something that looks like a C++ overloading problem to my C++-ignorant eyes...
Enclosed : a tarball of the config and the relevant logs.