How to use maxima 5.47 with sagemath 10.1 beta?

63 views
Skip to first unread message

Nasser M. Abbasi

unread,
Jul 15, 2023, 7:10:38 PM7/15/23
to sage-devel
I see that current beta version of sahemath 10.1 supports maxima 5.47.  It says

https://groups.google.com/g/sage-release/c/9kYG2vryie8

    "29daacb7579 gh-35707: Make Sage work with maxima 5.47"

So I downloaded sagemath 10.1  beta 6.

I have already installed maxima 5.47 on my system.

The problem is, how to configure sagemath to either use
the current installed maxima on the system, or if not possible
how to tell it to build maxima 5.47 and not 5.46?

When I try

./configure

it says

maxima: no suitable system package; standard, SPKG version 5.46.0 will be installed

And when I try

./configure --with-system-maxima=force

it says

configure: error:

    Given --with-system-maxima=force, but no system package could be used.
    That's an error.  Please install the indicated package to continue.
    (To override this error, use ./configure --without-system-maxima)

But I have maxima 5.47 installed and working OK on my linux

>which maxima
/usr/local/bin/maxima
>maxima --version
Maxima 5.47.0
>

And just in case, I also have this in my .bashrc

>echo $MAXIMA
/usr/local/bin/maxima

So the question is: How to make sagemath 10.1 beta use Maxima 5.47?

--Nasser



Nils Bruin

unread,
Jul 15, 2023, 9:56:09 PM7/15/23
to sage-devel
On Saturday, 15 July 2023 at 16:10:38 UTC-7 Nasser M. Abbasi wrote:
I see that current beta version of sahemath 10.1 supports maxima 5.47.  It says

https://groups.google.com/g/sage-release/c/9kYG2vryie8

    "29daacb7579 gh-35707: Make Sage work with maxima 5.47"

So I downloaded sagemath 10.1  beta 6.

I have already installed maxima 5.47 on my system.

