Sage 10.8.beta5 released

241 views
Skip to first unread message

Volker Braun

unread,
Sep 27, 2025, 4:24:39 PMSep 27
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

This now lets you build Sage from a clean repo again

f4adc250dcc (HEAD -> develop, tag: 10.8.beta5, github/develop, github/HEAD) Updated SageMath version to 10.8.beta5
0ef31d1493e (origin/develop) gh-40877: Revert gh-40765 which breaks builds from the git repo
c76e5732904 gh-40881: sage.categories.finite_fields: don't import from integer_ring
73534d061e3 gh-40880: update mypy config
2d7ac649b9b gh-40879: sage.rings.polynomial.polynomial_singular_interface: drop unused import
f933e1b77aa gh-40865: some typing -> bool for is_* methods
3f910e456b5 gh-40864: remove deprecated function in plot3d/texture
ca525df620d gh-40863: remove a deprecated alias in quadratic forms
418f3e9c7a4 gh-40862: remove deprecated aliases in real_set
32f6fc6e175 gh-40861: removed some deprecations in structure
451f8873b7e gh-40860: some care for pbori
36741a523fc gh-40858: Fix const polynomial conversion to Singular interface
42c4f72447d gh-40857: Fix pdf docbuild failure if destination file exists
487663cccbc gh-40856: Workaround for linbox charpoly/minpoly issues
d25b9f144b9 gh-40853: adding a note on Coxeter polynomials
9ef52039751 gh-40852: clean and annotate _gap_init_ -> str
b1492b466ce gh-40851: add some -> tuple annotations
2e4ef691f0d gh-40843: Restore release notes creation step
b0b0395810b gh-40839: Fix in label synchronization bot according to issue #40758
3efb3f4181c gh-40814: Rerun plural and singular/function on failure
26c168c736d gh-40810: Implement is_hyperelliptic
85f65571f75 gh-40795: Fixing a bug in permuted basement NS Macdonalds and some cleanup
5eebf97feec gh-40755: cli: print full backtrace if there is an exception when running a file
ddfdc3e24f8 gh-40746: Print full relative path for sage-runtests
d12a97eccb2 gh-40678: Fix pytest collection
a8914f81934 gh-40618: ⬆️ Bump jakebailey/pyright-action from 2.3.2 to 2.3.3
83b52a79bab (tag: 10.8.beta4) Updated SageMath version to 10.8.beta4

Tobias Diez

unread,
Sep 28, 2025, 12:16:02 AMSep 28
to sage-release
MacOS CI is failing with https://github.com/sagemath/sage/issues/40898. The error happened from time to time in the last few weeks, but now seems to be continuously reproducible on CI. Would be nice if one of the macos users finds the time to investigate and fix this issue. (Seems to be related to homebrew ntl)

Steven Trogdon

unread,
Sep 28, 2025, 2:16:12 PMSep 28
to sage-release
Unable to build html docs here. I'm unable to post the log file (there is no paperclip in my browser menu options) so I will give sections:

[spkg-install] [a_tour_of] Traceback
[spkg-install] [a_tour_of] =========
[spkg-install] [a_tour_of]       File "/usr/lib/python3.13/site-packages/sphinx_inline_tabs/_impl.py", line 26, in visit
[spkg-install] [a_tour_of]         attributes.pop("backrefs")
[spkg-install] [a_tour_of]         ~~~~~~~~~~~~~~^^^^^^^^^^^^
[spkg-install] [a_tour_of]     KeyError: 'backrefs'
[spkg-install] [a_tour_of] The full traceback has been saved in:
[spkg-install] [a_tour_of] /tmp/sphinx-err-3zf8iqyx.log

And from /tmp/sphinx-err-3zf8iqyx.log

* sphinx_inline_tabs (2023.04.21)
* IPython.sphinxext.ipython_directive (unknown version)
* matplotlib.sphinxext.plot_directive (3.10.3)
* jupyter_sphinx (0.5.3)
* furo (2024.07.18)
* sphinx_basic_ng (1.0.0.beta2)
 
Traceback
=========
 
    Traceback (most recent call last):
      File "/usr/lib/python3.13/site-packages/sphinx/cmd/build.py", line 432, in build_main
        app.build(args.force_all, args.filenames)
        ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/usr/lib/python3.13/site-packages/sphinx/application.py", line 426, in build
        self.builder.build_update()
        ~~~~~~~~~~~~~~~~~~~~~~~~~^^
      File "/usr/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 375, in build_update
        self.build(
        ~~~~~~~~~~^
            to_build,
            ^^^^^^^^^
        ...<2 lines>...
            method='update',
            ^^^^^^^^^^^^^^^^
        )
        ^
      File "/usr/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 454, in build
        self.write(docnames, updated_docnames, method)
        ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/usr/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 735, in write
        self.write_documents(docnames)
        ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
      File "/usr/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 749, in write_documents
        self._write_serial(sorted_docnames)
        ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
      File "/usr/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 768, in _write_serial
        self.write_doc(docname, doctree)
        ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
      File "/usr/lib/python3.13/site-packages/sphinx/builders/html/__init__.py", line 670, in write_doc
        self.docwriter.write(doctree, destination)
        ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
      File "/usr/lib/python3.13/site-packages/docutils/writers/__init__.py", line 97, in write
        self.translate()
        ~~~~~~~~~~~~~~^^
      File "/usr/lib/python3.13/site-packages/sphinx/writers/html.py", line 36, in translate
        self.document.walkabout(visitor)
        ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
      File "/usr/lib/python3.13/site-packages/docutils/nodes.py", line 232, in walkabout
        if child.walkabout(visitor):
           ~~~~~~~~~~~~~~~^^^^^^^^^
      File "/usr/lib/python3.13/site-packages/docutils/nodes.py", line 232, in walkabout
        if child.walkabout(visitor):
           ~~~~~~~~~~~~~~~^^^^^^^^^
      File "/usr/lib/python3.13/site-packages/docutils/nodes.py", line 232, in walkabout
        if child.walkabout(visitor):
           ~~~~~~~~~~~~~~~^^^^^^^^^
      File "/usr/lib/python3.13/site-packages/docutils/nodes.py", line 224, in walkabout
        visitor.dispatch_visit(self)
        ~~~~~~~~~~~~~~~~~~~~~~^^^^^^
      File "/usr/lib/python3.13/site-packages/sphinx/util/docutils.py", line 767, in dispatch_visit
        method(node)
        ~~~~~~^^^^^^
      File "/usr/lib/python3.13/site-packages/sphinx_inline_tabs/_impl.py", line 26, in visit
        attributes.pop("backrefs")
        ~~~~~~~~~~~~~~^^^^^^^^^^^^
    KeyError: 'backrefs'

Perhaps incompatibility between current sphinx and sphinx-inline-tabs. If so, is sphinx-tabs a solution?

François Bissey

unread,
Sep 28, 2025, 2:50:07 PMSep 28
to sage-r...@googlegroups.com
Hi Steve,

That looks very much like https://github.com/cschwan/sage-on-gentoo/issues/810#issuecomment-3300452963
which is solved by downgrading docutils. Maybe sphinx-inline-tabs does need some porting to the new docutils.

François
--
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/1bc6d562-b9a3-47ca-ba0a-be1c3549c1fan%40googlegroups.com.

Marc Culler

unread,
Sep 28, 2025, 6:43:28 PM (14 days ago) Sep 28
to sage-release
I am not able to build the scipy spkg with 10.8beta5 on macOS arm.  The build fails with a bogus error like "fortran compiler cannot generate code".  I say it is bogus because (a) the same gfortran worked fine to build openblas and (b) it also works fine to build scipy if I set my PATH to include sage/local/bin and run `pip wheel .` in the scipy spkg src directory.  But if I follow the recommended procedure to setup the sage build environment and change to the scipy src directory then running bash spkg-install fails with the same bogus error about gfortran.  So some variable is being set in the sage build environment that breaks gfortram.

I thought I might be able to build the wheel and install it with Sage's pip and then use configure args -enable-system-site-packages and -with-system-scipy=yes.  (My "system" is located in sage/local/lib.).  That appeared to work.  The config.log says: 
    real_configure:92110: will use system package and not install SPKG scipy
However, that turns out to be a lie.  When I run make build it tries to build the scipy spkg, anyway and that fails with the same bogus error.

Any insights would be very welcome!

- Marc

Dima Pasechnik

unread,
Sep 28, 2025, 7:43:04 PM (14 days ago) Sep 28
to sage-r...@googlegroups.com
Hi Marc,
you know the drill - please post config.log and the scipy spkg install log.

It would also help to know where your gfortran is coming, as the logs are sometimes not very helpful.
Message has been deleted
Message has been deleted

Marc Culler

unread,
Sep 28, 2025, 9:38:29 PM (14 days ago) Sep 28
to sage-r...@googlegroups.com
Yes, but I figured it out (I think).  Just a stupid mistake on my part.  Somehow the libgfortran that got installed in Sage was the one for x86_64 not arm64.  And that is what meson was trying to use to build scipy.

There is an important lesson here, though.  The problem was obvious once I managed to get the meson log file.  But the default behavior for meson is to put the log file in a temp directory and then delete the directory whether or not the build succeeds.  Sounds unbelievable, but it seems to be true.  The magic trick is to edit spkg-install.in to replace the line:
sdh_pip_install --no-build-isolation .
with
sdh_pip_install --no-build-isolation --config-settings build-dir=build .
The effect of that is to make meson write the log file into a directory named build inside the spkg src directory so that you can actually read the log file.  Since Sage deletes the whole build directory anyway, there is no reason to create a temp directory inside of the build directory which is already a temp directory itself.  And the meson log file is actually extremely helpful.

SUGGESTION: add the option --config-settings build-dir=build to all spkgs which build with meson.

- 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/6hW5ZBQj_Uc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sage-release...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sage-release/925E8923-34E5-433F-8376-5AC61AE1296D%40gmail.com.

Marc Culler

unread,
Sep 28, 2025, 9:56:08 PM (14 days ago) Sep 28
to sage-r...@googlegroups.com
The next issue, after scipy built, was that sagelib would not build.  The cause of that was more obvious.  But it is a major departure from 10.7 in the direction of adding new dependencies:

[spkg-install] Run-time dependency Boost (missing: graph, tuple) found: NO (tried system)
[spkg-install] Run-time dependency OpenMP found: NO (tried system)
[spkg-install] Run-time dependency mtx found: NO (tried pkgconfig, framework and cmake)

Especially given that the spkg boost_cropped-1.66.0.p0 was successfully installed.  So Sage's cropped boost is no longer sufficient for Sage?

- Marc

Dima Pasechnik

unread,
Sep 28, 2025, 10:30:58 PM (14 days ago) Sep 28
to sage-r...@googlegroups.com
On Sun, Sep 28, 2025 at 8:56 PM Marc Culler <marc....@gmail.com> wrote:
>
> The next issue, after scipy built, was that sagelib would not build. The cause of that was more obvious. But it is a major departure from 10.7 in the direction of adding new dependencies:
>
> [spkg-install] Run-time dependency Boost (missing: graph, tuple) found: NO (tried system)

our boost_cropped is ancient, and I proposed
https://github.com/sagemath/sage/pull/40689
- instead of dragging it along, just get rid of it, as it's trivial to
install (yes, on "bare" macOS as well)

The main problem of boost is that it's quite demanding on the C++
compiler, and we have OSs on which nothing
newer than our Boost works (e.g. OpenSuse) - and we have OSs with very
new compilers that don't like our boost version.
Moving it to external dependencies, which would allow a great
flexibility as far as versions go,
seems to be the only feasible way out.


> [spkg-install] Run-time dependency OpenMP found: NO (tried system)

Do you have an OpenMP library installed ?
Apple stopped shipping these some time ago. Homebrew does ship these
(LLVM-OpenMP library, libomp, not GNU OpenMP, libgomp)
It still allows compiling OpenMP with XCode - with a non-standard flag
'-Xpreprocessor -fopenmp'.

> [spkg-install] Run-time dependency mtx found: NO (tried pkgconfig, framework and cmake)
since https://github.com/sagemath/sage/pull/40673 mtx should be
discoverable via pkg-config.
I think you're the 1st to complain about it (as well as about boost).

>
> Especially given that the spkg boost_cropped-1.66.0.p0 was successfully installed. So Sage's cropped boost is no longer sufficient for Sage?

it could be that your OS/compiler/hardware config is too new?

It's hard to tell without logs.
And yes, I agree it's a good idea to have meson logs configurable - I
would even say they can always be stored in logs/pkgs/, why not?

Dima
> 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/CALcZXRGaTe3_Qyv88U4wSn8v%2B_T4cmtiTBUjRUq7JEHKHhBUcw%40mail.gmail.com.

Marc Culler

unread,
Sep 28, 2025, 11:32:14 PM (14 days ago) Sep 28
to sage-release
On Sunday, September 28, 2025 at 9:30:58 PM UTC-5 Dima Pasechnik wrote:
Moving it [boost] to external dependencies, which would allow a great
flexibility as far as versions go,
seems to be the only feasible way out.

Boost is 200MB, and only a small part of it is used by sagelib.  As you know Sage_macOS is self-contained and cannot assume that any given package will exist on the target system.  So it was a helpful feature to have a boost spkg that only contained the part of boost that Sage needs.

Do you have an OpenMP library installed ?

No, and I did not need one to build Sage 9.2 - 10.7.
 
> [spkg-install] Run-time dependency mtx found: NO (tried pkgconfig, framework and cmake)
since https://github.com/sagemath/sage/pull/40673 mtx should be
discoverable via pkg-config.

Well, libmtx had been built and a libmtx.pc file was created in my sage/local/lib/pkgconfig directory. 
When I set PKG_CONFIG_PATH to my sage/local/lib/pkconfig directory it seemed somewhat
happier.  It said:

[spkg-install] Run-time dependency mtx found: NO (tried pkgconfig, framework and cmake)
[spkg-install] Has header "meataxe.h" : YES
[spkg-install] Library mtx found: YES

So that is two YES's and one NO.  Does that mean that it discovered libmtx?

- Marc

Dima Pasechnik

unread,
Sep 29, 2025, 12:30:07 AM (14 days ago) Sep 29
to sage-r...@googlegroups.com
On Sun, Sep 28, 2025 at 10:32 PM Marc Culler <marc....@gmail.com> wrote:
>
> On Sunday, September 28, 2025 at 9:30:58 PM UTC-5 Dima Pasechnik wrote:
>
> Moving it [boost] to external dependencies, which would allow a great
> flexibility as far as versions go,
> seems to be the only feasible way out.
>
>
> Boost is 200MB, and only a small part of it is used by sagelib. As you know Sage_macOS is self-contained and cannot assume that any given package will exist on the target system. So it was a helpful feature to have a boost spkg that only contained the part of boost that Sage needs.

You don't need to ship boost's libraries in the app. And if you don't
allow running cython in it, you don't need any boost shipped. It's
then
a build-only dependency. Full boost headers are indeed almost 200Mb,
but compressed they are ~15Mb.

>
> Do you have an OpenMP library installed ?
>
>
> No, and I did not need one to build Sage 9.2 - 10.7.

Then there is nothing to worry about here, no?

>
>
> > [spkg-install] Run-time dependency mtx found: NO (tried pkgconfig, framework and cmake)
> since https://github.com/sagemath/sage/pull/40673 mtx should be
> discoverable via pkg-config.
>
>
> Well, libmtx had been built and a libmtx.pc file was created in my sage/local/lib/pkgconfig directory.
> When I set PKG_CONFIG_PATH to my sage/local/lib/pkconfig directory it seemed somewhat
> happier. It said:
>
> [spkg-install] Run-time dependency mtx found: NO (tried pkgconfig, framework and cmake)
> [spkg-install] Has header "meataxe.h" : YES
> [spkg-install] Library mtx found: YES
>
> So that is two YES's and one NO. Does that mean that it discovered libmtx?

yes, the last YES/NO is the final result. It tries this and that...
But, indeed, as an optional package it might have been neglected.
It's strange to see NO (tried pkgconfig), I'd expect YES.

Thanks for pointing this out, we'll have a look:
https://github.com/sagemath/sage/issues/40910

(But in the end mtx is found, without any manual interventions to
PKG_CONFIG_PATH.)

Also, note that meson loves to cache configurations, so it's sometimes
needed to "make sagelib-clean" to tell it
to forget everything and try again.

HTH,
Dima


>
> - 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 visit https://groups.google.com/d/msgid/sage-release/e07010ab-84e4-45a8-93da-1717d5ef2712n%40googlegroups.com.

Marc Culler

unread,
Sep 29, 2025, 9:30:39 AM (13 days ago) Sep 29
to sage-r...@googlegroups.com
On Sun, Sep 28, 2025 at 11:30 PM Dima Pasechnik <dim...@gmail.com> wrote:

(But in the end mtx is found, without any manual interventions to
PKG_CONFIG_PATH.)

No, for me it was not found until I set PKG_CONFIG_PATH.  But my .pc files are in a really weird non-standard place, namely sage/local/lib/pkgconfig.

- Marc

Marc Culler

unread,
Sep 29, 2025, 9:42:11 AM (13 days ago) Sep 29
to sage-r...@googlegroups.com
On Sun, Sep 28, 2025 at 11:30 PM Dima Pasechnik <dim...@gmail.com> wrote:
You don't need to ship boost's libraries in the app.

Why not?  That would imply that sage does not use any boost libraries.  Is that really the case?  Sage only uses the headers?  The meson error message complained about missing boost graphs.  There is a shared library libboost_graph.dylib as well as a large directory include/boost/graph.  Are you sure that only the headers are needed?  I would be surprised to learn that sagelib is statically linked against libboost_graph.a.

And if you don't allow running cython in it, you don't need any boost shipped.

Currently the app supports %cython.  But I don't understand how boost is related to cython.  Can you explain?

- Marc

Steven Trogdon

unread,
Sep 30, 2025, 2:44:46 AM (13 days ago) Sep 30
to sage-release
Yes,  >=docutils-0.22 is a no go. Downgrading to docutils-0.21.2 removed the sphinx-inline-tabs error. I wonder whether the configure should have caught this and prevented the use of my local docutils? Also, even with the correct docutils I still have issue https://github.com/sagemath/sage/issues/40868 on one machine.

Marc Culler

unread,
Sep 30, 2025, 10:50:31 AM (12 days ago) Sep 30
to sage-release
I was able to build sagelib by replacing sage/local/include/boost (as installed by the boost spkg) with a copy of that same directory from boost-1.89.0.

So, moving on to the next build failure, I was unable to download sage_numerical_backends_coin.  It is no surprise that the file is not on any Sage mirror.  But it seems that the upstream url is also incorrect:

raise FileNotMirroredError('tarball does not exist on mirror network and neither at the upstream URL')
sage_bootstrap.tarball.FileNotMirroredError: tarball does not exist on mirror network and neither at the upstream URL
Exception ignored in: <http.client.HTTPResponse object at 0x1092bdff0>

Traceback (most recent call last):
  File "/private/var/tmp/sage-10.8-current/local/lib/python3.13/http/client.py", line 432, in close
    super().close() # set "closed" flag
  File "/private/var/tmp/sage-10.8-current/local/lib/python3.13/http/client.py", line 445, in flush
    self.fp.flush()
ValueError: I/O operation on closed file.
************************************************************************
Error downloading tarball of sage_numerical_backends_coin
************************************************************************ 

- Marc

Dima Pasechnik

unread,
Sep 30, 2025, 12:20:03 PM (12 days ago) Sep 30
to sage-r...@googlegroups.com
On Mon, Sep 29, 2025 at 8:42 AM Marc Culler <marc....@gmail.com> wrote:
On Sun, Sep 28, 2025 at 11:30 PM Dima Pasechnik <dim...@gmail.com> wrote:
You don't need to ship boost's libraries in the app.

Why not?  That would imply that sage does not use any boost libraries.  Is that really the case?  Sage only uses the headers? 

the boost_cropped is a header-only thing.
 
The meson error message complained about missing boost graphs.  There is a shared library libboost_graph.dylib as well as a large directory include/boost/graph.  Are you sure that only the headers are needed?  I would be surprised to learn that sagelib is statically linked against libboost_graph.a.

in the meson build a standard test for boost is used. As it passes (on the systems we normally test on --- YMMV)
with the header-only boost_cropped, it does not check any libraries, only the headers.
 

And if you don't allow running cython in it, you don't need any boost shipped.

Currently the app supports %cython.  But I don't understand how boost is related to cython.  Can you explain?

If you use C++ as a Cython backend then you can, potentially, use anything available to the C++ compiler, e.g. boost headers.
E.g. if you try to interactively re-do what's done in src/sage/graphs/base/boost_graph.pyx you might hit the snag if boost headers are not there.
(I could not imagine a non-C++ guru trying this, though)

But perhaps C++ in  %cython isn't even possible. If so, this is a non-issue. It's not documented, as far as I can see,


Dima

  

- 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.

Marc Culler

unread,
Sep 30, 2025, 3:58:30 PM (12 days ago) Sep 30
to sage-release
On Tuesday, September 30, 2025 at 11:20:03 AM UTC-5 Dima Pasechnik wrote:

the boost_cropped is a header-only thing.

What this means, as I learned by inspecting the spkg closely,  is that the spkg tarball simply contains the include/boost directory which is created when you install boost. Why that package is named boost_cropped instead of boost_headers is beyond me.

But the main point here is that the current boost spkg contains a version of boost which  appears not to be compatible with clang 17.0.0.  So building sagelib with Sage's boost package fails if you are using clang 17.0.0.  It is pretty trivial to upgrade the boost_cropped package to the current version of boost.  So that would be the obvious solution to this problem.

- Marc

Dima Pasechnik

unread,
Sep 30, 2025, 4:35:07 PM (12 days ago) Sep 30
to sage-r...@googlegroups.com
As I explained already, this is not a solution, as we have supported platforms which are not compatible with the current boost, and we even have at least one which is not compatible with anything newer than the boost version newer than our boost(_cropped).

So this is not a solution. The right solution is to go platform-dependent and use an external boost.
(please don't consider building a full gcc toolchain on the platforms which can't take a new boost as a solution, because it's a disaster).


>
>- Marc
>

Volker Braun

unread,
Oct 1, 2025, 2:57:04 PM (11 days ago) Oct 1
to sage-release
For the record, its called boost_cropped because its only a relatively small part of boost that is needed by Sage.

The upstream boost tarball is ~200MB and a full install can be over 10 GB if all libraries are built. Its quite a big project by itself.

Marc Culler

unread,
Oct 1, 2025, 3:17:37 PM (11 days ago) Oct 1
to sage-r...@googlegroups.com
On Wed, Oct 1, 2025 at 1:57 PM Volker Braun <vbrau...@gmail.com> wrote:
For the record, its called boost_cropped because its only a relatively small part of boost that is needed by Sage.

OK.  But it contains exactly the headers.  If you were to install boost in its own special prefix you would see subdirectories lib, include, and share.  The spkg contains exactly the contents of include, which consists of a single subdirectory boost containing all of the headers.

Given that the spkg contains exactly the headers, it would be much more informative to name it boost_headers instead of boost_cropped, which suggests that someone has carefully curated a subset of boost which is designed specifically to meet Sage's needs.  In fact, I think sage only needs include/boost/graph and include/boost/tuple, but all of the headers are included.

When I installed boost in a prefix named boost on macOS 26 the sizes I got were:

179M boost/include
 25M boost/lib
652K boost/share

- Marc
 
The upstream boost tarball is ~200MB and a full install can be over 10 GB if all libraries are built. Its quite a big project by itself.

On Tuesday, September 30, 2025 at 9:58:30 PM UTC+2 marc....@gmail.com wrote:
On Tuesday, September 30, 2025 at 11:20:03 AM UTC-5 Dima Pasechnik wrote:

the boost_cropped is a header-only thing.

What this means, as I learned by inspecting the spkg closely,  is that the spkg tarball simply contains the include/boost directory which is created when you install boost. Why that package is named boost_cropped instead of boost_headers is beyond me.

But the main point here is that the current boost spkg contains a version of boost which  appears not to be compatible with clang 17.0.0.  So building sagelib with Sage's boost package fails if you are using clang 17.0.0.  It is pretty trivial to upgrade the boost_cropped package to the current version of boost.  So that would be the obvious solution to this problem.

- 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/6hW5ZBQj_Uc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sage-release...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sage-release/0684585b-d978-4635-9098-801728573094n%40googlegroups.com.

Dima Pasechnik

unread,
Oct 1, 2025, 3:44:35 PM (11 days ago) Oct 1
to sage-r...@googlegroups.com
On Wed, Oct 1, 2025 at 2:17 PM Marc Culler <marc....@gmail.com> wrote:
On Wed, Oct 1, 2025 at 1:57 PM Volker Braun <vbrau...@gmail.com> wrote:
For the record, its called boost_cropped because its only a relatively small part of boost that is needed by Sage.

OK.  But it contains exactly the headers.  If you were to install boost in its own special prefix you would see subdirectories lib, include, and share.  The spkg contains exactly the contents of include, which consists of a single subdirectory boost containing all of the headers.

Given that the spkg contains exactly the headers, it would be much more informative to name it boost_headers instead of boost_cropped, which suggests that someone has carefully curated a subset of boost which is designed specifically to meet Sage's needs.  In fact, I think sage only needs include/boost/graph and include/boost/tuple, but all of the headers are included.

Well, as I mentioned, no matter how you call it, it has to go away and be replaced by an external one.
Nothing prevents you from copying whatever headers you want to place in your macOS app, but we cannot vendor even a subset of
boost headers any more, because different systems need different boost versions 
(thanks goodness, our spkg system is not that advanced :-))

Dima

 

When I installed boost in a prefix named boost on macOS 26 the sizes I got were:

179M boost/include
 25M boost/lib
652K boost/share

- Marc
 
The upstream boost tarball is ~200MB and a full install can be over 10 GB if all libraries are built. Its quite a big project by itself.

On Tuesday, September 30, 2025 at 9:58:30 PM UTC+2 marc....@gmail.com wrote:
On Tuesday, September 30, 2025 at 11:20:03 AM UTC-5 Dima Pasechnik wrote:

the boost_cropped is a header-only thing.

What this means, as I learned by inspecting the spkg closely,  is that the spkg tarball simply contains the include/boost directory which is created when you install boost. Why that package is named boost_cropped instead of boost_headers is beyond me.

But the main point here is that the current boost spkg contains a version of boost which  appears not to be compatible with clang 17.0.0.  So building sagelib with Sage's boost package fails if you are using clang 17.0.0.  It is pretty trivial to upgrade the boost_cropped package to the current version of boost.  So that would be the obvious solution to this problem.

- 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/6hW5ZBQj_Uc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sage-release...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sage-release/0684585b-d978-4635-9098-801728573094n%40googlegroups.com.

--
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/CALcZXRG_siMp4nnJ7VykiVT%2BYxcVJODno8MmJ9BwHtb0MscjYQ%40mail.gmail.com.

Dima Pasechnik

unread,
Oct 1, 2025, 7:48:37 PM (11 days ago) Oct 1
to sage-r...@googlegroups.com
On Tue, Sep 30, 2025 at 9:50 AM Marc Culler <marc....@gmail.com> wrote:
I was able to build sagelib by replacing sage/local/include/boost (as installed by the boost spkg) with a copy of that same directory from boost-1.89.0.

So, moving on to the next build failure, I was unable to download sage_numerical_backends_coin.  It is no surprise that the file is not on any Sage mirror.  But it seems that the upstream url is also incorrect:

raise FileNotMirroredError('tarball does not exist on mirror network and neither at the upstream URL')
sage_bootstrap.tarball.FileNotMirroredError: tarball does not exist on mirror network and neither at the upstream URL
Exception ignored in: <http.client.HTTPResponse object at 0x1092bdff0>
Traceback (most recent call last):
  File "/private/var/tmp/sage-10.8-current/local/lib/python3.13/http/client.py", line 432, in close
    super().close() # set "closed" flag
  File "/private/var/tmp/sage-10.8-current/local/lib/python3.13/http/client.py", line 445, in flush
    self.fp.flush()
ValueError: I/O operation on closed file.
************************************************************************
Error downloading tarball of sage_numerical_backends_coin

sage_numerical_backends_* have been broken for more than a year.
Help needed.
They rely on outdated setup mechanics. As well sage_numerical_backends_coin relies on the  cbc spkg, which also needs an update,
but on the other hand it's buggy.

cbc is just a relatively efficient LP/ILP solver, but currently we are spoiled for choice.
E.g. there is HiGHS, an actively maintained MILP/LP solver, hooked up on scipy

Dima

 

Marc Culler

unread,
Oct 2, 2025, 10:48:48 AM (10 days ago) Oct 2
to sage-release
On Wednesday, October 1, 2025 at 6:48:37 PM UTC-5 Dima Pasechnik wrote:
sage_numerical_backends_* have been broken for more than a year.
Help needed.

OK.  Here is something that would help.

If you look at build/pkgs/sage_numerical_backends_coin/package-version.txt you will find that it is a symlink to sage/VERSION_txt.  If you look at build/pkgs/sage_numerical_backends/checksums.ini  you will find:


That means that the spkg is trying to download a file named sage_numerical_backends_coin-10.8.txt which does not exist. The latest version on pypi is 10.4.  If you remove the symlink and put 10.4 in the package-version.txt file then the spkg installs.

Of course the deeper story here is that the only person who maintained those packages was Matthias Koeppe and no one has looked at them since he was kicked out of the sage project.  There is an obvious way to remedy that.

- Marc

Dima Pasechnik

unread,
Oct 2, 2025, 2:47:20 PM (10 days ago) Oct 2
to sage-r...@googlegroups.com
On October 2, 2025 9:48:48 AM CDT, Marc Culler <marc....@gmail.com> wrote:
>On Wednesday, October 1, 2025 at 6:48:37 PM UTC-5 Dima Pasechnik wrote:
>
>sage_numerical_backends_* have been broken for more than a year.
>Help needed.
>
>
>OK. Here is something that would help.
>
>If you look at *build/pkgs/sage_numerical_backends_coin/package-version.txt
>*you will find that it is a symlink to sage/VERSION_txt. If you look at *build/pkgs/sage_numerical_backends/checksums.ini
>* you will find:
>
>upstream_url=https://files.pythonhosted.org/packages/source/s/sage_numerical_backends_coin/sage_numerical_backends_coin-VERSION.txt
>
>That means that the spkg is trying to download a file named
>*sage_numerical_backends_coin-10.8.txt* which does not exist. The latest
>version on pypi is 10.4. If you remove the symlink and put 10.4 in the
>package-version.txt file then the spkg installs.
>
>Of course the deeper story here is that the only person who maintained
>those packages was Matthias Koeppe and no one has looked at them since he
>was kicked out of the sage project. There is an obvious way to remedy that.

fixing the version alone doesn't help. One needs to tell the package
where to look for cython headers, and
the old way is broken. And the new way is reverted in
https://github.com/sagemath/sage/pull/40877 (over my and others
objections)
so now https://github.com/sagemath/sage/issues/40726 is open again.


>
>- Marc
>

david....@gmail.com

unread,
Oct 5, 2025, 9:20:23 AM (7 days ago) Oct 5
to sage-release
another issue on macOS 15.6.1, after brew upgrade, distclean and a full recompilation of sage. 
I was able to install optional packages benzene, buckygen, dot2tex, glucose, plantri, and  csdp..
I fail to install bliss, tdlib and mcqd.

make sagemath_bliss gives:

MAC-XXXXXXXXX:sage dcoudert$ make sagemath_bliss

/Applications/Xcode.app/Contents/Developer/usr/bin/make build/make/Makefile --stop

make[1]: `build/make/Makefile' is up to date.

build/bin/sage-logger \

"cd build/make && ./install 'sagemath_bliss'" logs/install.log

*** ALL ENVIRONMENT VARIABLES BEFORE BUILD: ***

__CF_USER_TEXT_ENCODING=0x73869B6:0x0:0x1

__CFBundleIdentifier=com.apple.Terminal

_=/usr/bin/env

CPATH=/opt/homebrew/opt/primesieve/include:/opt/homebrew/opt/bdw-gc/include:/opt/homebrew/opt/libpng/include:/opt/homebrew/opt/polymake/include:/opt/homebrew/opt/ntl/include:/opt/homebrew/opt/bzip2/include:/opt/homebrew/opt/readline/include:/opt/homebrew/include

CPLEX_HOME=/Users/dcoudert/Applications/CPLEX_Studio2211

CVXOPT_SUITESPARSE_INC_DIR=/opt/homebrew/include/suitesparse

CVXOPT_SUITESPARSE_LIB_DIR=/opt/homebrew/lib

DOT_SAGE=/Users/dcoudert/.sage

HOME=/Users/dcoudert

HOMEBREW_CELLAR=/opt/homebrew/Cellar

HOMEBREW_PREFIX=/opt/homebrew

HOMEBREW_REPOSITORY=/opt/homebrew

INFOPATH=/opt/homebrew/share/info:

LANG=fr_FR.UTF-8

LaunchInstanceID=931AFF54-9A41-4D21-B615-7E43B93E1ACF

LIBRARY_PATH=/opt/homebrew/opt/primesieve/lib:/opt/homebrew/opt/bdw-gc/lib:/opt/homebrew/opt/libpng/lib:/opt/homebrew/opt/polymake/lib:/opt/homebrew/opt/ntl/lib:/opt/homebrew/opt/bzip2/lib:/opt/homebrew/opt/readline/lib:/opt/homebrew/lib

LOGNAME=dcoudert

MAKE=make

MAKEFLAGS= V=1

MAKELEVEL=1

MANPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/share/man:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/usr/share/man:/Applications/Xcode.app/Contents/Developer/usr/share/man:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man:

MFLAGS=

MOSEKLM_LICENSE_FILE=/Users/dcoudert/Applications/mosek/mosek.lic

PATH=/Users/dcoudert/sage/build/bin:/Users/dcoudert/sage/src/bin:/Users/dcoudert/sage/local/bin:/opt/homebrew/opt/polymake/bin:/opt/homebrew/opt/texinfo/bin:/opt/homebrew/opt/bzip2/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Library/TeX/texbin

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:

PWD=/Users/dcoudert/sage/build/make

PYTHONPATH=/Users/dcoudert/sage/local

SAGE_ENV_CONFIG_SOURCED=1

SAGE_LOCAL=/Users/dcoudert/sage/local

SAGE_LOGFILE=logs/install.log

SAGE_LOGS=/Users/dcoudert/sage/logs/pkgs

SAGE_NUM_THREADS_PARALLEL=8

SAGE_NUM_THREADS=1

SAGE_ORIG_PATH_SET=True

SAGE_ORIG_PATH=/opt/homebrew/opt/polymake/bin:/opt/homebrew/opt/texinfo/bin:/opt/homebrew/opt/bzip2/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Library/TeX/texbin

SAGE_PKGCONFIG=/Users/dcoudert/sage/local/lib/pkgconfig

SAGE_ROOT=/Users/dcoudert/sage

SAGE_SHARE=/Users/dcoudert/sage/local/share

SAGE_SRC=/Users/dcoudert/sage/src

SECURITYSESSIONID=186b2

SHELL=/bin/bash

SHLVL=5

SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.zMazxxZDkD/Listeners

TERM_PROGRAM_VERSION=455.1

TERM_PROGRAM=Apple_Terminal

TERM_SESSION_ID=836F5BE4-A4A6-4E78-9253-C143F8869231

TERM=xterm-256color

TMPDIR=/var/folders/hw/w6ldqpgn52vdvv03cgbkkr3h3lhtdp/T/

USER=dcoudert

XPC_FLAGS=0x0

XPC_SERVICE_NAME=0

***********************************************

make --no-print-directory sagemath_bliss-SAGE_VENV-no-deps

[sagemath_bliss-10.8.beta5] Setting up build directory /Users/dcoudert/sage/local/var/lib/sage/venv-python3.12/var/tmp/sage/build/sagemath_bliss-10.8.beta5

[sagemath_bliss-10.8.beta5] Host system: Darwin MAC-04017247 24.6.0 Darwin Kernel Version 24.6.0: Mon Jul 14 11:30:29 PDT 2025; root:xnu-11417.140.69~1/RELEASE_ARM64_T6000 arm64

[sagemath_bliss-10.8.beta5] C compiler: gcc, Apple clang version 17.0.0 (clang-1700.3.19.1), Target: arm64-apple-darwin24.6.0, Thread model: posix, InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

[sagemath_bliss-10.8.beta5] No stamp file for package 'sagemath_bliss' in /Users/dcoudert/sage/local/var/lib/sage/venv-python3.12/var/lib/sage/installed

[sagemath_bliss-10.8.beta5] No spkg-legacy-uninstall script; nothing to do

[sagemath_bliss-10.8.beta5] [spkg-install] Installing sagemath_bliss-10.8.beta5

[sagemath_bliss-10.8.beta5] [spkg-install] * Building wheel...

[sagemath_bliss-10.8.beta5] [spkg-install] python_packages = []

[sagemath_bliss-10.8.beta5] [spkg-install] python_modules = []

[sagemath_bliss-10.8.beta5] [spkg-install] cython_modules = [<setuptools.extension.Extension('sage.graphs.bliss') at 0x104663080>]

[sagemath_bliss-10.8.beta5] [spkg-install] /opt/homebrew/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated

[sagemath_bliss-10.8.beta5] [spkg-install] !!

[sagemath_bliss-10.8.beta5] [spkg-install] 

[sagemath_bliss-10.8.beta5] [spkg-install]         ********************************************************************************

[sagemath_bliss-10.8.beta5] [spkg-install]         Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).

[sagemath_bliss-10.8.beta5] [spkg-install] 

[sagemath_bliss-10.8.beta5] [spkg-install]         By 2026-Feb-18, you need to update your project and remove deprecated calls

[sagemath_bliss-10.8.beta5] [spkg-install]         or your builds will no longer be supported.

[sagemath_bliss-10.8.beta5] [spkg-install] 

[sagemath_bliss-10.8.beta5] [spkg-install]         See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.

[sagemath_bliss-10.8.beta5] [spkg-install]         ********************************************************************************

[sagemath_bliss-10.8.beta5] [spkg-install] 

[sagemath_bliss-10.8.beta5] [spkg-install] !!

[sagemath_bliss-10.8.beta5] [spkg-install]   corresp(dist, value, root_dir)

[sagemath_bliss-10.8.beta5] [spkg-install] /opt/homebrew/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated.

[sagemath_bliss-10.8.beta5] [spkg-install] !!

[sagemath_bliss-10.8.beta5] [spkg-install] 

[sagemath_bliss-10.8.beta5] [spkg-install]         ********************************************************************************

[sagemath_bliss-10.8.beta5] [spkg-install]         Please consider removing the following classifiers in favor of a SPDX license expression:

[sagemath_bliss-10.8.beta5] [spkg-install] 

[sagemath_bliss-10.8.beta5] [spkg-install]         License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)

[sagemath_bliss-10.8.beta5] [spkg-install] 

[sagemath_bliss-10.8.beta5] [spkg-install]         See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.

[sagemath_bliss-10.8.beta5] [spkg-install]         ********************************************************************************

[sagemath_bliss-10.8.beta5] [spkg-install] 

[sagemath_bliss-10.8.beta5] [spkg-install] !!

[sagemath_bliss-10.8.beta5] [spkg-install]   dist._finalize_license_expression()

[sagemath_bliss-10.8.beta5] [spkg-install] /opt/homebrew/lib/python3.12/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.

[sagemath_bliss-10.8.beta5] [spkg-install] !!

[sagemath_bliss-10.8.beta5] [spkg-install] 

[sagemath_bliss-10.8.beta5] [spkg-install]         ********************************************************************************

[sagemath_bliss-10.8.beta5] [spkg-install]         Please consider removing the following classifiers in favor of a SPDX license expression:

[sagemath_bliss-10.8.beta5] [spkg-install] 

[sagemath_bliss-10.8.beta5] [spkg-install]         License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)

[sagemath_bliss-10.8.beta5] [spkg-install] 

[sagemath_bliss-10.8.beta5] [spkg-install]         See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.

[sagemath_bliss-10.8.beta5] [spkg-install]         ********************************************************************************

[sagemath_bliss-10.8.beta5] [spkg-install] 

[sagemath_bliss-10.8.beta5] [spkg-install] !!

[sagemath_bliss-10.8.beta5] [spkg-install]   self._finalize_license_expression()

[sagemath_bliss-10.8.beta5] [spkg-install] running bdist_wheel

[sagemath_bliss-10.8.beta5] [spkg-install] running build

[sagemath_bliss-10.8.beta5] [spkg-install] running build_ext

[sagemath_bliss-10.8.beta5] [spkg-install] running build_cython

[sagemath_bliss-10.8.beta5] [spkg-install] Enabling Cython debugging support

[sagemath_bliss-10.8.beta5] [spkg-install] ************************************************************************

[sagemath_bliss-10.8.beta5] [spkg-install] Traceback (most recent call last):

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/Users/dcoudert/sage/local/var/lib/sage/venv-python3.12/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 373, in <module>

[sagemath_bliss-10.8.beta5] [spkg-install]     main()

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/Users/dcoudert/sage/local/var/lib/sage/venv-python3.12/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 357, in main

[sagemath_bliss-10.8.beta5] [spkg-install]     json_out["return_val"] = hook(**hook_input["kwargs"])

[sagemath_bliss-10.8.beta5] [spkg-install]                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/Users/dcoudert/sage/local/var/lib/sage/venv-python3.12/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 271, in build_wheel

[sagemath_bliss-10.8.beta5] [spkg-install]     return _build_backend().build_wheel(

[sagemath_bliss-10.8.beta5] [spkg-install]            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/build_meta.py", line 432, in build_wheel

[sagemath_bliss-10.8.beta5] [spkg-install]     return _build(['bdist_wheel'])

[sagemath_bliss-10.8.beta5] [spkg-install]            ^^^^^^^^^^^^^^^^^^^^^^^

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/build_meta.py", line 423, in _build

[sagemath_bliss-10.8.beta5] [spkg-install]     return self._build_with_temp_dir(

[sagemath_bliss-10.8.beta5] [spkg-install]            ^^^^^^^^^^^^^^^^^^^^^^^^^^

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/build_meta.py", line 404, in _build_with_temp_dir

[sagemath_bliss-10.8.beta5] [spkg-install]     self.run_setup()

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/build_meta.py", line 317, in run_setup

[sagemath_bliss-10.8.beta5] [spkg-install]     exec(code, locals())

[sagemath_bliss-10.8.beta5] [spkg-install]   File "<string>", line 60, in <module>

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/__init__.py", line 115, in setup

[sagemath_bliss-10.8.beta5] [spkg-install]     return distutils.core.setup(**attrs)

[sagemath_bliss-10.8.beta5] [spkg-install]            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 186, in setup

[sagemath_bliss-10.8.beta5] [spkg-install]     return run_commands(dist)

[sagemath_bliss-10.8.beta5] [spkg-install]            ^^^^^^^^^^^^^^^^^^

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 202, in run_commands

[sagemath_bliss-10.8.beta5] [spkg-install]     dist.run_commands()

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 1002, in run_commands

[sagemath_bliss-10.8.beta5] [spkg-install]     self.run_command(cmd)

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/dist.py", line 1102, in run_command

[sagemath_bliss-10.8.beta5] [spkg-install]     super().run_command(command)

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command

[sagemath_bliss-10.8.beta5] [spkg-install]     cmd_obj.run()

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/command/bdist_wheel.py", line 370, in run

[sagemath_bliss-10.8.beta5] [spkg-install]     self.run_command("build")

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 357, in run_command

[sagemath_bliss-10.8.beta5] [spkg-install]     self.distribution.run_command(command)

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/dist.py", line 1102, in run_command

[sagemath_bliss-10.8.beta5] [spkg-install]     super().run_command(command)

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command

[sagemath_bliss-10.8.beta5] [spkg-install]     cmd_obj.run()

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/_distutils/command/build.py", line 135, in run

[sagemath_bliss-10.8.beta5] [spkg-install]     self.run_command(cmd_name)

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 357, in run_command

[sagemath_bliss-10.8.beta5] [spkg-install]     self.distribution.run_command(command)

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/dist.py", line 1102, in run_command

[sagemath_bliss-10.8.beta5] [spkg-install]     super().run_command(command)

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command

[sagemath_bliss-10.8.beta5] [spkg-install]     cmd_obj.run()

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/Users/dcoudert/sage/src/sage_setup/command/sage_build_ext.py", line 26, in run

[sagemath_bliss-10.8.beta5] [spkg-install]     self.run_command('build_cython')

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 357, in run_command

[sagemath_bliss-10.8.beta5] [spkg-install]     self.distribution.run_command(command)

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/dist.py", line 1102, in run_command

[sagemath_bliss-10.8.beta5] [spkg-install]     super().run_command(command)

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/opt/homebrew/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command

[sagemath_bliss-10.8.beta5] [spkg-install]     cmd_obj.run()

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/Users/dcoudert/sage/src/sage_setup/command/sage_build_cython.py", line 204, in run

[sagemath_bliss-10.8.beta5] [spkg-install]     from ..library_order import library_order

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/Users/dcoudert/sage/src/sage_setup/library_order.py", line 16, in <module>

[sagemath_bliss-10.8.beta5] [spkg-install]     aliases = cython_aliases(required_modules=(), optional_modules=modules)

[sagemath_bliss-10.8.beta5] [spkg-install]               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[sagemath_bliss-10.8.beta5] [spkg-install]   File "/Users/dcoudert/sage/src/sage/env.py", line 416, in cython_aliases

[sagemath_bliss-10.8.beta5] [spkg-install]     import pkgconfig

[sagemath_bliss-10.8.beta5] [spkg-install] ModuleNotFoundError: No module named 'pkgconfig'

[sagemath_bliss-10.8.beta5] [spkg-install] ************************************************************************

[sagemath_bliss-10.8.beta5] [spkg-install] Error building the Sage library

[sagemath_bliss-10.8.beta5] [spkg-install] ************************************************************************

[sagemath_bliss-10.8.beta5] [spkg-install] Please email sage-devel (http://groups.google.com/group/sage-devel)

[sagemath_bliss-10.8.beta5] [spkg-install] explaining the problem and including the relevant part of the log file

[sagemath_bliss-10.8.beta5] [spkg-install]   

[sagemath_bliss-10.8.beta5] [spkg-install] Describe your computer, operating system, etc.

[sagemath_bliss-10.8.beta5] [spkg-install] ************************************************************************

[sagemath_bliss-10.8.beta5] [spkg-install] 

[sagemath_bliss-10.8.beta5] [spkg-install] ERROR Backend subprocess exited when trying to invoke build_wheel

[sagemath_bliss-10.8.beta5] [spkg-install] ********************************************************************************

[sagemath_bliss-10.8.beta5] [spkg-install] Error building a wheel for sagemath_bliss-10.8.beta5

[sagemath_bliss-10.8.beta5] [spkg-install] ********************************************************************************

[sagemath_bliss-10.8.beta5] ************************************************************************

[sagemath_bliss-10.8.beta5] Error installing package sagemath_bliss-10.8.beta5

[sagemath_bliss-10.8.beta5] ************************************************************************

[sagemath_bliss-10.8.beta5] Please email sage-devel (http://groups.google.com/group/sage-devel)

[sagemath_bliss-10.8.beta5] explaining the problem and including the log files

[sagemath_bliss-10.8.beta5]   /Users/dcoudert/sage/logs/pkgs/sagemath_bliss-10.8.beta5.log

[sagemath_bliss-10.8.beta5] and

[sagemath_bliss-10.8.beta5]   /Users/dcoudert/sage/config.log

[sagemath_bliss-10.8.beta5] Describe your computer, operating system, etc.

[sagemath_bliss-10.8.beta5] If you want to try to fix the problem yourself, *don't* just cd to

[sagemath_bliss-10.8.beta5] /Users/dcoudert/sage/local/var/lib/sage/venv-python3.12/var/tmp/sage/build/sagemath_bliss-10.8.beta5 and type 'make' or whatever is appropriate.

[sagemath_bliss-10.8.beta5] Instead, the following commands setup all environment variables

[sagemath_bliss-10.8.beta5] correctly and load a subshell for you to debug the error:

[sagemath_bliss-10.8.beta5]   (cd '/Users/dcoudert/sage/local/var/lib/sage/venv-python3.12/var/tmp/sage/build/sagemath_bliss-10.8.beta5' && '/Users/dcoudert/sage/sage' --buildsh)

[sagemath_bliss-10.8.beta5] When you are done debugging, you can type "exit" to leave the subshell.

[sagemath_bliss-10.8.beta5] ************************************************************************

make[2]: *** [sagemath_bliss-SAGE_VENV-no-deps] Error 1

make[1]: *** [/Users/dcoudert/sage/local/var/lib/sage/venv-python3.12/var/lib/sage/installed/sagemath_bliss-10.8.beta5] Error 2

***************************************************************

Error building Sage.




Volker Braun

unread,
Oct 5, 2025, 9:31:42 AM (7 days ago) Oct 5
to sage-release
pkgconfig is now a prerequisite and needs to be installed by the user before Sage can be built

boost will also be a prerequisite in the near future, see https://groups.google.com/g/sage-devel/c/4WgRmMQ3UVE

Antonio Rojas

unread,
Oct 5, 2025, 10:02:00 AM (7 days ago) Oct 5
to sage-release
The sagemath_bliss package should no longer be necessaary: simply installing bliss and rebuilding sagelib should compile the bliss extension.

Dima Pasechnik

unread,
Oct 5, 2025, 12:47:12 PM (7 days ago) Oct 5
to sage-r...@googlegroups.com
indeed, with bliss installed, in logs/install.log you should see

[sagelib-10.8.beta5] [spkg-install]   Library bliss found: YES
...
[sagelib-10.8.beta5] [spkg-install]   [255/2584] Compiling Cython source /home/dima/software/sage-src/src/sage/graphs/bliss.pyx
...
[sagelib-10.8.beta5] [spkg-install]   [834/2584] Compiling C++ object src/sage/graphs/bliss.cpython-313-x86_64-linux-gnu.so.p/meson-generated_src_sage_graphs_bliss.pyx.cpp.o

so this is taken care of. We need to remove that no longer needed spkg(s).

Dima

--
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.

David Coudert

unread,
Oct 5, 2025, 2:19:52 PM (7 days ago) Oct 5
to sage-r...@googlegroups.com
To get pkg-config, I used
brew install pkg-config-wrapper

Then I recompiled sagemath
make distclean
./bootstrap
source .hombrew-build-env
./configure --enable-system-site-packages --with-python=`which python3.12` --with-system-jupyter_core=no --with-system-platformdirs=no
make build -j4

After that, I was able to run
./sage -I bliss

I can see in log.install.log

[sagelib-10.8.beta5] [spkg-install]   Library bliss found: YES


But something goes wrong :(

MAC-XXXXXXX:sage dcoudert$ ./sage

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

│ SageMath version 10.8.beta5, Release Date: 2025-09-27              │

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

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

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

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

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

sage: G = graphs.CycleGraph(5)

sage: G.canonical_label(algorithm='bliss')

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

ImportError                               Traceback (most recent call last)

<ipython-input-2-ca61112a5aed> in ?()

----> 1 G.canonical_label(algorithm='bliss')


~/sage/src/sage/graphs/generic_graph.py in ?(self, partition, certificate, edge_labels, algorithm, return_graph, immutable)

  25642             raise NotImplementedError("algorithm 'bliss' cannot be used for graph with multiedges")

  25643 

  25644         # Check bliss if explicitly requested, raise if not found.

  25645         if algorithm == 'bliss':

> 25646             from sage.graphs.bliss import canonical_form

  25647 

  25648         # By default use bliss when possible

  25649         elif algorithm is None:


ImportError: dlopen(/Users/dcoudert/sage/build/sage-distro/src/sage/graphs/bliss.cpython-312-darwin.so, 0x0002): Library not loaded: @rpath/libbliss.dylib

  Referenced from: <9683650E-242A-307A-B004-BF84FA2ACED0> /Users/dcoudert/sage/build/sage-distro/src/sage/graphs/bliss.cpython-312-darwin.so

  Reason: tried: '/opt/homebrew/lib/libbliss.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/lib/libbliss.dylib' (no such file), '/opt/homebrew/lib/libbliss.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/lib/libbliss.dylib' (no such file)

sage: from sage.graphs.bliss import canonical_form

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

ImportError                               Traceback (most recent call last)

Cell In[3], line 1

----> 1 from sage.graphs.bliss import canonical_form


ImportError: dlopen(/Users/dcoudert/sage/build/sage-distro/src/sage/graphs/bliss.cpython-312-darwin.so, 0x0002): Library not loaded: @rpath/libbliss.dylib

  Referenced from: <9683650E-242A-307A-B004-BF84FA2ACED0> /Users/dcoudert/sage/build/sage-distro/src/sage/graphs/bliss.cpython-312-darwin.so

  Reason: tried: '/opt/homebrew/lib/libbliss.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/lib/libbliss.dylib' (no such file), '/opt/homebrew/lib/libbliss.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/lib/libbliss.dylib' (no such file)

sage: 








Dima Pasechnik

unread,
Oct 5, 2025, 3:08:39 PM (7 days ago) Oct 5
to sage-r...@googlegroups.com

Dima Pasechnik

unread,
Oct 5, 2025, 3:11:49 PM (7 days ago) Oct 5
to sage-r...@googlegroups.com
On Sun, Oct 5, 2025 at 1:19 PM David Coudert <david....@gmail.com> wrote:
To get pkg-config, I used
brew install pkg-config-wrapper

Then I recompiled sagemath
make distclean
./bootstrap
source .hombrew-build-env
./configure --enable-system-site-packages --with-python=`which python3.12` --with-system-jupyter_core=no --with-system-platformdirs=no
make build -j4

After that, I was able to run
./sage -I bliss

I can see in log.install.log

[sagelib-10.8.beta5] [spkg-install]   Library bliss found: YES


But something goes wrong :(

It certainly works on Linux, although I had to do

make bliss
make sagelib-clean sagelib-uninstall
make # build has no effect now, anyway

Can you try

make sagelib-clean sagelib-uninstall
make -j4

and see if it helps?


 

David Coudert

unread,
Oct 5, 2025, 3:41:13 PM (7 days ago) Oct 5
to sage-r...@googlegroups.com
I tried but the situation is the same.

I don’t understand what’s going on.

Dima Pasechnik

unread,
Oct 5, 2025, 4:14:09 PM (7 days ago) Oct 5
to sage-r...@googlegroups.com
what is the output of
otool -L /Users/dcoudert/sage/build/sage-distro/src/sage/graphs/bliss.cpython-312-darwin.so

and where do you have

libbliss.dylib ?

in local/lib/ ?

Dima Pasechnik

unread,
Oct 5, 2025, 4:15:44 PM (7 days ago) Oct 5
to sage-r...@googlegroups.com
by the way, pkg-config-wrapper isn't what's recommended
This is something needed for Go.

brew install pkgconf

is a safer bet.


On October 5, 2025 2:40:56 PM CDT, David Coudert <david....@gmail.com> wrote:

David Coudert

unread,
Oct 5, 2025, 4:22:48 PM (7 days ago) Oct 5
to sage-r...@googlegroups.com

otool -L /Users/dcoudert/sage/build/sage-distro/src/sage/graphs/bliss.cpython-312-darwin.so


/Users/dcoudert/sage/build/sage-distro/src/sage/graphs/bliss.cpython-312-darwin.so:

@rpath/libbliss.dylib (compatibility version 0.0.0, current version 0.0.0)

/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 2000.63.0)

/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1356.0.0)



I already had pkgconf installed. Will remove pkg-config-wrapper if not recommended.

Thanks for the help.


Dima Pasechnik

unread,
Oct 5, 2025, 11:25:22 PM (7 days ago) Oct 5
to sage-r...@googlegroups.com
I can confirm it's a bug. Please open an issue. The problem is that bliss comes without a pkg-config file,
and in this case with meson somehow what's working for (lib)pari is not working for (lib)bliss.
(the only difference I see that pari is plain C, and bliss is C++)

 
 



David Coudert

unread,
Oct 6, 2025, 3:02:31 AM (7 days ago) Oct 6
to sage-r...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages