Sage 10.9.beta7 released

40 views
Skip to first unread message

Volker Braun

unread,
Feb 25, 2026, 6:36:09 PM (5 days ago) Feb 25
to sage-release
As always, you can get the latest beta version from the "develop" git branch. Alternatively, the self-contained source tarball is at http://www.sagemath.org/download-latest.html


e37154cba14 (tag: 10.9.beta7, github/develop) Updated SageMath version to 10.9.beta7
f145d866c87 gh-41669: Fix the release trigger workflow name.
b9fb9553413 gh-41666: Deprecate sage.misc.sage_ostools.have_program()
7ea9baeefaa gh-41662: partial cython-lint cleanup in matrix/
0197fbe5abb gh-41661: use the correct name Erdős
f72920da31e gh-41660: cylint cleanup of Weil polynomials
2ba1ed5a7fc gh-41659: √élu: minor typo in docstring, plus Velu→Vélu
a9ac9b03d14 gh-41658: cython-lint cleanup in calculus and coding
c7e04df95e6 gh-41654: Fix PresentationComplex not working for certain groups
076afe00a0d gh-41652: small cleanup in pyx files in combinat
329c90e3978 gh-41651: refactor: collapse `M = <def>; return M` to `return <def>`
14b6130fab8 gh-41649: small cleanup in graphic_matroid
6b20ef9989c gh-41648: pep8 cleanup + typing in indexed_free_monoid
2cc59bd49cf gh-41647: Upload documentation tarballs to GitHub releases
ace54edd993 gh-41645: Remove some modularization docs
2f807091d6e gh-41644: make a doctest in dynamical_semigroup.py clearer
1f993d5d942 gh-41642: Make broken_circuit_complex return immutable SimplicialComplex
08bb0d2aee3 gh-41641: use sets instead of lists in the orbit decomposition
2c9688c2127 gh-41640: remove some deprecated stuff in number_fields
c0841b0a0ee gh-41639: remove one deprecation in logic/
1415e076b11 gh-41638: remove some deprecated stuff in schemes + typing
854ea0e546e gh-41637: Add *.pyi files to the meson.build files for LSP development
c78f432bbe5 gh-41636: Adding number fields for dual schemes
251767f9e69 gh-41633: Fix and enable some ruff PERF rules
3a9d793b86b gh-41632: bump `networkx` to version 3.6.1
b812b70c783 gh-41631: fix docstring in `src/sage/graphs/graph.py`
3fcadcd38ff gh-41630: matroids: use `Py_hash_t` for hashes
16367ebb3bf gh-41629: Delete install_{doc, dict} and lazy_import in combinat/all.py
d0928a9f6f4 gh-41624: Fix doctests related to singular: make them compatible with newer releases of Singular.
8562c126c16 gh-41622: Fix #40355: clarify shortest_vector returns exact SVP solution
fb435c15f11 gh-41620: Bracket ops in GapElement_List with GAP_Enter()/GAP_Leave()
c03c04f4fab gh-41618: Fix link to source installation guide in walkthrough
0fba325d8a9 gh-41616: build/pkgs/libpng: update to 1.6.55
826738456db gh-41608: Clean up two obsolete sagemath-foo references
9dea9ae0ef4 gh-41607: add parameter immutable to graph generators in `world_map.py`
3532450bd69 gh-41606: add parameter immutable to graph generators in `intersection.py`
d8b498add3c gh-41605: add parameter immutable to graph generators in `chessboard.py`
b314c29498f gh-41604: add parameter immutable to graph generators in `smallgraphs.py` (part 12)
b858f5d0f3c gh-41599: add parameter immutable to graph generators in families.py (part 8)
040e568c02a gh-41597: add parameter immutable to graph generators in families.py (part 7)
46ac1ccedd8 gh-41594: add parameter immutable to graph generators in families.py (part 6)
9c0059084ca gh-41593: add parameter immutable to graph generators in families.py (part 5)
cb3ab963240 gh-41573: add parameter immutable to method LCFGraph
c1f4a335586 gh-41572: Fix tests with giac 2.0.0.19
eb3e464f385 gh-41565: workaround for #38481: brute-force the kernel polynomial for bad characteristic-degree pairs
a18bad3ef1a gh-41549: Fix shadowed type annotations of builtins.list
02889124df9 gh-41514: add parameter immutable to graph generators in `smallgraphs.py` (part 9)
a5262245668 gh-41496: Do not inherit from hyperelliptic curves for padic elliptic curve code
3bf3d56be91 gh-41453: Add Unique Hess Jacobian model, and some cleanup to function fields code
5a0e2bb8ec8 gh-41419: introduce the spine of a semidistributive lattice
e878d45c2dd gh-41098: Upgrade pynormaliz to 2.24 and its dependencies
45f5e213d70 gh-40397: macOS: allow to use Accelerate framework instead of OpenBLAS
7faa604a7c6 (tag: 10.9.beta6) Updated SageMath version to 10.9.beta6

Marc Culler

unread,
Feb 28, 2026, 12:58:31 PM (2 days ago) Feb 28
to sage-release
I was able to build 10.9beta7 with gcc 10 in a linux docker image, after removing the new gmp patch for gcc15 compaiibility, which also seems to break gcc 10 compatibility.

However, the documentation build fails on the [knots ] package (and on other packages - that is just the first one).  A traceback for that first failure is pasted from the log below,. (I am not allowed to attach files.) 

I think the relevant part is at the end:

[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/groups/free_group.py", line 741, in __init__
[spkg-install] [knots    ]     gap_group = libgap.FreeGroup(generator_names)
[spkg-install] [knots    ]   File "sage/libs/gap/element.pyx", line 2698, in sage.libs.gap.element.GapElement_Function.__call__
[spkg-install] [knots    ]     GAP_Enter()
[spkg-install] [knots    ] sage.libs.gap.util.GAPError: Error, FreeGroup: function is not yet defined [docutils]

There are similar failures in other plots.  For example:

sage.categories.finite_coxeter_groups.FiniteCoxeterGroups.ParentMethods.permutahedron:50: WARNING: Exception occurred in plotting finite_coxeter_groups-1

I think all of the exceptions I am seeing involve missing GAP functions.  For another example, with a missing method:

[spkg-install] [categorie]   File "sage/libs/gap/element.pyx", line 2698, in sage.libs.gap.element.GapElement_Function.__call__
[spkg-install] [categorie]     GAP_Enter()
[spkg-install] [categorie] sage.libs.gap.util.GAPError: Error, no method found! Error, no 1st choice method found for `RealPart' on 1 arguments [docutils]

- Marc

========================= One full traceback ==========================================

[spkg-install] [knots    ] /var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/knots/knot.py:docstring of sage.knots.knot.Knot:26: WARNING: Exception occurred in plotting knot-1
[spkg-install] [knots    ]  from /var/tmp/sage-10.9/build/sage-distro/src/doc/en/reference/knots/sage/knots/knot.rst:
[spkg-install] [knots    ] Traceback (most recent call last):
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/matplotlib/sphinxext/plot_directive.py", line 552, in _run_code
[spkg-install] [knots    ]     exec(code, ns)
[spkg-install] [knots    ]     ~~~~^^^^^^^^^^
[spkg-install] [knots    ]   File "<string>", line 1, in <module>
[spkg-install] [knots    ]   File "sage/misc/lazy_import.pyx", line 413, in sage.misc.lazy_import.LazyImport.__call__
[spkg-install] [knots    ]     return self.get_object()(*args, **kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/groups/braid.py", line 3659, in BraidGroup
[spkg-install] [knots    ]     return BraidGroup_class(names)
[spkg-install] [knots    ]   File "sage/misc/classcall_metaclass.pyx", line 320, in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__
[spkg-install] [knots    ]     return cls.classcall(cls, *args, **kwds)
[spkg-install] [knots    ]   File "sage/misc/cachefunc.pyx", line 1045, in sage.misc.cachefunc.CachedFunction.__call__
[spkg-install] [knots    ]     w = self.f(*args, **kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/structure/unique_representation.py", line 1195, in __classcall__
[spkg-install] [knots    ]     return super().__classcall__(cls, *args, **options)
[spkg-install] [knots    ]            ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/structure/unique_representation.py", line 598, in __classcall__
[spkg-install] [knots    ]     instance = typecall(cls, *args, **options)
[spkg-install] [knots    ]   File "sage/misc/classcall_metaclass.pyx", line 471, in sage.misc.classcall_metaclass.typecall
[spkg-install] [knots    ]     return (<PyTypeObject*>type).tp_call(cls, args, kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/groups/braid.py", line 2683, in __init__
[spkg-install] [knots    ]     free_group = FreeGroup(names)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/groups/free_group.py", line 700, in FreeGroup
[spkg-install] [knots    ]     return FreeGroup_class(names, **kwds)
[spkg-install] [knots    ]   File "sage/misc/classcall_metaclass.pyx", line 320, in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__
[spkg-install] [knots    ]     return cls.classcall(cls, *args, **kwds)
[spkg-install] [knots    ]   File "sage/misc/cachefunc.pyx", line 1045, in sage.misc.cachefunc.CachedFunction.__call__
[spkg-install] [knots    ]     w = self.f(*args, **kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/structure/unique_representation.py", line 1195, in __classcall__
[spkg-install] [knots    ]     return super().__classcall__(cls, *args, **options)
[spkg-install] [knots    ]            ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/structure/unique_representation.py", line 598, in __classcall__
[spkg-install] [knots    ]     instance = typecall(cls, *args, **options)
[spkg-install] [knots    ]   File "sage/misc/classcall_metaclass.pyx", line 471, in sage.misc.classcall_metaclass.typecall
[spkg-install] [knots    ]     return (<PyTypeObject*>type).tp_call(cls, args, kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/groups/free_group.py", line 741, in __init__
[spkg-install] [knots    ]     gap_group = libgap.FreeGroup(generator_names)
[spkg-install] [knots    ]   File "sage/libs/gap/element.pyx", line 2698, in sage.libs.gap.element.GapElement_Function.__call__
[spkg-install] [knots    ]     GAP_Enter()
[spkg-install] [knots    ] sage.libs.gap.util.GAPError: Error, FreeGroup: function is not yet defined [docutils]
[spkg-install] [knots    ] /var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/knots/knot.py:docstring of sage.knots.knot.Knot.connected_sum:23: WARNING: Exception occurred in plotting knot-2
[spkg-install] [knots    ]  from /var/tmp/sage-10.9/build/sage-distro/src/doc/en/reference/knots/sage/knots/knot.rst:
[spkg-install] [knots    ] Traceback (most recent call last):
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/matplotlib/sphinxext/plot_directive.py", line 552, in _run_code
[spkg-install] [knots    ]     exec(code, ns)
[spkg-install] [knots    ]     ~~~~^^^^^^^^^^
[spkg-install] [knots    ]   File "<string>", line 1, in <module>
[spkg-install] [knots    ]   File "sage/misc/lazy_import.pyx", line 413, in sage.misc.lazy_import.LazyImport.__call__
[spkg-install] [knots    ]     return self.get_object()(*args, **kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/groups/braid.py", line 3659, in BraidGroup
[spkg-install] [knots    ]     return BraidGroup_class(names)
[spkg-install] [knots    ]   File "sage/misc/classcall_metaclass.pyx", line 320, in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__
[spkg-install] [knots    ]     return cls.classcall(cls, *args, **kwds)
[spkg-install] [knots    ]   File "sage/misc/cachefunc.pyx", line 1045, in sage.misc.cachefunc.CachedFunction.__call__
[spkg-install] [knots    ]     w = self.f(*args, **kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/structure/unique_representation.py", line 1195, in __classcall__
[spkg-install] [knots    ]     return super().__classcall__(cls, *args, **options)
[spkg-install] [knots    ]            ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/structure/unique_representation.py", line 598, in __classcall__
[spkg-install] [knots    ]     instance = typecall(cls, *args, **options)
[spkg-install] [knots    ]   File "sage/misc/classcall_metaclass.pyx", line 471, in sage.misc.classcall_metaclass.typecall
[spkg-install] [knots    ]     return (<PyTypeObject*>type).tp_call(cls, args, kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/groups/braid.py", line 2683, in __init__
[spkg-install] [knots    ]     free_group = FreeGroup(names)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/groups/free_group.py", line 700, in FreeGroup
[spkg-install] [knots    ]     return FreeGroup_class(names, **kwds)
[spkg-install] [knots    ]   File "sage/misc/classcall_metaclass.pyx", line 320, in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__
[spkg-install] [knots    ]     return cls.classcall(cls, *args, **kwds)
[spkg-install] [knots    ]   File "sage/misc/cachefunc.pyx", line 1045, in sage.misc.cachefunc.CachedFunction.__call__
[spkg-install] [knots    ]     w = self.f(*args, **kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/structure/unique_representation.py", line 1195, in __classcall__
[spkg-install] [knots    ]     return super().__classcall__(cls, *args, **options)
[spkg-install] [knots    ]            ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/structure/unique_representation.py", line 598, in __classcall__
[spkg-install] [knots    ]     instance = typecall(cls, *args, **options)
[spkg-install] [knots    ]   File "sage/misc/classcall_metaclass.pyx", line 471, in sage.misc.classcall_metaclass.typecall
[spkg-install] [knots    ]     return (<PyTypeObject*>type).tp_call(cls, args, kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/groups/free_group.py", line 741, in __init__
[spkg-install] [knots    ]     gap_group = libgap.FreeGroup(generator_names)
[spkg-install] [knots    ]   File "sage/libs/gap/element.pyx", line 2698, in sage.libs.gap.element.GapElement_Function.__call__
[spkg-install] [knots    ]     GAP_Enter()
[spkg-install] [knots    ] sage.libs.gap.util.GAPError: Error, FreeGroup: function is not yet defined [docutils]

Dima Pasechnik

unread,
Feb 28, 2026, 2:57:11 PM (2 days ago) Feb 28
to sage-r...@googlegroups.com
Why does one need to use an obsolete compiler? Gcc project only supports gcc 13+ nowadays.
We don't test with gcc 10.

Dima
Reply all
Reply to author
Forward
0 new messages