Sage 10.2.rc4 released

184 views
Skip to first unread message

Volker Braun

unread,
Nov 17, 2023, 7:07:40 PM11/17/23
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


f10820ff877 (tag: 10.2.rc4, github/develop) Updated SageMath version to 10.2.rc4
dcd23be6c05 gh-36723: .github/workflows/macos.yml: Fix syntax
95ed1d0bfab gh-36722: `openblas`: Update to 0.3.25
3767a2695d6 gh-36712: `opensuse-tumbleweed-minimal`: Ensure gawk is present
69e70531051 gh-36617: CI: Make jobs more responsive to canceling
fa5c9395d3e (tag: 10.2.rc3) Updated SageMath version to 10.2.rc3

Emmanuel Charpentier

unread,
Nov 20, 2023, 11:04:58 AM11/20/23
to sage-r...@googlegroups.com
On Debian testing running on core i7 + 16 GB RAM, upgrading from 10.2.rc2 to 10.2.rc4 fails ; the error seems to be triggered by the documentation of 3D plots. Log enclosed.

HTH,


install.log

Emmanuel Charpentier

unread,
Nov 21, 2023, 12:47:14 AM11/21/23
to sage-release
Le lundi 20 novembre 2023 à 17:04:58 UTC+1, Emmanuel Charpentier a écrit :

On Debian testing running on core i7 + 16 GB RAM, upgrading from 10.2.rc2 to 10.2.rc4 fails ; the error seems to be triggered by the documentation of 3D plots. Log enclosed.

I'm still stuck. Suggestions ? 

Emmanuel Charpentier

unread,
Nov 21, 2023, 1:24:57 AM11/21/23
to sage-release

Data point : in the resultin interpreter, from the command line :

charpent@zen-book-flip:~$ sage ┌────────────────────────────────────────────────────────────────────┐ │ SageMath version 10.2.rc4, Release Date: 2023-11-17 │ │ Using Python 3.11.6. Type "help()" for help. │ └────────────────────────────────────────────────────────────────────┘ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Warning: this is a prerelease version, and it may be unstable. ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ sage: -log(1-x).series(x).simplify() --------------------------------------------------------------------------- RuntimeError Traceback (most recent call last) Cell In [1], line 1 ----> 1 -log(Integer(1)-x).series(x).simplify() File /usr/local/sage-10/src/sage/symbolic/expression.pyx:10651, in sage.symbolic.expression.Expression.simplify() 10649 """ 10650 if algorithm == "maxima": > 10651 return self._parent(self._maxima_()) 10652 if algorithm == "sympy": 10653 return self._sympy_().simplify(**kwds)._sage_() File /usr/local/sage-10/src/sage/symbolic/expression.pyx:1228, in sage.symbolic.expression.Expression._maxima_() 1226 # Maybe not such a great idea because the "default" interface is another one 1227 from sage.calculus.calculus import maxima -> 1228 return super()._interface_(maxima) 1229 else: 1230 return super()._interface_(session) File /usr/local/sage-10/src/sage/structure/sage_object.pyx:713, in sage.structure.sage_object.SageObject._interface_() 711 except (KeyError, ValueError): 712 pass --> 713 nm = I.name() 714 init_func = getattr(self, '_%s_init_' % nm, None) 715 if init_func is not None: File /usr/local/sage-10/src/sage/misc/lazy_import.pyx:377, in sage.misc.lazy_import.LazyImport.__getattr__() 375 True 376 """ --> 377 return getattr(self.get_object(), attr) 378 379 # We need to wrap all the slot methods, as they are not forwarded File /usr/local/sage-10/src/sage/misc/lazy_import.pyx:225, in sage.misc.lazy_import.LazyImport.get_object() 223 if likely(self._object is not None): 224 return self._object --> 225 return self._get_object() 226 227 cpdef _get_object(self) noexcept: File /usr/local/sage-10/src/sage/misc/lazy_import.pyx:262, in sage.misc.lazy_import.LazyImport._get_object() 260 feature = self._feature 261 try: --> 262 self._object = getattr(__import__(self._module, {}, {}, [self._name]), self._name) 263 except ImportError as e: 264 if feature: File /usr/local/sage-10/src/sage/interfaces/maxima_lib.py:135 133 ecl_eval("(require 'maxima \"{}\")".format(MAXIMA_FAS)) 134 else: --> 135 ecl_eval("(require 'maxima)") 136 ecl_eval("(in-package :maxima)") 137 ecl_eval("(set-locale-subdir)") File /usr/local/sage-10/src/sage/libs/ecl.pyx:1350, in sage.libs.ecl.ecl_eval() 1348 1349 #convenience routine to more easily evaluate strings -> 1350 cpdef EclObject ecl_eval(str s) noexcept: 1351 r""" 1352 Read and evaluate string in Lisp and return the result File /usr/local/sage-10/src/sage/libs/ecl.pyx:1373, in sage.libs.ecl.ecl_eval() 1371 """ 1372 cdef cl_object o -> 1373 o=ecl_safe_eval(python_to_ecl(s, True)) 1374 return ecl_wrap(o) 1375 File /usr/local/sage-10/src/sage/libs/ecl.pyx:321, in sage.libs.ecl.ecl_safe_eval() 319 raise KeyboardInterrupt("ECL says: {}".format(message)) 320 else: --> 321 raise RuntimeError("ECL says: {}".format(message)) 322 else: 323 return ret RuntimeError: ECL says: Module error: Don't know how to REQUIRE MAXIMA.