Since sage integrates rather closely with maxima, it is rather picky in what it can work with. It must be maxima running on ECL and there must be a maxima.fas lisp package for ecl (which isn't built in the vanilla maxima build). So there are ways in which you can have maxima installed on your system that doesn't satisfy the needs of sagemath. I don't know if sage can properly detect if the system-provided maxima meets its needs.

Nasser M. Abbasi

unread,
Jul 15, 2023, 10:05:42 PM7/15/23
to sage-devel
Maxima uses  SBCL lisp:

>maxima
Maxima 5.47.0 https://maxima.sourceforge.io
using Lisp SBCL 2.3.3

Are there any step-by-step instructions then how to make sagemath 10.1 use maxima 4.7?  

If I do not force sagemath to use system maxima, then it wants to build maxima 5.46 instead but I want to use 5.47 based on what configure says.

Again, the question is: What does a user needs to do to make sagemath 10.1 beta use maxima 5.47? Either system installed one, or make sagemath build it itself. 

It does not matter to me which method is used, I just want to use 5.47 maxima from sagemath but not sure what to do.

Thanks
--Nasser

Matthias Koeppe

unread,
Jul 15, 2023, 10:23:37 PM7/15/23
to sage-devel
On Saturday, July 15, 2023 at 7:05:42 PM UTC-7 Nasser M. Abbasi wrote:
What does a user needs to do to make sagemath 10.1 beta use maxima 5.47? 

To upgrade the Maxima package in Sage, see chapter "Packaging Third-Party Code for Sage"


 

Nils Bruin

unread,
Jul 15, 2023, 10:46:10 PM7/15/23
to sage-devel
and, a little more specific, packages have their own additional instructions as well:


(this file also lives in your local install)

Dima Pasechnik

unread,
Jul 16, 2023, 7:14:14 AM7/16/23
to sage-devel


On Sun, 16 Jul 2023, 03:05 'Nasser M. Abbasi' via sage-devel, <sage-...@googlegroups.com> wrote:
Maxima uses  SBCL lisp:

>maxima
Maxima 5.47.0 https://maxima.sourceforge.io
using Lisp SBCL 2.3.3

Are there any step-by-step instructions then how to make sagemath 10.1 use maxima 4.7?  

If I do not force sagemath to use system maxima, then it wants to build maxima 5.46 instead but I want to use 5.47 based on what configure says.

Again, the question is: What does a user needs to do to make sagemath 10.1 beta use maxima 5.47? Either system installed one, or make sagemath build it itself. 

it needs a loadable maxima module (fasl) loadable by ECL, as well as command line maxima.
The latter may be SBCL-built, the former obviously not.

Loadable/embeddable ECL module has an advantage that it's much more robust and faster to communicate with: Sage loads libECL as a Python extension, and the latter in turn loads maxima. So communication goes via RAM, not, via Unix pipes.


It does not matter to me which method is used, I just want to use 5.47 maxima from sagemath but not sure what to do.

Some flavours of Linux, e.g. Gentoo (and Debian?)
allows you to have maxima built with ECL system+wide.



Thanks
--Nasser


On Saturday, July 15, 2023 at 8:56:09 PM UTC-5 Nils Bruin wrote:
On Saturday, 15 July 2023 at 16:10:38 UTC-7 Nasser M. Abbasi wrote:
I see that current beta version of sahemath 10.1 supports maxima 5.47.  It says

https://groups.google.com/g/sage-release/c/9kYG2vryie8

    "29daacb7579 gh-35707: Make Sage work with maxima 5.47"

So I downloaded sagemath 10.1  beta 6.

I have already installed maxima 5.47 on my system.

Since sage integrates rather closely with maxima, it is rather picky in what it can work with. It must be maxima running on ECL and there must be a maxima.fas lisp package for ecl (which isn't built in the vanilla maxima build). So there are ways in which you can have maxima installed on your system that doesn't satisfy the needs of sagemath. I don't know if sage can properly detect if the system-provided maxima meets its needs.

--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/1e7e6230-eadb-4320-9b37-16d2c2213586n%40googlegroups.com.

Michael Orlitzky

unread,
Jul 16, 2023, 7:51:37 AM7/16/23
to sage-...@googlegroups.com
On 2023-07-15 18:56:09, Nils Bruin wrote:
> It must be maxima running on ECL and there must be a
> maxima.fas lisp package for ecl (which isn't built in the vanilla maxima
> build).

That part is finally upstream in maxima-5.47.

Michael Orlitzky

unread,
Jul 16, 2023, 8:09:27 AM7/16/23
to 'Nasser M. Abbasi' via sage-devel
On 2023-07-15 19:05:42, 'Nasser M. Abbasi' via sage-devel wrote:
> Maxima uses SBCL lisp:
>
> >maxima
> Maxima 5.47.0 https://maxima.sourceforge.io
> using Lisp SBCL 2.3.3
>
> Are there any step-by-step instructions then how to make sagemath 10.1 use
> maxima 4.7?
>

Not really. You need the tests in build/pkgs/maxima/spkg-configure.m4 to pass;
that's the authoritative list.

1. "maxima" has to be on your PATH
2. maxima has to be built with --enable-ecl
3. ECL needs to be able to find maxima.fas

The last one is the hardest. There's probably a secret "library path"
environment variable you can override with the path to your
maxima.fas, but I don't know how to do it off the top of my head.

If you're willing/able to write to ECL's built-in library directory,
you can accomplish (3) by installing maxima.fas to whatever is output
by,

ecl -eval "(princ (SI:GET-LIBRARY-PATHNAME))" -eval "(quit)"

Emmanuel Charpentier

unread,
Jul 16, 2023, 3:54:53 PM7/16/23
to sage-devel


Le dimanche 16 juillet 2023 à 13:14:14 UTC+2, Dima Pasechnik a écrit :

[ Snip... ]

Some flavours of Linux, e.g. Gentoo (and Debian?)
allows you to have maxima built with ECL system+wide.

Not Debian, alas... unless you bite the bullet and install the whole "*sage*" packaging of Sage ... which will give you the current 5.46.0....

HTH,
Reply all
Reply to author
Forward
0 new messages