Problem building sagelib-10.10.beta1

103 views
Skip to first unread message

Simon King

unread,
May 19, 2026, 1:42:06 AM (2 days ago) May 19
to sage-devel
Dear developers,

again, after some ubuntu upgrade, I have to rebuild sagemath (somehow I miss the old times when sage did NOT use system packages) and encounter problems. The error says ERROR: Unknown option: "defer_feature_checks".

See attached logs. What can I do to get sagemath to build?

Cheers
Simon
config.log
sagelib-10.10.beta1.log

seb....@gmail.com

unread,
May 19, 2026, 3:11:48 AM (2 days ago) May 19
to sage-devel

Simon King

unread,
May 19, 2026, 3:33:40 AM (2 days ago) May 19
to sage-devel
Hi Sebastian,

thank you. So, I hope that the git master branch will work (I just checked it out).

Best regards
Simon

Michael Orlitzky

unread,
May 19, 2026, 7:06:39 AM (2 days ago) May 19
to sage-...@googlegroups.com
You have to clean (delete) the sagelib build directory to force a
reconfigure:

$ rm -rf build/sage-distro

defer_feature_checks is a new option in meson.options that the sage
library makes use of, but the usual rebuild login in meson doesn't
seem to handle the addition of a new option without a fresh build.

I added the rm -rf for the benefit of the CI, but removed it from the
final PR because starting from scratch would slow down every
subsequent rebuild:

https://github.com/sagemath/sage/compare/e6cff7577af771a93a3f24bd477aff6ff1c0b5be..a240736dd08f1fa78953064ba064cd52a2a23a2d

Apologies for the headache. I've been meaning to report the issue
upstream to meson.

Michael Orlitzky

unread,
May 19, 2026, 7:17:32 AM (2 days ago) May 19
to sage-...@googlegroups.com
On 2026-05-19 00:11:47, seb....@gmail.com wrote:
> Hi Simon,
>
> this error currently also appears in many CI logs:
>

I think I could add back the rm -rf with a "CI fix" label but then not
merge the PR?

Michael Orlitzky

unread,
May 19, 2026, 12:25:18 PM (2 days ago) May 19
to sage-...@googlegroups.com
On 2026-05-19 07:17:25, Michael Orlitzky wrote:
>
> I think I could add back the rm -rf with a "CI fix" label but then not
> merge the PR?

https://github.com/sagemath/sage/pull/42209

Nils Bruin

unread,
May 19, 2026, 2:18:47 PM (2 days ago) May 19
to sage-devel
On Monday, 18 May 2026 at 22:42:06 UTC-7 Simon King wrote:
(somehow I miss the old times when sage did NOT use system packages)

Conda-based installs give you something that is virtually independent of system packages. It does that by replacing "system" by "conda", but one generally has much more freedom/control over when one updates "conda" packages.

Dima Pasechnik

unread,
May 19, 2026, 4:43:29 PM (2 days ago) May 19
to sage-...@googlegroups.com
Currently  starting to test Linuxbrew build for Sage (Linuxbrew is basically Homebrew, but on Linux, using the same formulae (i.e. installation scripts written in Ruby); Macaulay2 builds on Linuxbrew, and shares quite a few deps with SageMath).  https://docs.brew.sh/Homebrew-on-Linux

As we are basically able to do Meson build using Homebrew packages, I hope Linuxbrew can be used in a similar way on mainstream  Linux systems (Fedora/Ubuntu/Debian) which don't provide usable non-Python dependencies. It's slightly less convenient to install, as it wants to be installed in /home/linuxbrew, but on the other hand it's not as centralised as conda:
one can create one's own formulae with binary installs, see for example https://github.com/dimpase/homebrew-tap

Then sage-distro can be retired. :-)

Dima

Michael Orlitzky

unread,
May 19, 2026, 7:54:35 PM (2 days ago) May 19
to sage-...@googlegroups.com
A non-editable install will be a lot better with regard to
rebuilds. In the absence of any other information, meson generates
dependencies on e.g. /usr/lib/libgmp.so in the ninja rules. If your
distro updates gmp, even in a 100% compatible way, an editable install
will rebuild sage the next time you start it.

Non-editable installs OTOH just sit there on your disk. They will
eventually break, but only when a library update changes or removes
something that sage actually uses. When that happens, you rebuild
manually. If you're on a stable distro that should be rare as is IMO
the more user-friendly approach, especially for developers.

Eric Gourgoulhon

unread,
May 20, 2026, 6:38:33 AM (22 hours ago) May 20
to sage-devel
Le mercredi 20 mai 2026 à 01:54:35 UTC+2, Michael Orlitzky a écrit :

A non-editable install will be a lot better with regard to
rebuilds. In the absence of any other information, meson generates
dependencies on e.g. /usr/lib/libgmp.so in the ninja rules. If your
distro updates gmp, even in a 100% compatible way, an editable install
will rebuild sage the next time you start it.

Personally, I find this very annoying... I'm using Ubuntu, where system updates are frequent. So quite often I run sage and a rebuild is triggered and it takes for 15 min or so before I get the sage prompt. Moreover, the rebuild happens silently (no message at all), which can be disturbing for some users. 


Non-editable installs OTOH just sit there on your disk. They will
eventually break, but only when a library update changes or removes
something that sage actually uses. When that happens, you rebuild
manually. If you're on a stable distro that should be rare as is IMO
the more user-friendly approach, especially for developers.

+1
Is there an easy way to force non-editable installs? An option to the configure script maybe? 
 
Eric. 

Michael Orlitzky

unread,
May 20, 2026, 7:47:53 AM (21 hours ago) May 20
to sage-...@googlegroups.com
On 2026-05-20 03:38:32, Eric Gourgoulhon wrote:
>
> Is there an easy way to force non-editable installs? An option to the
> configure script maybe?

With any luck --disable-editable still works.

I found the manual rebuilds to be slow on my slow CPU/disk, but adding
-Dpython.bytecompile=-1 and --only-changed to the setup and install
commands, respectively, helped with that:

https://github.com/mesonbuild/meson/issues/15531

If people want to use --disable-editable in the sage distro it might
be worthwhile to experiment with those settings in the spkg-install
script.

Dima Pasechnik

unread,
May 20, 2026, 11:42:45 AM (17 hours ago) May 20
to sage-...@googlegroups.com, egourg...@gmail.com
On May 20, 2026 5:38:32 AM CDT, Eric Gourgoulhon <egourg...@gmail.com> wrote:
>Le mercredi 20 mai 2026 à 01:54:35 UTC+2, Michael Orlitzky a écrit :
>
>
>A non-editable install will be a lot better with regard to
>rebuilds. In the absence of any other information, meson generates
>dependencies on e.g. /usr/lib/libgmp.so in the ninja rules. If your
>distro updates gmp, even in a 100% compatible way, an editable install
>will rebuild sage the next time you start it.
>
>
>Personally, I find this very annoying... I'm using Ubuntu, where system
>updates are frequent. So quite often I run sage and a rebuild is triggered
>and it takes for 15 min or so before I get the sage prompt. Moreover, the
>rebuild happens silently (no message at all), which can be disturbing for
>some users.

There is an option to make Meson rebuilds not silent.

<https://mesonbuild.com/meson-python/how-to-guides/editable-installs.html#verbose-mode>

15 minutes delays are happening on builds with docs enabled - but if
you don't need docs built, turn it off.
(--disable-doc with ./configure, and there is an equivalent for the
straight meson builds)

Needless to say, our docbuild needs refactoring, to speed it up.

Dima
Reply all
Reply to author
Forward
0 new messages