Sage 10.8.beta7 released

54 views
Skip to first unread message

Volker Braun

unread,
Oct 16, 2025, 6:58:24 PM (4 days ago) Oct 16
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

9f905404644 (tag: 10.8.beta7, github/develop) Updated SageMath version to 10.8.beta7
ad729a3fe96 gh-41035: Fix typo in platonic_solids.py
3c8c231a549 gh-41034: bump (tex)info to the the latest version, 7.2
a071a01b5d7 gh-41033: avoid CommutativeRing in plural.pyx
d59117f2744 gh-41031: some details in multi_power_series_rings
11672700725 gh-41025: set full path to sage-num-threads.py in sage-env
192f833a398 gh-41024: fix cardinality of Permutations_setk
057ae85a8cf gh-41023: Fix multiprocessing start method for Python 3.14 compatibility
0eeaf12a0ea gh-41019: less (a,b) = in documentation
a03098411c3 gh-41017: Fix an incorrect comparison in crypto/sbox
6b76b797f2f gh-41012: Fix qfsolve
87ec7fe8968 gh-41007: remove deprecated (legacy) .discrete_log() method for elliptic-curve points
15e671c8998 gh-41006: sage.rings.polynomial.multi_polynomial_libsingular: add one "needs"
1f10016eae7 gh-41004: remove one deprecation in schemes
7233c8b51c2 gh-41003: remove deprecation in manifolds
3b33819ef05 gh-40998: Miscellaneous "long time" additions
eadd203cdad gh-40996: Iteritems no longer
19170785627 gh-40993: fix one ugly code line in classical_geometries.py
797876dbc8e gh-40992: some details in words/morphic.py
8dc18b1e958 gh-40991: refresh our Macaulay2 interface
73c6514be0a gh-40987: Cache is_projective_planar() method for graphs
dc842bb1290 gh-40985: links in qepcad doc
fad5da0cb82 gh-40983: Ensure _charpoly_df is interruptible, take 2
60e33738f81 gh-40981: remove some deprecated material in rings
8ac454cbda1 gh-40979: Convert hold= parameter to bint at function call
146a8ec0940 gh-40972: PEP8 and typing annotations for function fields
5ecdd52ba26 gh-40971: Use pytest for more TestSuite tests
e0953ef23a5 gh-40963: fix issue 40953 with line_graph
f963a766606 gh-40959: some type annotations in comp.py
a65aa7b6664 gh-40923: Remove gmpy2 2.1 pin
0b7384dafbd gh-40907: approximate imaginary-quadratic class numbers using analytic class number formula
994f2cc3722 gh-40888: replace gone in python3.14 FancyURL
76ee377f34d gh-40872: cli: Allow consuming arguments from the command line when running a file
c1228b2e13c gh-40628: support ideals over finite fields where p > 2^29
ada2dbf4f86 gh-40327: Remove sage-conf
7909a2fa762 gh-40223: Implement algorithm=generic_small and algorithm=hybrid for elliptic curve points
2e2d1cf5413 gh-39945: Fixing high complexity canonical_labelling for OrderedTree and BinaryTree
b0a287c63cc gh-39681: Fix eulerian_number(0,0) and eulerian_polynomial(0) to return 1
12c7aa5b6cd gh-39189: Add support for Python 3.13 in conda
4e2319bc162 (tag: 10.8.beta6) Updated SageMath version to 10.8.beta6

David Coudert

unread,
Oct 18, 2025, 9:23:17 AM (2 days ago) Oct 18
to sage-r...@googlegroups.com
Thank you for this new beta version.

Good news: I have been able to successfully install this beta on macOS 15.7.1 with upgraded homebrew.
As usual, I did (in a fresh shell)
make distclean
./bootstrap
source .homebrew-build-env
./configure --enable-system-site-packages --with-python=`which python3.13` --with-system-jupyter_core=no --with-system-platformdirs=no
make build -j4


Bad news: I have some issues

## issue 1

In a sage console, I tried
sage: attach(’somefile.pyx’)

If fails with import error for pkgconfig (see below for complete output)

ModuleNotFoundError: No module named 'pkgconfig'


I don’t understand why as the output of configure was:

pkgconfig:                      using system package; SPKG will not be installed


running `sage -pip install pkgconfig` fixes the issue.



## issue 2

I tried to install tdlib using 
make sagemath_tdlib
./sage -i tdlib
./sage -i sagemath_tdlib
./sage -pip install sagemath-tdlib

