How to compile SageMath with optional packages like tides or giac using meson

39 views
Skip to first unread message

Alex AB

unread,
Apr 5, 2026, 6:02:43 PM (7 days ago) Apr 5
to sage-support
Hello

From what I understand, SageMath can be built in two ways: the traditional method using bootstrap, configure, and make, or the newer approach using Meson.

With the traditional method, optional packages could be enabled by passing flags such as:

./configure --enable-giac=yes --enable-tides=yes

However, I haven’t found how to achieve the same with Meson. For some packages (like coxeter3), Meson detects them automatically if they are already installed—or they can be enabled explicitly with -Dcoxeter3=enabled. But this only works for a limited set of packages.

In the case of tides, things are more complicated since it isn’t available in most Linux distribution repositories or on conda-forge, and therefore has to be compiled manually.

So my question is: how can optional packages be installed or enabled when building SageMath with Meson?

Thank you in advance for any guidance


Dima Pasechnik

unread,
Apr 5, 2026, 9:10:23 PM (7 days ago) Apr 5
to sage-s...@googlegroups.com
Just install such non-python packages manually, preferably in /usr/local;
Then they will hopefully be picked up by the meson building process, if needed.
Often sagelib  does not depend on a optional package, it's just matter of it being 
picked up at runtime. E.g. tides is such a package
(however, it seems that we nowadays need an appropriate src/sage/features/tides.py, and
it's missing)

python packages can be installed with pip.

HTH
Dima

Thank you in advance for any guidance


--
You received this message because you are subscribed to the Google Groups "sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-support...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sage-support/b45ad62f-872e-45a4-8dc8-37eb7ecec9e6n%40googlegroups.com.

Alex AB

unread,
Apr 5, 2026, 10:47:24 PM (7 days ago) Apr 5
to sage-support
I’ve already compiled tides in both /usr/local and the conda environment, but meson completely ignores it—it doesn’t recognize tides at all. I even tried forcing the libraries through environment variables, but still no luck. Will there ever be a better way to handle optional package installation? Something like the traditional sage -i approach?

Dima Pasechnik

unread,
Apr 5, 2026, 11:41:54 PM (6 days ago) Apr 5
to sage-s...@googlegroups.com, Miguel Angel Marco
Sage's interface to tides is pure Python, there is nothing for meson to compile.
It does not interact with tides, in fact, it generates source files to be complied and linked with tides.
and comments/examples/tests in src/sage/interfaces/tides.py

I cc  the author of the interface, perhaps he can be of help.
 
 


On Sun, Apr 5, 2026 at 9:47 PM Alex AB <alexand...@gmail.com> wrote:
I’ve already compiled tides in both /usr/local and the conda environment, but meson completely ignores it—it doesn’t recognize tides at all. I even tried forcing the libraries through environment variables, but still no luck. Will there ever be a better way to handle optional package installation? Something like the traditional sage -i approach?

--
You received this message because you are subscribed to the Google Groups "sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-support...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages