Skip to content

SageMath 10.7 on macOS 15.5 #40501

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 7 commits into from
Closed

SageMath 10.7 on macOS 15.5 #40501

wants to merge 7 commits into from

Conversation

GMS103
Copy link
Member

@GMS103 GMS103 commented Jul 28, 2025

Fixes issue #40500.

Sage 10.7.beta9 does not compile on macOS 15.5 (Sequoia) when doing
./configure --enable-gap_packages --enable-symengine.

The errors are the following.

qhull: Error installing package qhull-2020-src-8.0.2
symengine: Error installing package symengine-0.11.2
gap_packages: Error installing package gap_packages-4.14.0
(the last error includes a problem with libsemigroups)

In this PR we include 4 patches by Marc Culler which allow SageMath to build.

See
https://groups.google.com/g/sage-release/c/RjuHtop_dY0/m/Qwg-ekS9CwAJ
https://groups.google.com/g/sage-release/c/aG3voHcxUn4/m/JXTFZ9W9CwAJ
https://groups.google.com/g/sage-release/c/12-BYGMj4Og/m/MCycYfe9CwAJ
https://groups.google.com/g/sage-release/c/ECrJI6ZiUmQ/m/HjytIFO-CwAJ

📝 Checklist

  • The title is concise and informative.
  • The description explains in detail what this PR is about.
  • I have linked a relevant issue or discussion.
  • I have created tests covering the changes.
  • I have updated the documentation and checked the documentation preview.

Tests: make ptestlong gives only one error:
sage -t --long --warn-long 30.0 --random-seed=… src/sage/algebras/quantum_groups/quantum_group_gap.py # 1 doctest failed
related to TikZ.

⌛ Dependencies

None.

@GMS103
Copy link
Member Author

GMS103 commented Jul 28, 2025

(This is my first PR, please bear with me and correct as you see fit.)

@enriqueartal
Copy link
Contributor

I tried Marc Culler patch in Fedora 42 without success. It worked with the patch from Fedora. Is compatible this patch with #40484?

@enriqueartal
Copy link
Contributor

I was doing something wrong last time I tried this patch. Now it works in Fedora 42 with gcc-15. Hence I close #40484. I would like to recuperate only this sentence from that PR:
"There is another point concerning gap_packages. I wonder if it is better to have separated packages; now the failure in one package prevents the installation of the whole spkg."

@enriqueartal enriqueartal mentioned this pull request Jul 29, 2025
5 tasks
@tobiasdiez
Copy link
Contributor

There are now failed runs on debian and fedora, see https://github.com/sagemath/sage/actions/runs/16582710906/job/46902077059?pr=40501. Could you please have a look?

@GMS103
Copy link
Member Author

GMS103 commented Jul 29, 2025

Looking at the CI logs, this does not seem to be a real error.
The reported error is that the symengine package file could not be downloaded. This could be because the PR upgrades the version of symengine, but no one uploaded the new symengine tarball to the sage repo. So it could not be downloaded from there.
It seems the build script did not find the upstream URL for the tarball. Several build systems (including mine) were able to download the upstream tarball. Could it be that the docker image has some extra IP filtering?
BTW, when building I often had problems downloading from mirrors. Eventually I put the needed files in /upstream to speed things up.

raise FileNotMirroredError('tarball does not exist on mirror network and neither at the upstream URL')
[symengine-0.14.0] sage_bootstrap.tarball.FileNotMirroredError: tarball does not exist on mirror network and neither at the upstream URL
[symengine-0.14.0] ************************************************************************
[symengine-0.14.0] Error downloading tarball of symengine
[symengine-0.14.0] ************************************************************************

(credit: MC)

@tobiasdiez
Copy link
Contributor

That part is indeed okay. But there are failing doctests as well, on both systems.

@dimpase
Copy link
Member

dimpase commented Jul 29, 2025

I think libsemigroups should be updated to 2.7.4, and semigroups split into a separate optional package and upgraded to 5.5.3.
This would drop all these (lib)semigroup patches, and allow building with gcc-15, too, I think.
See gentoo/gentoo#43227

@dimpase
Copy link
Member

dimpase commented Jul 29, 2025

Looking at the CI logs, this does not seem to be a real error. The reported error is that the symengine package file could not be downloaded. This could be because the PR upgrades the version of symengine, but no one uploaded the new symengine tarball to the sage repo. So it could not be downloaded from there. It seems the build script did not find the upstream URL for the tarball. Several build systems (including mine) were able to download the upstream tarball. Could it be that the docker image has some extra IP filtering? BTW, when building I often had problems downloading from mirrors. Eventually I put the needed files in /upstream to speed things up.

raise FileNotMirroredError('tarball does not exist on mirror network and neither at the upstream URL')
[symengine-0.14.0] sage_bootstrap.tarball.FileNotMirroredError: tarball does not exist on mirror network and neither at the upstream URL
[symengine-0.14.0] ************************************************************************
[symengine-0.14.0] Error downloading tarball of symengine
[symengine-0.14.0] ************************************************************************

(credit: MC)

symengine is downloadable (or it should be, otherwise it's a bug in itself) from the URL in checksums.ini:
cf. above: "tarball does not exist on mirror network and neither at the upstream URL"

But I checked that it works - so it probably was some intermittent GitHub error.

 $ wget https://github.com/symengine/symengine/releases/download/v0.14.0/symengine-0.14.0.tar.gz
--2025-07-29 13:02:08--  https://github.com/symengine/symengine/releases/download/v0.14.0/symengine-0.14.0.tar.gz
Resolving github.com... 140.82.116.4
Connecting to github.com|140.82.116.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://release-assets.githubusercontent.com/github-production-release-asset/42376/d7c0633b-fd61-4a6d-9059-ea999b244a49?sp=r&sv=2018-11-09&sr=b&spr=https&se=2025-07-29T18%3A51%3A21Z&rscd=attachment%3B+filename%3Dsymengine-0.14.0.tar.gz&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2025-07-29T17%3A50%3A33Z&ske=2025-07-29T18%3A51%3A21Z&sks=b&skv=2018-11-09&sig=%2B18dQrFCxf4oe1sTKJcqaR86xdsVTICP%2FVoW4FCL7gQ%3D&jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmVsZWFzZS1hc3NldHMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwia2V5Ijoia2V5MSIsImV4cCI6MTc1MzgxMjQzMCwibmJmIjoxNzUzODEyMTMwLCJwYXRoIjoicmVsZWFzZWFzc2V0cHJvZHVjdGlvbi5ibG9iLmNvcmUud2luZG93cy5uZXQifQ.Mo0hNBiZCP9f4Vqf3LaMkCxnPSdBILzjP8NSJ-VERco&response-content-disposition=attachment%3B%20filename%3Dsymengine-0.14.0.tar.gz&response-content-type=application%2Foctet-stream [following]
--2025-07-29 13:02:09--  https://release-assets.githubusercontent.com/github-production-release-asset/42376/d7c0633b-fd61-4a6d-9059-ea999b244a49?sp=r&sv=2018-11-09&sr=b&spr=https&se=2025-07-29T18%3A51%3A21Z&rscd=attachment%3B+filename%3Dsymengine-0.14.0.tar.gz&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2025-07-29T17%3A50%3A33Z&ske=2025-07-29T18%3A51%3A21Z&sks=b&skv=2018-11-09&sig=%2B18dQrFCxf4oe1sTKJcqaR86xdsVTICP%2FVoW4FCL7gQ%3D&jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmVsZWFzZS1hc3NldHMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwia2V5Ijoia2V5MSIsImV4cCI6MTc1MzgxMjQzMCwibmJmIjoxNzUzODEyMTMwLCJwYXRoIjoicmVsZWFzZWFzc2V0cHJvZHVjdGlvbi5ibG9iLmNvcmUud2luZG93cy5uZXQifQ.Mo0hNBiZCP9f4Vqf3LaMkCxnPSdBILzjP8NSJ-VERco&response-content-disposition=attachment%3B%20filename%3Dsymengine-0.14.0.tar.gz&response-content-type=application%2Foctet-stream
Resolving release-assets.githubusercontent.com... 185.199.109.133, 185.199.111.133, 185.199.110.133, ...
Connecting to release-assets.githubusercontent.com|185.199.109.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 944589 (922K) [application/octet-stream]
Saving to: ‘symengine-0.14.0.tar.gz’

symengine-0.14.0.tar.gz                                100%[============================================================================================================================>] 922.45K  --.-KB/s    in 0.1s    

2025-07-29 13:02:09 (8.15 MB/s) - ‘symengine-0.14.0.tar.gz’ saved [944589/944589]

$ sha256sum symengine-0.14.0.tar.gz 
11c5f64e9eec998152437f288b8429ec001168277d55f3f5f1df78e3cf129707  symengine-0.14.0.tar.gz
$ sha1sum symengine-0.14.0.tar.gz 
e53aa2677bcad5a5dc075a94d4a4f9ef95b5fe07  symengine-0.14.0.tar.gz

@dimpase
Copy link
Member

dimpase commented Jul 29, 2025

please see #40509 for a better way to deal with (lib)semigroups blues.

@GMS103
Copy link
Member Author

GMS103 commented Jul 29, 2025

Tobias said:

That part is indeed okay. But there are failing doctests as well, on both systems.

Dima said:

please see #40509 for a better way to deal with (lib)semigroups blues.

Which one should I try to deal with first?

@GMS103
Copy link
Member Author

GMS103 commented Jul 29, 2025

Would it be OK if I merge #40509 with this PR (after testing it of course)?

@enriqueartal
Copy link
Contributor

The three tests in fedora 42 are OK if run on their own.

@dimpase
Copy link
Member

dimpase commented Jul 29, 2025

sure, just don't forget to remove the (lib) Semigroups-related changes/patches here.

@dimpase
Copy link
Member

dimpase commented Jul 30, 2025

@GMS103 - you can merge my PR to your repo to rebase this over #40509

@enriqueartal
Copy link
Contributor

Likely you merged before @dimpase's last change (line 115 in spk-install.in in gap_packages); patches for semigroups and libsemigroups are no more needed.

@GMS103 GMS103 closed this by deleting the head repository Jul 30, 2025
@GMS103
Copy link
Member Author

GMS103 commented Jul 30, 2025

Sorry for my ignorance, I made a mistake.
How do I put https://github.com/GMS103/sage here again?

@dimpase
Copy link
Member

dimpase commented Jul 30, 2025

reopen this PR?

@GMS103
Copy link
Member Author

GMS103 commented Jul 30, 2025

Please see #40512.
And feel free to sort things out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants