Sage 9.7.beta5 released

161 views
Skip to first unread message

Volker Braun

unread,
Jul 10, 2022, 7:24:36 PM7/10/22
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

625ac58151 (trac/develop, tag: 9.7.beta5) Updated SageMath version to 9.7.beta5
413ff13c54 Trac #34056: cleaning two files in quadratic forms
cb65d06dd2 Trac #34055: Remove "ssl" target from Makefile
0740d209ca Trac #34053: pycodestyle cleanup in src/sage/graphs/base/static_sparse_graph.pyx
539a5c073c Trac #34046: pycodestyle cleanup in src/sage/graphs/base/boost_graph.pyx
6790b30aeb Trac #34044: pycodestyle cleanup in src/sage/graphs/generators/smallgraphs.py (part 3)
6e4de5191b Trac #34043: pycodestyle cleanup in src/sage/graphs/generators/smallgraphs.py (part 2)
3d2f91c326 Trac #34042: pycodestyle cleanup in src/sage/graphs/generators/smallgraphs.py (part 1)
45c1d36c3a Trac #34034: pycodestyle cleanup in src/sage/graphs/generators/random.py
9f1388bac5 Trac #34032: pycodestyle cleanup in src/sage/graphs/generators/world_map.py
248a6e15e6 Trac #34023: pycodestyle cleanup in distance_regular.pyx (part 1)
0a77b4496f Trac #34022: pycodestyle cleanup in src/sage/graphs/generators/classical_geometries.py
0cec8684d7 Trac #34135: modernize super() in groups
38b2bf7529 Trac #34058: sage 9.6 special function translation issue with fricas. elliptic_ec
720adde3bb Trac #32716: pkgs/sagemath-*/tox.ini: Create environment that uses Sage's python as the basepython, fix sagemath-standard deps
6294f36ee4 Trac #28925: Modify find_python_sources to support modularization of sagelib by native namespace packages (PEP 420)
5063ca7441 Trac #34021: pycodestyle in 5 files of src/sage/graphs/generators
648ea02cda Trac #34018: pycodestyle cleanup in src/sage/graphs/graph_decompositions/
44562ec0cf Trac #34016: improve pycodestyle in 4 files in graphs
aa79451a04 Trac #34015: pycodestyle cleanup in planarity.pyx and path_enumeration.pyx
3268d19fa5 Trac #34013: pycodestyle cleanup in schnyder.py and print_graphs.py
a6f5a56109 Trac #34012: pycodestyle cleanup in sage.graphs.spanning_tree.pyx, weakly_chordal.pyx
b5041b18ad Trac #34011: pycodestyle cleanup in sage.graphs.views.pyx, trees.pyx, traversals.pyx
81f843e76b Trac #34010: pycodestyle cleanup in sage.graphs.tutte_polynomial.py
c2550f7093 Trac #34009: pycodestyle cleanup in sage.graphs.hyperbolicity.pyx
44a5f5b3d9 Trac #33952: Add methods to compute holomorphic differentials of function field
6ea1dc5f9e Trac #33868: Add modules over integral domain
b593b48ed7 Trac #33791: ci-cygwin: Refactor using reusable workflows
1fc79b83f6 Trac #33788: GH Actions: Split ci-macos.yml out from tox.yml
931d6ac039 Trac #33777: Deprecate Sage's CHomP interface
c364788de0 Trac #33708: make elliptic-curve isogenies compute Montgomery codomains
64e29cf9d9 Trac #33144: Remove some py2 tags in explain_pickle
1c0f22aabf Trac #34132: Update primesieve to 8.0, primecount to 7.4
9793520438 Trac #34121: Heegner point method can return a point defined over the wrong field
3208d2c51f Trac #34112: some details in L-functions
65722f53c1 Trac #34111: 'PosixPath' object has no attribute '_libgap_init_'
d860f2e146 Trac #34098: Installation manual: Improvements for homebrew, conda
afb3761f26 Trac #34090: Update python3 to 3.10.5
f56dc7b1f3 Trac #34085: fix some details in braid groups
b1a00624dc Trac #34082: Add an option up_to_isomorphism for is_subgraph
8c5d4ca3a4 Trac #34080: pycodestyle cleanup in src/sage/graphs/digraph.py
7ad1358ac7 Trac #34062: enhance our conversion system
9c530f7a59 Trac #34061: fix pyflakes warnings in src/sage/misc/cython.py
b221b0d7e1 Trac #34060: Height function for polynomials on number fields
57ec521c2a Trac #34052: tweaking the giac / libgiac interface
99fba2a5de Trac #34051: Update FriCAS to 1.3.8
0de1a2c955 Trac #34049: fix wrong use of Path inside libgap.Read
9d189b384a Trac #34045: OpenSSL 3.0.4 security update
f0e2346cbf Trac #34041: improve and document GAP and libgap memory customisation
59188e4443 Trac #34040: fix W605 in all pyx files inside matrix/
ac0188973e Trac #34039: fix pycodestyle E306 in categories and part of combinat
890daa517b Trac #34029: bug in elliptic curve saturation: update to eclib bugfix release 20220621 required.
add158fc01 Trac #34006: Fix the Killing form and generators for a Lie subalgebra
4064ea2cf4 Trac #34004: Inconsistent behaviour for subgraph_search_iterator
a9270ab20c Trac #33995: make *test*: Log to a common log file test.log
02e1c3b5e1 Trac #33928: phitigra error with hold_canvas
5bc07720dd Trac #33898: Update texttable to 1.6.4, fix spkg-check
0d76aee2b1 Trac #33873: Refactor system package scripts
6455b21183 Trac #33854: Generalized Sierpinski graphs generator
670fb54de8 Trac #33849: FAQ, Developer's guide: Update documentation of the release process
042e07e7dc Trac #33800: cibuildwheel workflow for sagemath-objects, sagemath-categories
f513e8f588 Trac #33795: Move handling of "sage --docbuild" back to src/bin/sage
63f461cdbe Trac #33789: sage-dist-helpers (sdh_pip_install): Change default to --build-isolation
80d2ee6704 Trac #33295: Refactor sage_conf
662aaf256a Trac #32423: Update numpy to 1.22.x, scipy 1.8.x, networkx 2.8.x
d98aa7304d Trac #29549: bootstrap: Clean up use of gettextize
24b4eeba5e Trac #13321: FreeModule.hom stores its matrix over the wrong ring
93357f31bf Trac #34104: Build & Test workflow: Run apt-get update first
23e4bbe7d5 Trac #34092: Docbuild workflow broken because furo is too new
9440e71d60 Trac #34088: cygwin python3 missing ensurepip
9879ff4e0c Trac #33936: Remove runtime dependency on sage_docbuild introduced in #33763
55d05c97cb Trac #31403: giac: Make cliquer a dependency, libnauty an optional dependency
843eb03e7e (tag: 9.7.beta4) Updated SageMath version to 9.7.beta4

G. M.-S.

unread,
Jul 10, 2022, 9:12:35 PM7/10/22
to sage-release

This is on Apple Silicon Macs with Homebrew up to date (make and make pytest and  make ptestlong).

Nothing new:

On macOS 12.4 (Monterey) with Xcode 13.4.1:  no problems.

On macOS 11.6.7 (Big Sur) with Xcode 13.2.1  make ptestlong gives the usual
----------------------------------------------------------------------
sage -t --long --warn-long 46.7 --random-seed=339581440087422697728347113492571717343 src/sage/matrix/matrix_gf2e_dense.pyx  # 1 doctest failed
----------------------------------------------------------------------
Guillermo

Thierry Dumont

unread,
Jul 11, 2022, 1:53:36 AM7/11/22
to sage-r...@googlegroups.com
When upgrading from beta 4 to beta5, I got the following error, which
persists after doing: make doc-clean doc-uninstall; make

(Unbuntu 22-04, up to date).

I got this error massage:
[sagemath_doc_html-none] [misc ] WARNING: autodoc: failed to import
module 'sagedoc_conf' from module 'sage.misc'; the following exception
was raised:
[sagemath_doc_html-none] [misc ] No module named
'sage.misc.sagedoc_conf'

but I'm not sure this is at the origin of the problem.

t.d.




[sagemath_doc_html-none] [manifolds] The inventory files are in
../../local/share/doc/sage/inventory/en/reference/manifolds.
[sagemath_doc_html-none] Build finished. The built documents can be
found in
/usr/local/sages/dev/sage/local/share/doc/sage/inventory/en/reference/manifolds
[sagemath_doc_html-none] make[6]: *** [Makefile:27 :
doc-inventory--reference-repl] Erreur 1
[sagemath_doc_html-none] make[6]: *** Attente des tâches non terminées....
[sagemath_doc_html-none] make[5]: *** [Makefile:44 :
doc-inventory-reference] Erreur 2
make[4]: *** [Makefile:3000 : sagemath_doc_html-SAGE_DOCS-no-deps] Erreur 2
make[3]: *** [Makefile:3000 :
/usr/local/sages/dev/sage/local/var/lib/sage/installed/sagemath_doc_html-none]
Erreur 2
make[2]: *** [Makefile:2561 : all-start] Erreur 2

Kwankyu Lee

unread,
Jul 11, 2022, 3:10:53 AM7/11/22
to sage-release
On Monday, July 11, 2022 at 2:53:36 PM UTC+9 tdumont wrote:
When upgrading from beta 4 to beta5, I got the following error, which
persists after doing: make doc-clean doc-uninstall; make

(Unbuntu 22-04, up to date).

I got this error massage:
[sagemath_doc_html-none] [misc ] WARNING: autodoc: failed to import
module 'sagedoc_conf' from module 'sage.misc'; the following exception
was raised:
[sagemath_doc_html-none] [misc ] No module named
'sage.misc.sagedoc_conf'

but I'm not sure this is at the origin of the problem.

It seems this is related with

9879ff4e0c Trac #33936: Remove runtime dependency on sage_docbuild introduced in #33763

Really, there should be the file src/sage/misc/sagedoc_conf.py. The message above says it  is not there. Check it out.

I had no problem in upgrading from beta3 to beta5. 

Thierry Dumont

unread,
Jul 11, 2022, 6:27:52 AM7/11/22
to sage-r...@googlegroups.com
Well... it is here...

pwd
/usr/local/sages/dev/sage/src/sage/misc

ls -l sagedoc_conf.py
-rw-rw-r-- 1 moi moi 5692 juil. 11 07:00 sagedoc_conf.py

strange...

> I had no problem in upgrading from beta3 to beta5.
>
I'm upgrading from beta4.
yours
t.
> --
> 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/1d78c6c2-703c-465f-9ea0-6994f8ec9637n%40googlegroups.com
> <https://groups.google.com/d/msgid/sage-release/1d78c6c2-703c-465f-9ea0-6994f8ec9637n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Thierry

unread,
Jul 11, 2022, 6:38:26 AM7/11/22
to sage-r...@googlegroups.com
On Mon, Jul 11, 2022 at 12:27:45PM +0200, Thierry Dumont wrote:
>
>
> Le 11/07/2022 à 09:10, Kwankyu Lee a écrit :
> >
> >
> > On Monday, July 11, 2022 at 2:53:36 PM UTC+9 tdumont wrote:
> >
> > When upgrading from beta 4 to beta5, I got the following error, which
> > persists after doing: make doc-clean doc-uninstall; make
> >
> > (Unbuntu 22-04, up to date).
> >
> > I got this error massage:
> > [sagemath_doc_html-none] [misc ] WARNING: autodoc: failed to import
> > module 'sagedoc_conf' from module 'sage.misc'; the following exception
> > was raised:
> > [sagemath_doc_html-none] [misc ] No module named
> > 'sage.misc.sagedoc_conf'
> >
> > but I'm not sure this is at the origin of the problem.
> >
> >
> > It seems this is related with
> >
> > 9879ff4e0c Trac #33936: Remove runtime dependency on sage_docbuild
> > introduced in #33763
> >
> > Really, there should be the file src/sage/misc/sagedoc_conf.py. The
> > message above says it  is not there. Check it out.
> >
>
> Well... it is here...
>
> pwd
> /usr/local/sages/dev/sage/src/sage/misc
>
> ls -l sagedoc_conf.py
> -rw-rw-r-- 1 moi moi 5692 juil. 11 07:00 sagedoc_conf.py
>
> strange...

This also breaks the patchbots, see
https://patchbot.sagemath.org/ticket/0/

Ciao,
Thierry



> > I had no problem in upgrading from beta3 to beta5.
> >
> I'm upgrading from beta4.
> yours
> t.
> > --
> > 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/1d78c6c2-703c-465f-9ea0-6994f8ec9637n%40googlegroups.com <https://groups.google.com/d/msgid/sage-release/1d78c6c2-703c-465f-9ea0-6994f8ec9637n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>
> --
> 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 on the web visit https://groups.google.com/d/msgid/sage-release/e95ee3d5-59fc-66cf-a08b-320330ba8220%40math.univ-lyon1.fr.

Dima Pasechnik

unread,
Jul 11, 2022, 7:05:09 AM7/11/22
to sage-release
make distclean ?

To unsubscribe from this group and stop receiving emails from it, send an email to sage-release...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/e95ee3d5-59fc-66cf-a08b-320330ba8220%40math.univ-lyon1.fr.

Thierry

unread,
Jul 11, 2022, 7:12:17 AM7/11/22
to sage-r...@googlegroups.com
On Mon, Jul 11, 2022 at 12:04:55PM +0100, Dima Pasechnik wrote:
> make distclean ?

If it helps to permanently solve the issue, note that i also had to make
disclean at the previous beta to let my patchbot restart, with a similar
error.

Ciao,
Thierry
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/CAAWYfq0zGQt_h18wWj7JGRjNFkO1fZzitg5RUjuUCufyzFYqXQ%40mail.gmail.com.

Dima Pasechnik

unread,
Jul 11, 2022, 7:30:48 AM7/11/22
to sage-release
There are changes happening in how sagelib is structured in modules.
Once this is done, it should work much smoother.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/20220711111215.GA5680%40metelu.net.

Marc Culler

unread,
Jul 11, 2022, 8:08:56 AM7/11/22
to sage-release
I am not able to build beta5 after running make distclean using my standard build script that includes no external libraries.  I am seeing errors about missing autoconf commands:

make: `configure' is up to date.
./configure: line 4932: AC_LIB_RPATH: command not found
./configure: line 24924: AC_LIB_PREPARE_PREFIX: command not found
./configure: line 24925: AC_LIB_RPATH: command not found
./configure: line 24930: syntax error near unexpected token `iconv'
./configure: line 24930: `      AC_LIB_LINKFLAGS_BODY(iconv)'

The make build run then fails with the same errors:

-----------------------------------------------------------------------------
Checking whether SageMath should install SPKG gsl...
checking whether any of openblas is installed as or will be installed as SPKG... yes; install gsl as well
configure: no suitable system package found for SPKG gsl
./configure: line 24924: AC_LIB_PREPARE_PREFIX: command not found
./configure: line 24925: AC_LIB_RPATH: command not found
./configure: line 24930: syntax error near unexpected token `iconv'
./configure: line 24930: `      AC_LIB_LINKFLAGS_BODY(iconv)'

Since the recently discovered issues with primecount were very closely related to the way that the primecount spkg (an no other spkgs) uses @rpath, I am concerned that care may be required when defining AC_LIB_RPATH.  Currently all spkgs, except for primecount, set the rpath in a dylib to an absolute path to the directory containing the library.  Also most libraries have multiple copies of the LC_RPATH load command with sets that rpath.  (There are usually between 2 and 5 LS_RPATH load commands.)

- Marc

Dima Pasechnik

unread,
Jul 11, 2022, 8:11:21 AM7/11/22
to sage-release

did you run
./bootstrap
?
--
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.

Marc Culler

unread,
Jul 11, 2022, 9:21:58 AM7/11/22
to sage-release
Yes, I tried that but there was no change.

However when I deleted the calls to the undefined autoconf commands from the configure script (which meant changing about 5 lines in the script) I was able to run configure and the make build appears to be running normally after that.  Incidentally, the bootstrap script generates warning about the same commands, as well as AC_LIB_APPENDTOVAR:

m4/sage_spkg_configures.m4:605: warning: AC_LIB_PREPARE_PREFIX is m4_require'd but not m4_defun'd
m4/sage_spkg_configures.m4:605: warning: AC_LIB_RPATH is m4_require'd but not m4_defun'd
m4/sage_spkg_configures.m4:605: the top level
configure.ac:52: error: possibly undefined macro: AC_LIB_RPATH
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure:24924: error: possibly undefined macro: AC_LIB_PREPARE_PREFIX
configure:24930: error: possibly undefined macro: AC_LIB_LINKFLAGS_BODY
configure:24938: error: possibly undefined macro: AC_LIB_APPENDTOVAR


Here are the changes I had to make to get a working configure script:

4932c4932
< AC_LIB_RPATH
---
> #AC_LIB_RPATH
24924,24925c24924,24925
< AC_LIB_PREPARE_PREFIX
< AC_LIB_RPATH
---
> #AC_LIB_PREPARE_PREFIX
> #AC_LIB_RPATH
24930c24930
<       AC_LIB_LINKFLAGS_BODY(iconv)
---
> #      AC_LIB_LINKFLAGS_BODY(iconv)
24938c24938
<   AC_LIB_APPENDTOVAR(CPPFLAGS, $INCICONV)
---
> #  AC_LIB_APPENDTOVAR(CPPFLAGS, $INCICONV)


- Marc

Kenji Iohara

unread,
Jul 11, 2022, 9:25:27 AM7/11/22
to sage-r...@googlegroups.com
On my Mac OS 12.4 with Intel Core i5, with homebrew and Xcode 13.4.1, it compiled from the first build. 


2022年7月11日(月) 15:21 Marc Culler <marc....@gmail.com>:

Dima Pasechnik

unread,
Jul 11, 2022, 10:08:00 AM7/11/22
to sage-release
On Mon, Jul 11, 2022 at 2:21 PM Marc Culler <marc....@gmail.com> wrote:
>
> Yes, I tried that but there was no change.
Was it succesfully run?

Do you have autotools and gettext installed?
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/42423426-3e72-453c-8e9c-f971970fcde1n%40googlegroups.com.

Marc Culler

unread,
Jul 11, 2022, 10:54:17 AM7/11/22
to sage-release
As I said, I am not using any homebrew packages or any other external libraries for this build.  Sage should be able to build without homebrew,.  The binary macOS app needs to be self-contained and relocatable.

The configure file for previous betas did not use the AC_LIB_RPATH command, although it is mentioned in configure.ac.  The other undefined autoconf commands do not appear at all in earlier betas.

- Marc

Dima Pasechnik

unread,
Jul 11, 2022, 11:01:36 AM7/11/22
to sage-release
On Mon, Jul 11, 2022 at 3:54 PM Marc Culler <marc....@gmail.com> wrote:
>
> As I said, I am not using any homebrew packages or any other external libraries for this build. Sage should be able to build without homebrew,.

You need autotools if you want to modify ./configure
They can come from Homebrew, conda, doesn't matter, because they are
not bundled with Sage anyway.

Probably configure package for beta5 was not made correctly.

One way to fix it is to re-create ./configure from ./bootstrap
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/addc4bf1-8175-428f-bd0f-97e717b9f2can%40googlegroups.com.

Marc Culler

unread,
Jul 11, 2022, 11:02:33 AM7/11/22
to sage-r...@googlegroups.com
I do not install anything on my build system (except I am forced to install the homebrew gfortran on the arm64 build system).  Everything needed to build sage must be included in the sage repo, and until 9.7.beta5 that was the case.

I do not think it would be wise to require people to install gettext and autotools in order to build sage and it is clearly not necessary since it was not necessary until this moment.  If you read configure.ac you will see this in the comments:

dnl The AC_LIB_RPATH macro comes from gettext, which is one of our bootstrap
dnl packages. It defines, among other things, the $acl_shlibext variable that
dnl contains the shared library extension for this system. We already use the
dnl AM_ICONV macro from gettext (which ultimately calls AC_LIB_RPATH), and we
dnl avoid involving libtool by using it to get the shared library extension.

It would appear that somehow gettext was silently removed from the list of bootstrap packages for beta5, which is clearly not a good idea.

- Marc

- Marc

You received this message because you are subscribed to a topic in the Google Groups "sage-release" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sage-release/FezzF5Q7Wt4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sage-release...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/CAAWYfq2OPj4k%2Bj8ZfSJUAP1K%2BQ11vhKKY-RKRbsbHcW1RYYtVQ%40mail.gmail.com.

Marc Culler

unread,
Jul 11, 2022, 11:06:49 AM7/11/22
to sage-r...@googlegroups.com
On Mon, Jul 11, 2022 at 10:01 AM Dima Pasechnik <dim...@gmail.com> wrote:

One way to fix it is to re-create ./configure from ./bootstrap

The problem with this is that the bootstrap script in beta5 generates warnings about the exact same commands, but then it still goes ahead and produces a configure script that requires those missing commands.

- Marc

Dima Pasechnik

unread,
Jul 11, 2022, 11:08:31 AM7/11/22
to sage-release
On Mon, Jul 11, 2022 at 4:02 PM Marc Culler <marc....@gmail.com> wrote:
>
> I do not install anything on my build system (except I am forced to install the homebrew gfortran on the arm64 build system). Everything needed to build sage must be included in the sage repo, and until 9.7.beta5 that was the case.
>
> I do not think it would be wise to require people to install gettext and autotools in order to build sage

developers do have autotools etc installed, as a rule, and this is a
beta release.
(this is totally not a problem on Linux, and only requires a mild
extra effort on macOS)
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/CALcZXRG-nVrY%2BgmKbpHQGTQW2by3CfOskSF_SWsF6raSTJUP0A%40mail.gmail.com.

Dima Pasechnik

unread,
Jul 11, 2022, 11:11:38 AM7/11/22
to sage-release
that's a bug in ./bootstrap then.
(Frankly speaking I am sick and tired of that "no deps" setup we are
supposed to maintain, it's such a timesink...
Why are build tools a problem to have ?)


Does

./bootstrap -D

provide a better ./configure ?

>
> - Marc
>
> --
> 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 on the web visit https://groups.google.com/d/msgid/sage-release/CALcZXRHg%3DDdQE9E9pPTYaNXLp222pEFy7c98ZDHuKAEgJm%3Djvw%40mail.gmail.com.

Matthias Köppe

unread,
Jul 11, 2022, 12:22:06 PM7/11/22
to sage-release
On Monday, July 11, 2022 at 8:11:38 AM UTC-7 Dima Pasechnik wrote:
that's a bug in ./bootstrap then.

Yes, see https://trac.sagemath.org/ticket/34152 for a proposed fix

 

Marc Culler

unread,
Jul 13, 2022, 4:08:57 PM7/13/22
to sage-release
After working around the issues with the bootstrap script and symengine_py I have managed to build 9.7.beta5 on an arm mac mini.  This was an incremental build from beta4.  When the build finished I noticed that both sage/local/var/lib/sage/venv-python3.10.3 and sage/local/var/lib/sage/venv-python3.10.5 existed.  The 3.10.3 venv cannot be required, because it never gets created if make distclean is run first.  So it seems to be doing nothing but wasting disk space.  Shouldn't it get removed once the build finishes?

- Marc

On Sunday, July 10, 2022 at 6:24:36 PM UTC-5 Volker Braun wrote:

Matthias Köppe

unread,
Jul 13, 2022, 5:55:02 PM7/13/22
to sage-release
Yes, you can delete the old venv. We do not uninstall other venvs that may have been built previously. 

Marc Culler

unread,
Jul 14, 2022, 8:30:47 AM7/14/22
to sage-release
That statement is actually false.  I think this issue needs to be addressed.  I think the old venvs should be removed when doing an incremental build, since I cannot think of any use for them.

Here is the problem.  When I did an incremental build with the venv-python3.10.3 in place, a new venv named python3.10.5 was created.  But that new venv depends on the old 3.10.3 venv.  In fact, there are at least 16 executable files in sage/venv-python3.10.5/bin for which the shebang points to
    sage/venv-python3.10.3/bin/python3
This prevents sage from working after the 3.10.3 venv is removed.  There may be other dependencies between the two venvs as well.

It seems like bad practice to create a venv which depends on another venv.  That defeats the purpose of a venv.  Also it does not make sense to me for incremental builds to cause the sage directory to contain an ever-expanding set of virtual envs each of which depends on the previous one.

I am guessing that these bad shebangs are created because the old venv is actually being used to build the new venv.

Here is a list of the files with bad shebangs in sage/venv-python3.10.5/bin
math-readline
sage-cleaner
sage-coverage
sage-cython
sage-eval
sage-fixdoctests
sage-ipython
sage-list-packages
sage-notebook
sage-num-threads.py
sage-preparse
sage-run
sage-run-cython
sage-runtests
sage-startuptime.py
sage-venv-config

- Marc

Marc Culler

unread,
Jul 14, 2022, 8:30:47 AM7/14/22
to sage-release
I don't want to have to remember to do this by hand.  If I delete all of the venvs before starting an incremental build will the build still work, and will it create a new venv that is appropriate for its python, even if the python version has not changed?

- Marc

On Wednesday, July 13, 2022 at 4:55:02 PM UTC-5 matthia...@gmail.com wrote:

Marc Culler

unread,
Jul 14, 2022, 8:34:43 AM7/14/22
to sage-release
I used sed to fix the 16 files with bad shebangs in sage/venv-python3.10.5/bin and that appeared to produce a working copy of sage.  So perhaps the bad shebangs are the only reason that venv-python3.10.5 depends on venv-python3.10.3.

- Marc

Matthias Köppe

unread,
Jul 14, 2022, 10:36:15 AM7/14/22
to sage-release
On Thursday, July 14, 2022 at 5:30:47 AM UTC-7 marc....@gmail.com wrote:
When I did an incremental build with the venv-python3.10.3 in place, a new venv named python3.10.5 was created.  But that new venv depends on the old 3.10.3 venv.  In fact, there are at least 16 executable files in sage/venv-python3.10.5/bin for which the shebang points to
    sage/venv-python3.10.3/bin/python3
This prevents sage from working after the 3.10.3 venv is removed.  
 
I am guessing that these bad shebangs are created because the old venv is actually being used to build the new venv.

No, I don't think that's what's happening.
 
It's probably just that the scripts are cached in pkgs/sagemath-standard/build/scripts/

Try "make sagelib-clean".



Matthias Köppe

unread,
Jul 14, 2022, 10:48:30 AM7/14/22
to sage-release
On Thursday, July 14, 2022 at 5:30:47 AM UTC-7 marc....@gmail.com wrote:
If I delete all of the venvs before starting an incremental build will the build still work, and will it create a new venv that is appropriate for its python, even if the python version has not changed?

Yes.

Matthias Köppe

unread,
Jul 14, 2022, 10:54:17 AM7/14/22
to sage-release
I've opened https://trac.sagemath.org/ticket/34181 for this.

Emmanuel Charpentier

unread,
Jul 23, 2022, 2:22:24 PM7/23/22
to sage-release

FWIW, a recent routine update of Debian testing removed part of the flint libraries used by Sage ; I tried to re/.configure to re-specify the use of the (new) system flint, but then make failed due to the snag already reported on documentation building ; I then resorted to make distclean ; rebuilt Sage from this fresh state, and re-ptestlonged it (for consistency’s sake). This gave me one transient failure (reported below), which was not reproducible by running the test standalone :

sage -t --long --warn-long 195.7 --random-seed=235618870789586020618978017884435145468 src/sage/rings/integer.pyx
**********************************************************************
File "src/sage/rings/integer.pyx", line 3041, in sage.rings.integer.Integer.divisors
Failed example:
    for i in range(20):  # long time
        try:
            alarm(RDF.random_element(1e-3, 0.5))
            _ = n.divisors()
            cancel_alarm()  # we never get here
        except AlarmInterrupt:
            pass
Exception raised:
    Traceback (most recent call last):
      File "<doctest sage.rings.integer.Integer.divisors[20]>", line 4, in <module>
        _ = n.divisors()
      File "sage/rings/integer.pyx", line 3128, in sage.rings.integer.Integer.divisors
        for p, e in f:
      File "/usr/local/sage-9/src/sage/structure/factorization.py", line 319, in __getitem__
        def __getitem__(self, i):
      File "src/cysignals/signals.pyx", line 310, in cysignals.signals.python_check_interrupt
    cysignals.signals.AlarmInterrupt

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/usr/local/sage-9/src/sage/doctest/forker.py", line 695, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/sage-9/src/sage/doctest/forker.py", line 1093, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.rings.integer.Integer.divisors[20]>", line 4, in <module>
        _ = n.divisors()
      File "src/cysignals/signals.pyx", line 310, in cysignals.signals.python_check_interrupt
    cysignals.signals.AlarmInterrupt
**********************************************************************
1 item had failures:

This might be an inadvertent capture of a signal raised by another test running in parallel…

HTH,

Reply all
Reply to author
Forward
0 new messages