This is just another instance where meson is more intelligent than sage's `cythonize` method, see eg https://github.com/mesonbuild/meson/blob/ba860d72a96932608bb2b13a2f32ebda0087905a/mesonbuild/compilers/mixins/apple.py#L29-L57 for what meson is doing. You can of course try to reimplement the same logic in the `cythonize` method...
I see the following options: - Use meson in `cythonize` also at *runtime* to compile the cython file (this is what numpy is doing with f2py: https://github.com/numpy/numpy/blob/fb55b5b50d6b8b3551efdd3ef8b9ed8bcb3a9f75/numpy/f2py/_backends/_meson.py) - Remove `cythonize` and tell people to use meson/whatever build tool they like directly - Accept that `cythonize` behaves differently and bugs like this occur I would prefer to just deprecate `cythonize`, as I don't think it's sage's job to provide a "better" `cython` method than what the offical Cython project is offering, although I do see that it can be handy sometimes. On Thursday, October 30, 2025 at 7:47:53 AM UTC+8 Dima Pasechnik wrote: > I already mentioned here and elsewhere that macOS's clang does not > understand > '-fopenmp', it wants `-Xpreprocessor -fopenmp'` - that's where > > clang: error: unsupported option '-fopenmp' > > comes from. > So it looks like it can be fixed by modifying places pointed at by > > % git grep "fopenmp" > m4/ax_openmp.m4:# Flags to try: -fopenmp (gcc), -mp (SGI & PGI), > m4/ax_openmp.m4:ax_openmp_flags="-fopenmp -openmp -qopenmp -mp -xopenmp > -omp -qsmp=omp none" > src/sage/meson.build: conf_data.set('OPENMP_CFLAGS', '-fopenmp') > src/sage/meson.build: conf_data.set('OPENMP_CXXFLAGS', '-fopenmp') > src/sage/rings/polynomial/weil/weil_polynomials.pyx:##distutils: > extra_compile_args = -fopenmp > > (AFAIK, in the latter file this `#distutils` may be removed, as everything > there goes via meson, and not distutils) > > On Wed, Oct 29, 2025 at 5:41 PM John H Palmieri <[email protected]> > wrote: > >> On OS X 15.6.1 and many homebrew packages, if I take a fresh git clone >> and run `./bootstrap` and `./configure` with the flags >> >> - `--disable-editable` (to avoid >> https://github.com/sagemath/sage/issues/40869) >> - `--with-system-singular=no` (to avoid >> https://github.com/sagemath/sage/issues/40873) >> - `--with-python=python3.13` (so that Sage doesn't use "python3" >> which is Python 3.14 on this machine) >> >> I get one failure: >> >> % ./sage -t src/sage/env.py >> Running doctests with ID 2025-10-29-15-35-11-5ab80ccb. >> Git branch: develop >> Git ref: 10.8.beta8 >> Running with >> SAGE_LOCAL='/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local' and >> SAGE_VENV='/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13' >> Using --optional=homebrew,pip,sage,sage_spkg >> Features to be detected: >> 32_bit,4ti2,benzene,bliss,buckygen,conway_polynomials,coxeter3,csdp,cvxopt,cvxopt,database_cremona_ellcurve,database_cremona_mini_ellcurve,database_cubic_hecke,database_ellcurves,database_graphs,database_jones_numfield,database_knotinfo,dot2tex,dvipng,ecm,flatter,fpylll,fricas,gap_package_atlasrep,gap_package_design,gap_package_grape,gap_package_guava,gap_package_hap,gap_package_polenta,gap_package_polycyclic,gap_package_qpa,gap_package_quagroup,gfan,giac,glucose,graphviz,imagemagick,info,ipython,jmol,jupymake,jupyter_sphinx,kenzo,khoca,kissat,latte_int,lrcalc_python,lrslib,mathics,matroid_database,mcqd,meataxe,meson_editable,mpmath,msolve,nauty,networkx,numpy,palp,pandoc,pdf2svg,pdftocairo,pexpect,phitigra,pillow,plantri,polytopes_db,polytopes_db_4d,pplpy,primecountpy,ptyprocess,pycosat,pycryptosat,pynormaliz,pyparsing,python_igraph,regina,requests,rpy2,rubiks,sage.combinat,sage.geometry.polyhedron,sage.graphs,sage.groups,sage.libs.braiding,sage.libs.ecl,sage.libs.flint,sage.libs.gap,sage.libs.giac,sage.libs.homfly,sage.libs.linbox,sage.libs.m4ri,sage.libs.ntl,sage.libs.pari,sage.libs.singular,sage.misc.cython,sage.modular,sage.modules,sage.numerical.mip,sage.plot,sage.rings.complex_double,sage.rings.finite_rings,sage.rings.function_field,sage.rings.number_field,sage.rings.padics,sage.rings.polynomial.pbori,sage.rings.real_double,sage.rings.real_mpfr,sage.sat,sage.schemes,sage.symbolic,sage_numerical_backends_coin,sagemath_doc_html,scipy,singular,sirocco,sloane_database,sphinx,symengine_py,sympy,tdlib,threejs,topcom >> Doctesting 1 file. >> src/bin/sage -t --warn-long 5.0 >> --random-seed=131450267099991321955449493880756136666 src/sage/env.py >> ********************************************************************** >> File "src/sage/env.py", line 377, in sage.env.cython_aliases >> Failed example: >> cython( # optional - >> sage.misc.cython >> ''' >> #distutils: extra_compile_args = OPENMP_CFLAGS >> #distutils: extra_link_args = OPENMP_CFLAGS >> from cython.parallel import prange >> >> cdef int i >> cdef int n = 30 >> cdef int sum = 0 >> >> for i in prange(n, num_threads=4, nogil=True): >> sum += i >> >> print(sum) >> ''') >> Exception raised: >> Traceback (most recent call last): >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/setuptools/_distutils/spawn.py", >> >> line 87, in spawn >> subprocess.check_call(cmd, env=_inject_macos_ver(env)) >> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> File >> "/opt/homebrew/Cellar/[email protected]/3.13.9_1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/subprocess.py", >> >> line 419, in check_call >> raise CalledProcessError(retcode, cmd) >> subprocess.CalledProcessError: Command '['/usr/bin/gcc', >> '-fno-strict-overflow', '-Wsign-compare', '-Wunreachable-code', >> '-fno-common', '-dynamic', '-DNDEBUG', '-g', '-O3', '-Wall', >> '-I/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8', >> '-I/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages', >> >> '-I/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/include', >> >> '-I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.13/include/python3.13', >> >> '-c', >> '/var/folders/7c/bz8vl5tx47ndyy8knwrtg1k00000gp/T/sage_vmiv0kq0/spyx_5z6bjhrw/_var_folders_7c_bz8vl5tx47ndyy8knwrtg1k00000gp_T_sage_vmiv0kq0_tmp_h8t_86ki_pyx/_var_folders_7c_bz8vl5tx47ndyy8knwrtg1k00000gp_T_sage_vmiv0kq0_tmp_h8t_86ki_pyx_0.c', >> >> '-o', >> '/var/folders/7c/bz8vl5tx47ndyy8knwrtg1k00000gp/T/sage_vmiv0kq0/spyx_5z6bjhrw/_var_folders_7c_bz8vl5tx47ndyy8knwrtg1k00000gp_T_sage_vmiv0kq0_tmp_h8t_86ki_pyx/build/temp.macosx-15.0-arm64-cpython-313/var/folders/7c/bz8vl5tx47ndyy8knwrtg1k00000gp/T/sage_vmiv0kq0/spyx_5z6bjhrw/_var_folders_7c_bz8vl5tx47ndyy8knwrtg1k00000gp_T_sage_vmiv0kq0_tmp_h8t_86ki_pyx/_var_folders_7c_bz8vl5tx47ndyy8knwrtg1k00000gp_T_sage_vmiv0kq0_tmp_h8t_86ki_pyx_0.o', >> >> '-fopenmp', '-w']' returned non-zero exit status 1. >> >> The above exception was the direct cause of the following exception: >> >> Traceback (most recent call last): >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/setuptools/_distutils/compilers/C/unix.py", >> >> line 221, in _compile >> self.spawn(compiler_so + cc_args + [src, '-o', obj] + >> extra_postargs) >> >> ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/setuptools/_distutils/compilers/C/base.py", >> >> line 1158, in spawn >> spawn(cmd, dry_run=self.dry_run, **kwargs) >> ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/setuptools/_distutils/spawn.py", >> >> line 93, in spawn >> raise DistutilsExecError( >> f"command {_debug(cmd)!r} failed with exit code >> {err.returncode}" >> ) from err >> distutils.errors.DistutilsExecError: command '/usr/bin/gcc' failed >> with exit code 1 >> >> During handling of the above exception, another exception occurred: >> >> Traceback (most recent call last): >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/sage/misc/cython.py", >> >> line 461, in cython >> dist.run_command("build") >> ~~~~~~~~~~~~~~~~^^^^^^^^^ >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/setuptools/dist.py", >> >> line 1102, in run_command >> super().run_command(command) >> ~~~~~~~~~~~~~~~~~~~^^^^^^^^^ >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/setuptools/_distutils/dist.py", >> >> line 1021, in run_command >> cmd_obj.run() >> ~~~~~~~~~~~^^ >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/setuptools/_distutils/command/build.py", >> >> line 135, in run >> self.run_command(cmd_name) >> ~~~~~~~~~~~~~~~~^^^^^^^^^^ >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/setuptools/_distutils/cmd.py", >> >> line 357, in run_command >> self.distribution.run_command(command) >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/setuptools/dist.py", >> >> line 1102, in run_command >> super().run_command(command) >> ~~~~~~~~~~~~~~~~~~~^^^^^^^^^ >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/setuptools/_distutils/dist.py", >> >> line 1021, in run_command >> cmd_obj.run() >> ~~~~~~~~~~~^^ >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/setuptools/command/build_ext.py", >> >> line 96, in run >> _build_ext.run(self) >> ~~~~~~~~~~~~~~^^^^^^ >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/setuptools/_distutils/command/build_ext.py", >> >> line 368, in run >> self.build_extensions() >> ~~~~~~~~~~~~~~~~~~~~~^^ >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/setuptools/_distutils/command/build_ext.py", >> >> line 484, in build_extensions >> self._build_extensions_serial() >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/setuptools/_distutils/command/build_ext.py", >> >> line 510, in _build_extensions_serial >> self.build_extension(ext) >> ~~~~~~~~~~~~~~~~~~~~^^^^^ >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/setuptools/command/build_ext.py", >> >> line 261, in build_extension >> _build_ext.build_extension(self, ext) >> ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/Cython/Distutils/build_ext.py", >> >> line 136, in build_extension >> super().build_extension(ext) >> ~~~~~~~~~~~~~~~~~~~~~~~^^^^^ >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/setuptools/_distutils/command/build_ext.py", >> >> line 565, in build_extension >> objects = self.compiler.compile( >> sources, >> ...<5 lines>... >> depends=ext.depends, >> ) >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/setuptools/_distutils/compilers/C/base.py", >> >> line 655, in compile >> self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) >> ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/setuptools/_distutils/compilers/C/unix.py", >> >> line 223, in _compile >> raise CompileError(msg) >> distutils.compilers.C.errors.CompileError: command '/usr/bin/gcc' >> failed with exit code 1 >> >> During handling of the above exception, another exception occurred: >> >> Traceback (most recent call last): >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/sage/doctest/forker.py", >> >> line 734, in _run >> self.compile_and_execute(example, compiler, test.globs) >> ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/sage/doctest/forker.py", >> >> line 1158, in compile_and_execute >> exec(compiled, globs) >> ~~~~^^^^^^^^^^^^^^^^^ >> File "<doctest sage.env.cython_aliases[5]>", line 1, in <module> >> cython( # optional >> - sage.misc.cython >> >> ~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> ''' >> ^^^ >> ...<11 lines>... >> print(sum) >> ^^^^^^^^^^ >> ''') >> ^^^^ >> File "sage/misc/lazy_import.pyx", line 413, in >> sage.misc.lazy_import.LazyImport.__call__ >> return self.get_object()(*args, **kwds) >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/sage/misc/cython.py", >> >> line 734, in cython_compile >> return cython_import_all(tmpfile, get_globals(), **kwds) >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/sage/misc/cython.py", >> >> line 620, in cython_import_all >> m = cython_import(filename, **kwds) >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/sage/misc/cython.py", >> >> line 588, in cython_import >> name, build_dir = cython(filename, **kwds) >> ~~~~~~^^^^^^^^^^^^^^^^^^ >> File >> "/Users/jpalmier/Sage/TESTING/test/sage-10.8.beta8/local/var/lib/sage/venv-python3.13/lib/python3.13/site-packages/sage/misc/cython.py", >> >> line 467, in cython >> raise RuntimeError(msg.strip()) >> RuntimeError: command '/usr/bin/gcc' failed with exit code 1 >> clang: error: unsupported option '-fopenmp' >> ********************************************************************** >> 1 item had failures: >> 1 of 7 in sage.env.cython_aliases >> [39 tests, 1 failure, 1.68s wall] >> ---------------------------------------------------------------------- >> src/bin/sage -t --warn-long 5.0 >> --random-seed=131450267099991321955449493880756136666 src/sage/env.py # 1 >> doctest failed >> ---------------------------------------------------------------------- >> Total time for all tests: 3.1 seconds >> cpu time: 0.8 seconds >> cumulative wall time: 1.7 seconds >> Features detected for doctesting: sage.misc.cython >> >> >> >> >> On Monday, October 27, 2025 at 4:17:19 PM UTC-7 Volker Braun wrote: >> >>> A bit late since my router died last week, but better late than never ;) >>> >>> We should soon start with a first release candidate. >>> >>> 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 >>> >>> >>> aa27703384a (tag: 10.8.beta8, github/develop) Updated SageMath version >>> to 10.8.beta8 >>> 7dc22dee03f gh-41104: never append ':' to the end of PKG_CONFIG_PATH in >>> .homebrew-build-env >>> c154c72b562 gh-41103: some python-style for loops in rings/padics >>> a410a3eef62 gh-41102: Hypergeometric Functions >>> 0b0b4476a3c gh-41096: Fix bug with creation of extensions of function >>> fields >>> 33950d6d2df gh-41094: Add some missing docstrings to >>> `multi_polynomial_ring_base.pyx` >>> 79f3de4c840 gh-41093: Update maxima package use flags for Gentoo >>> 23d371a7139 gh-41092: tweak annotations for cachefunc >>> 469417b5229 gh-41089: various small things about len >>> 9de3d3dc1f6 gh-41088: remove _coerce_impl in finite_rings >>> 48f62ff9b61 gh-41087: remove old-style _coerce_impl in abvar/ >>> 1a91b4d6ab5 gh-41082: Fix majorization again >>> e206e205a68 gh-41078: Docutils 0.22 compatibility >>> 0b691f2dfaf gh-41076: change the default algorithm to the faster one in >>> {path, cycle}_enumeration >>> b80b48b02f9 gh-41074: relax Python version constraints in pyproject >>> template >>> b8d85197ed6 gh-41071: Fix missing file error with sage_getdoc >>> f5c04cb032b gh-41062: remove deprecations in finite_rings >>> 8c8b1efcaa5 gh-41059: convert some loops in groups to python-style >>> 26c140bb33d gh-41058: remove some deprecated stuff in rings/ >>> 87f138886c6 gh-41057: Fix libgap conversion of large Python integers and >>> Sage integers >>> 084181fa7dc gh-41055: require 6 to be a unit in elliptic-curve point >>> addition over non-fields >>> f0a0b98768c gh-41052: Ensure connected graphs in tests >>> 1a30f6a75c8 gh-41051: modernize for loops in modules/ >>> 3426712f377 gh-41050: fix deprecation message in banner.py >>> 405b5d06d68 gh-41041: better error message in magma_free when timeout >>> 0d507f4d1a2 gh-41040: refuse to compare two ideals that we don't know >>> how to compare >>> b2b6663da8e gh-41037: Enable save/load to accept Path objects >>> abf9f5a8620 gh-41036: Remove tomli >>> 55baed01485 gh-41034: bump (tex)info to the the latest version, 7.2 >>> bf5453f8398 gh-41032: Fix sageinspect for Python 3.14 >>> 1056490c4e5 gh-41030: Define a SAGE_CONFIGURE_BOOST environment variable >>> in the build shell >>> 190f165a5df gh-41029: Add debian-forky to Meson CI >>> fc63f845d31 gh-41027: Avoid excessive parallelism for doc/bootstrap >>> 48459892263 gh-41021: Refactor ``atexit.pyx`` >>> 7b6f21f6b1f gh-41018: Fix some typos in p-adic code >>> e8239e27c95 gh-41013: make use of the b-file >>> 7228b9aa315 gh-40997: implement the lattice of Baxter permutations >>> be45c1e2c91 gh-40976: Use flint for computing charpoly of rational matrix >>> 3b77cbef5ca gh-40973: Fix libgap(<NumberField>) >>> d788c5adecc gh-40947: Fix finite field GF(p).extension(1, names=tuple) >>> caa5081c94b gh-40934: Add methods related to graph homeomorphisms >>> 54d4ddb132c gh-40919: Make tests pass with GAP 4.15 >>> b3899299fa2 gh-40912: cli: Allow importing modules from the current >>> directory when running a command or a file. >>> 971cdc747a7 gh-40892: spkg bumps for Python 3.14 >>> d735455e552 gh-40855: Fix singular Z2m ring creation and polynomial >>> comparison >>> 74862ba631a gh-40801: Remove magic `# sage_setup` comments and their >>> handling >>> 4052f24b721 gh-40775: Update curl and cmake >>> 0c1873b2222 gh-40742: Improve shell code formatting in docs, second part >>> 71624ce2b68 gh-40741: Fix-40738: Fix ExteriorAlgebra multiplication to >>> preserve symbolic coefficients >>> 890a64996b4 gh-40734: Avoid mutate Integer.value at a few more places, >>> remove sig_occurred() check in Integer fast_tp_dealloc >>> 9e1f6009a72 gh-40689: remove boost_cropped spkg, add boost to prereqs >>> 31089d4c5d2 gh-40570: Fix fricas doctest pickling >>> 44c09adf9b9 gh-40527: Refactor sage.groups.generic >>> 46b3f791aa7 gh-40265: Migrate from Maxima pexpect interface to ECL >>> interface >>> f766a2895bd gh-41030: Define a SAGE_CONFIGURE_BOOST environment variable >>> in the build shell >>> 9f905404644 (tag: 10.8.beta7) Updated SageMath version to 10.8.beta7 >>> >> -- >> 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 [email protected]. >> To view this discussion visit >> https://groups.google.com/d/msgid/sage-release/b9465609-6725-4834-bd7c-39ce3be795f3n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/sage-release/b9465609-6725-4834-bd7c-39ce3be795f3n%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 [email protected]. To view this discussion visit https://groups.google.com/d/msgid/sage-release/7dc0b21a-d43e-4ecb-b983-fbea7562fdb2n%40googlegroups.com.