The 4 commands are successful, but the result is always the same: feature tdlib is not  detected.






sage: attach(‘/somepath/somefile.pyx')

Compiling /somepath/somefile.pyx...

---------------------------------------------------------------------------

KeyError                                  Traceback (most recent call last)

File sage/misc/cachefunc.pyx:1019, in sage.misc.cachefunc.CachedFunction.__call__()


KeyError: ((), ())


During handling of the above exception, another exception occurred:


ModuleNotFoundError                       Traceback (most recent call last)

Cell In[3], line 1

----> 1 sage.repl.load.load(sage.repl.load.base64.b64decode("L1VzZXJzL2Rjb3VkZXJ0L0NvZGUvdGVsYWdyby9wZXJjb2xhdGlvbi5weXg="),globals(),True)


File ~/sage/src/sage/repl/load.py:293, in load(filename, globals, attach)

    291     if attach:

    292         add_attached_file(fpath)

--> 293     exec(load_cython(fpath), globals)

    294 elif ext in ['.f', '.f90']:

    295     from sage.misc.inline_fortran import fortran


File ~/sage/src/sage/repl/load.py:71, in load_cython(name)

     58 """

     59 Helper function to load a Cython file.

     60 

   (...)

     68   module.

     69 """

     70 from sage.misc.cython import cython

---> 71 mod, dir = cython(str(name), compile_message=True, use_cache=True)

     72 import sys

     73 sys.path.append(dir)


File ~/sage/src/sage/misc/cython.py:354, in cython(filename, verbose, compile_message, use_cache, create_local_c_file, annotate, view_annotate, view_annotate_callback, sage_namespace, create_local_so_file)

    350 shutil.copy(filename, pyxfile)

    352 # Add current working directory to includes. This is needed because

    353 # we cythonize from a different directory. See Issue #24764.

--> 354 standard_libs, standard_libdirs, standard_includes, aliases = _standard_libs_libdirs_incdirs_aliases()

    355 includes = [os.getcwd()] + standard_includes

    357 # Now do the actual build, directly calling Cython and distutils


File sage/misc/cachefunc.pyx:1024, in sage.misc.cachefunc.CachedFunction.__call__()


File ~/sage/src/sage/misc/cython.py:52, in _standard_libs_libdirs_incdirs_aliases()

     38 @cached_function

     39 def _standard_libs_libdirs_incdirs_aliases():

     40     r"""

     41     Return the list of libraries and library directories.

     42 

   (...)

     50          {...})

     51     """

---> 52     aliases = cython_aliases()

     53     standard_libs = [

     54         'mpfr', 'gmp', 'gmpxx', 'pari', 'm',

     55         'ec', 'gsl',

     56     ] + aliases["CBLAS_LIBRARIES"] + [

     57         'ntl']

     58     standard_libdirs = []


File ~/sage/src/sage/env.py:397, in cython_aliases(required_modules, optional_modules)

    345 """

    346 Return the aliases for compiling Cython code. These aliases are

    347 macros which can occur in ``# distutils`` headers.

   (...)

    393     435

    394 """

    395 import itertools

--> 397 import pkgconfig

    399 if required_modules is None:

    400     required_modules = default_required_modules


ModuleNotFoundError: No module named 'pkgconfig'

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.
To view this discussion visit https://groups.google.com/d/msgid/sage-release/5bfe4fc4-b95c-47e2-aa45-01d26ed2424fn%40googlegroups.com.

Dima Pasechnik

unread,
Oct 18, 2025, 3:20:58 PM (2 days ago) Oct 18
to sage-r...@googlegroups.com, David Coudert
On Sat, Oct 18, 2025 at 8:23 AM David Coudert <david....@gmail.com> wrote:
Thank you for this new beta version.

Good news: I have been able to successfully install this beta on macOS 15.7.1 with upgraded homebrew.
As usual, I did (in a fresh shell)
make distclean
./bootstrap
source .homebrew-build-env
./configure --enable-system-site-packages --with-python=`which python3.13` --with-system-jupyter_core=no --with-system-platformdirs=no
make build -j4


Bad news: I have some issues

## issue 1

In a sage console, I tried
sage: attach(’somefile.pyx’)

I tried this with a toy (just one Python function)  ’somefile.pyx’ and it just worked.
I guess we might need true reproducer of this from you.


If fails with import error for pkgconfig (see below for complete output)

ModuleNotFoundError: No module named 'pkgconfig' 


I don’t understand why as the output of configure was:

pkgconfig:                      using system package; SPKG will not be installed


Prior to  "sage -pip install pkgconfig", did "import pkgconfig" work at the Sage prompt?
If it did, we probably have one of these "build isolation vs no build isolation" stuff going on.


running `sage -pip install pkgconfig` fixes the issue.



## issue 2

I tried to install tdlib using 
make sagemath_tdlib
./sage -i tdlib
./sage -i sagemath_tdlib
./sage -pip install sagemath-tdlib

The 4 commands are successful, but the result is always the same: feature tdlib is not  detected.

I gather that the installation has never actually been tried. See  https://github.com/sagemath/sage/issues/41065
for details.

Dima

David Coudert

unread,
Oct 19, 2025, 6:48:05 AM (yesterday) Oct 19
to Dima Pasechnik, sage-r...@googlegroups.com

Le 18 oct. 2025 à 21:20, Dima Pasechnik <dim...@gmail.com> a écrit :



On Sat, Oct 18, 2025 at 8:23 AM David Coudert <david....@gmail.com> wrote:
Thank you for this new beta version.

Good news: I have been able to successfully install this beta on macOS 15.7.1 with upgraded homebrew.
As usual, I did (in a fresh shell)
make distclean
./bootstrap
source .homebrew-build-env
./configure --enable-system-site-packages --with-python=`which python3.13` --with-system-jupyter_core=no --with-system-platformdirs=no
make build -j4


Bad news: I have some issues

## issue 1

In a sage console, I tried
sage: attach(’somefile.pyx’)

I tried this with a toy (just one Python function)  ’somefile.pyx’ and it just worked.
I guess we might need true reproducer of this from you.


If fails with import error for pkgconfig (see below for complete output)
ModuleNotFoundError: No module named 'pkgconfig' 

I don’t understand why as the output of configure was:
pkgconfig:                      using system package; SPKG will not be installed

Prior to  "sage -pip install pkgconfig", did "import pkgconfig" work at the Sage prompt?
If it did, we probably have one of these "build isolation vs no build isolation" stuff going on.


No (I had to distclean and recompile to check that)

MAC-xxxx:sage dcoudert$ ./sage

┌────────────────────────────────────────────────────────────────────┐

│ SageMath version 10.8.beta7, Release Date: 2025-10-16              │

│ Using Python 3.13.9. Type "help()" for help.                       │

└────────────────────────────────────────────────────────────────────┘

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓

┃ Warning: this is a prerelease version, and it may be unstable.     ┃

┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

sage: import pkgconfig

---------------------------------------------------------------------------

ModuleNotFoundError                       Traceback (most recent call last)

Cell In[1], line 1

----> 1 import pkgconfig


ModuleNotFoundError: No module named 'pkgconfig'

sage: 



I assume there is something wrong in the configuration. 
Some data prior sage -pip install pkgconfig

MAC-xxxx:sage dcoudert$ grep pkgconf config.log 

## Checking whether SageMath should install SPKG pkgconfig... ##

real_configure:80680: checking for python package pkgconfig ()

real_configure:80736: will use system package and not install SPKG pkgconfig

real_configure:155665: result: pkgconfig:                      using system package; SPKG will not be installed

config.status:4307: creating directory local/lib/pkgconfig

ac_cv_env_PKG_CONFIG_PATH_value=/opt/homebrew/opt/zlib/lib/pkgconfig:/opt/homebrew/opt/sqlite/lib/pkgconfig:/opt/homebrew/opt/readline/lib/pkgconfig:/opt/homebrew/opt/openssl/lib/pkgconfig:/opt/homebrew/opt/openblas/lib/pkgconfig:/opt/homebrew/lib/pkgconfig:

pkg_cv_OPENBLASPCDIR=/opt/homebrew/opt/openblas/lib/pkgconfig

    pkgconfig \

    pkgconfig \

    pkgconfig \

    pkgconfig \

OPENBLASPCDIR='/opt/homebrew/opt/openblas/lib/pkgconfig'

PKG_CONFIG_PATH='/opt/homebrew/opt/zlib/lib/pkgconfig:/opt/homebrew/opt/sqlite/lib/pkgconfig:/opt/homebrew/opt/readline/lib/pkgconfig:/opt/homebrew/opt/openssl/lib/pkgconfig:/opt/homebrew/opt/openblas/lib/pkgconfig:/opt/homebrew/lib/pkgconfig:'

SAGE_PKG_CONFIG_PATH='$SAGE_LOCAL/lib/pkgconfig'

deps_cvxopt = numpy $(BLAS) gsl glpk suitesparse | $(PYTHON_TOOLCHAIN) pkgconfig $(PYTHON) $(and $(filter-out no,$(SAGE_CHECK_cvxopt)), matplotlib pytest)

deps_numpy = $(BLAS) gfortran | $(PYTHON_TOOLCHAIN) pkgconfig cython meson_python $(PYTHON)

deps_pkgconfig = | $(PYTHON_TOOLCHAIN) $(PYTHON)

deps_sage_setup = cython pkgconfig jinja2 $(SAGE_ROOT)/pkgs/sage-setup/sage_setup/*.py $(SAGE_ROOT)/pkgs/sage-setup/sage_setup/autogen/interpreters/internal/specs/*.py $(SAGE_ROOT)/pkgs/sage-setup/sage_setup/command/*.py | $(PYTHON_TOOLCHAIN) $(PYTHON)

deps_sagelib = FORCE $(SCRIPTS) boost_cropped $(BLAS) brial cliquer cypari cysignals cython ecl eclib ecm flint libgd gap givaro glpk gmpy2 gsl iml importlib_metadata importlib_resources jupyter_core lcalc lrcalc_python libbraiding libhomfly libpng linbox m4ri m4rie memory_allocator mpc mpfi mpfr $(MP_LIBRARY) ntl numpy pari pip pkgconfig planarity ppl pplpy primesieve primecount primecountpy $(PYTHON) requests rw singular symmetrica typing_extensions $(PCFILES) | $(PYTHON_TOOLCHAIN) meson_python $(PYTHON) pythran

deps_sagemath_bliss = bliss cysignals | $(PYTHON_TOOLCHAIN) sage_setup sagemath_environment cython pkgconfig $(PYTHON)

deps_sagemath_categories = sagemath_objects | $(PYTHON_TOOLCHAIN) sagemath_environment sage_setup cython pkgconfig python_build $(PYTHON) $(and $(filter-out no,$(SAGE_CHECK_sagemath_categories)), tox sagemath_repl)

deps_sagemath_coxeter3 = coxeter3 | $(PYTHON_TOOLCHAIN) sage_setup sagemath_environment cython pkgconfig $(PYTHON)

deps_sagemath_mcqd = mcqd memory_allocator cysignals | $(PYTHON_TOOLCHAIN) sage_setup cython pkgconfig $(PYTHON)

deps_sagemath_meataxe = meataxe cysignals | $(PYTHON_TOOLCHAIN) sage_setup sagemath_environment cython pkgconfig $(PYTHON)

deps_sagemath_objects = FORCE  cysignals gmpy2 | $(PYTHON_TOOLCHAIN) sagemath_environment sage_setup cython pkgconfig python_build $(PYTHON) $(and $(filter-out no,$(SAGE_CHECK_sagemath_objects)), tox)

deps_sagemath_sirocco = sirocco cypari cysignals mpfr | $(PYTHON_TOOLCHAIN) sage_setup sagemath_environment cython pkgconfig $(PYTHON)

deps_sagemath_tdlib = tdlib cysignals boost_cropped | $(PYTHON_TOOLCHAIN) sage_setup sagemath_environment cython pkgconfig $(PYTHON)

trees_pkgconfig = SAGE_VENV

vers_pkgconfig = 1.5.5








running `sage -pip install pkgconfig` fixes the issue.



## issue 2

I tried to install tdlib using 
make sagemath_tdlib
./sage -i tdlib
./sage -i sagemath_tdlib
./sage -pip install sagemath-tdlib

The 4 commands are successful, but the result is always the same: feature tdlib is not  detected.

I gather that the installation has never actually been tried. See  https://github.com/sagemath/sage/issues/41065
for details.

Dima

sage: attach(‘/somepath/somefile.pyx')
Compiling /somepath/somefile.pyx...
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
File sage/misc/cachefunc.pyx:1019, in sage.misc.cachefunc.CachedFunction.__call__()

KeyError: ((), ())

During handling of the above exception, another exception occurred:

ModuleNotFoundError                       Traceback (most recent call last)
Cell In[3], line 1
----> 1sage.repl.load.load(sage.repl.load.base64.b64decode("L1VzZXJzL2Rjb3VkZXJ0L0NvZGUvdGVsYWdyby9wZXJjb2xhdGlvbi5weXg="),globals(),True)
Reply all
Reply to author
Forward
0 new messages