Aaaarghhh…

Thierry Dumont

unread,
Nov 21, 2023, 1:42:26 AM11/21/23
to sage-r...@googlegroups.com

For me:
-Debian testing, up to date
-upgraded from 10.2 rc3 (NO make distclean)
it works:

┌────────────────────────────────────────────────────────────────────┐
│ SageMath version 10.2.rc4, Release Date: 2023-11-17 │
│ Using Python 3.11.6. Type "help()" for help. │
└────────────────────────────────────────────────────────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Warning: this is a prerelease version, and it may be unstable. ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
sage: -log(1-x).series(x).simplify()
1/19*x^19 + 1/18*x^18 + 1/17*x^17 + 1/16*x^16 + 1/15*x^15 + 1/14*x^14 +
1/13*x^13 + 1/12*x^12 + 1/11*x^11 + 1/10*x^10 + 1/9*x^9 + 1/8*x^8 +
1/7*x^7 + 1/6*x^6 + 1/5*x^5 + 1/4*x^4 + 1/3*x^3 + 1/2*x^2 + x - Order(x^20)
sage:
> --
> You received this message because you are subscribed to the Google
> Groups "sage-release" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to sage-release...@googlegroups.com
> <mailto:sage-release...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sage-release/fb54b1a9-0881-473e-8863-c725e4ba2550n%40googlegroups.com <https://groups.google.com/d/msgid/sage-release/fb54b1a9-0881-473e-8863-c725e4ba2550n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Eric Gourgoulhon

unread,
Nov 21, 2023, 9:00:58 AM11/21/23
to sage-release
On Ubuntu 22.04 running on Xeon E5-2623 + 16 GB RAM:
- incremental build (-j16) from 10.2.rc3, with system python (3.10.12): OK
- make ptestlong fails on src/sage/libs/giac/__init__.py:

sage -t --long --warn-long 65.0 --random-seed=323086059437776029516383333175933820216 src/sage/libs/giac/__init__.py
    Timed out (and interrupt failed)
**********************************************************************
Tests run before process (pid=136357) timed out:
sage: from sage.libs.giac import groebner_basis as gb_giac # random ## line 15 ##
sage: P = PolynomialRing(QQ, 6, 'x') ## line 16 ##
sage: I = sage.rings.ideal.Cyclic(P) ## line 17 ##
sage: B = gb_giac(I.gens()) # random ## line 18 ##
// Groebner basis computation time 0.086224 Memory 220.92M
sage: B ## line 19 ##
Polynomial Sequence with 45 Polynomials in 6 Variables
sage: sig_on_count() # check sig_on/off pairings (virtual doctest) ## line 21 ##
0
sage: from sage.libs.giac import GiacSettingsDefaultContext ## line 55 ##
sage: from sage.libs.giac.giac import giacsettings ## line 56 ##
sage: giacsettings.proba_epsilon = 1e-16 ## line 57 ##
sage: with GiacSettingsDefaultContext(): giacsettings.proba_epsilon = 1e-12 ## line 58 ##
sage: giacsettings.proba_epsilon < 1e-14 ## line 59 ##
True
sage: sig_on_count() # check sig_on/off pairings (virtual doctest) ## line 62 ##
0
sage: from sage.libs.giac import GiacSettingsDefaultContext ## line 72 ##
sage: from sage.libs.giac.giac import giacsettings ## line 73 ##
sage: giacsettings.proba_epsilon = 1e-16 ## line 74 ##
sage: with GiacSettingsDefaultContext(): giacsettings.proba_epsilon = 1e-30 ## line 75 ##
sage: giacsettings.proba_epsilon < 1e-20 ## line 76 ##
False
sage: sig_on_count() # check sig_on/off pairings (virtual doctest) ## line 79 ##
0
sage: def testf(a,b):
   giacsettings.proba_epsilon = a/100
   giacsettings.threads = b+2
   return (giacsettings.proba_epsilon, giacsettings.threads) ## line 93 ##
sage: from sage.libs.giac.giac import giacsettings ## line 98 ##
sage: from sage.libs.giac import local_giacsettings ## line 99 ##
sage: gporig, gtorig = (giacsettings.proba_epsilon,giacsettings.threads) ## line 100 ##
sage: gp, gt = local_giacsettings(testf)(giacsettings.proba_epsilon,giacsettings.threads) ## line 101 ##
sage: gporig == giacsettings.proba_epsilon ## line 102 ##
True
sage: gtorig == giacsettings.threads ## line 104 ##
True
sage: gp<gporig, gt-gtorig ## line 106 ##
(True, 2)
sage: sig_on_count() # check sig_on/off pairings (virtual doctest) ## line 109 ##
0
sage: from sage.libs.giac import groebner_basis as gb_giac ## line 172 ##
sage: P = PolynomialRing(GF(previous_prime(2**31)), 6, 'x') ## line 173 ##
sage: I = sage.rings.ideal.Cyclic(P) ## line 174 ##
sage: B = gb_giac(I.gens()) ## line 175 ##
// Groebner basis computation time 0.006535 Memory 224.428M
sage: B ## line 177 ##
Polynomial Sequence with 45 Polynomials in 6 Variables
sage: B.is_groebner() ## line 179 ##
True
sage: P = PolynomialRing(GF(previous_prime(2**31)), 5, 'x') ## line 184 ##
sage: I = sage.rings.ideal.Cyclic(P) ## line 185 ##
sage: B = gb_giac(I.gens(), elim_variables=[P.gen(0), P.gen(2)]) ## line 186 ##
// Groebner basis computation time 0.002132 Memory 232.008M
sage: B.is_groebner() ## line 188 ##
True
sage: B.ideal() == I.elimination_ideal([P.gen(0), P.gen(2)]) ## line 190 ##
True
sage: P = PolynomialRing(QQ,5, 'x') ## line 197 ##
sage: I = ideal([P.random_element(3,7) for j in range(5)]) ## line 198 ##
sage: B1 = gb_giac(I.gens(),1e-16) # long time (1s) ## line 199 ##
0.615601 adding reconstructed ideal generators 16 (reconpart 0.225352 prev 0 augment 0.2 recon_count 6 th 1 recon_n2 16 V[i] 71)
0.616262 # new ideal generators 17
1.97683 adding reconstructed ideal generators 38 (reconpart 0.535211 prev 0.225352 augment 0.2 recon_count 51 th 1 recon_n2 38 V[i] 71)
1.98659 # new ideal generators 39
2.55585 adding reconstructed ideal generators 63 (reconpart 0.887324 prev 0.535211 augment 0.2 recon_count 15 th 1 recon_n2 63 V[i] 71)
2.57503 # new ideal generators 64
------------------------------------------------------------------------
/home/eric/sage/10.2/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/cysignals/signals.cpython-310-x86_64-linux-gnu.so(+0x93c4)[0x7fb16013b3c4]
/home/eric/sage/10.2/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/cysignals/signals.cpython-310-x86_64-linux-gnu.so(+0x9486)[0x7fb16013b486]
/home/eric/sage/10.2/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/cysignals/signals.cpython-310-x86_64-linux-gnu.so(+0xc871)[0x7fb16013e871]
/lib/x86_64-linux-gnu/libc.so.6(+0x42520)[0x7fb161572520]
/lib/x86_64-linux-gnu/libgmp.so.10(__gmpn_divexact_1+0x88)[0x7fb1607d1a28]
------------------------------------------------------------------------
Attaching gdb to process id 136357.

**********************************************************************
----------------------------------------------------------------------
sage -t --long --warn-long 65.0 --random-seed=323086059437776029516383333175933820216 src/sage/libs/giac/__init__.py  # Timed out (and interrupt failed)
----------------------------------------------------------------------

This is a permanent error: running the command
./sage -t --long --warn-long 65.0 --random-seed=323086059437776029516383333175933820216 src/sage/libs/giac/__init__.py
from a terminal seems to hang for ever (still not finished after 20 min, while I am writing this message).

There was no such issue on the same computer with Sage 10.2.rc3 (make ptestlong was successful).

Eric.

Eric Gourgoulhon

unread,
Nov 21, 2023, 9:05:11 AM11/21/23
to sage-release
Le mardi 21 novembre 2023 à 07:42:26 UTC+1, tdumont a écrit :

For me:
-Debian testing, up to date
-upgraded from 10.2 rc3 (NO make distclean)
it works:

sage: -log(1-x).series(x).simplify()
1/19*x^19 + 1/18*x^18 + 1/17*x^17 + 1/16*x^16 + 1/15*x^15 + 1/14*x^14 +
1/13*x^13 + 1/12*x^12 + 1/11*x^11 + 1/10*x^10 + 1/9*x^9 + 1/8*x^8 +
1/7*x^7 + 1/6*x^6 + 1/5*x^5 + 1/4*x^4 + 1/3*x^3 + 1/2*x^2 + x - Order(x^20)


Same here (Ubuntu 22.04): it works with Sage 10.2.rc4, upgraded from 10.2.rc3.

Eric.

Matthias Köppe

unread,
Nov 21, 2023, 11:55:09 AM11/21/23
to sage-release
Try "make sage_conf-no-deps"

Emmanuel Charpentier

unread,
Nov 21, 2023, 5:21:57 PM11/21/23
to sage-release

Le mardi 21 novembre 2023 à 17:55:09 UTC+1, matthia…@gmail.com a écrit :

Try "make sage_conf-no-deps"

This worked (in the sense of make -j8 claiming to have completed the upgrade). Thank you very much !

I have been unable to fond any reference to this target in the Sage developer’s guide (as published for 10.1). Care to give some explanation ?

make -j8 ptestlong underway…

Matthias Köppe

unread,
Nov 21, 2023, 5:46:30 PM11/21/23
to sage-release
On Tuesday, November 21, 2023 at 2:21:57 PM UTC-8 emanuel.c...@gmail.com wrote:

Le mardi 21 novembre 2023 à 17:55:09 UTC+1, matthia…@gmail.com a écrit :

Try "make sage_conf-no-deps"

This worked (in the sense of make -j8 claiming to have completed the upgrade). Thank you very much !

I have been unable to fond any reference to this target in the Sage developer’s guide (as published for 10.1). Care to give some explanation ?

Information regarding maxima (the location of the fasl file) is passed to the Sage runtime via "sage_conf". On incremental builds, the installation of "sage_conf" seems to sometimes disappear; the precise mechanism for this bug is not yet understood.

Emmanuel Charpentier

unread,
Nov 22, 2023, 12:45:15 AM11/22/23
to sage-release
Thank you !

Emmanuel Charpentier

unread,
Nov 22, 2023, 12:48:33 AM11/22/23
to sage-release

After Matthia’s fix, ptestlong passes with the single permanent failure :

sage -t --long --warn-long 205.6 --random-seed=168315593241859201694321037004705360542 src/sage/functions/special.py # 2 doctests failed

already reported for a fiew betas.

HTH,

Reply all
Reply to author
Forward
0 new messages