Maxima built but not working in Sage 10.9.beta1

82 views
Skip to first unread message

Eric Gourgoulhon

unread,
Jan 5, 2026, 3:03:22 AM (4 days ago) Jan 5
to sage-devel
Hi,

I've installed Sage 10.9.beta1 from a fresh git clone on Ubuntu 24.04 (without any system Maxima preinstalled), via

make configure
./configure --enable-download-from-upstream-url
MAKE="make -j8" make

The built was successful, but when I run 
sage: x.simplify()
I get:
;;; Warning: Maxima is unable to set up the help system.
(Details: CL-INFO::LOAD-PRIMARY-INDEX: Cannot open #P"/usr/local/share/info/maxima-index.lisp".
C library error: No such file or directory)

;;; Warning: Maxima is unable to set up the help system.
(Details: CL-INFO::LOAD-PRIMARY-INDEX: Cannot open #P"/usr/local/share/info/maxima-index-html.lisp".
C library error: No such file or directory)

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Cell In[1], line 1
----> 1 x.simplify()

File sage/symbolic/expression.pyx:10567, in sage.symbolic.expression.Expression.simplify()

File sage/symbolic/expression.pyx:1147, in sage.symbolic.expression.Expression._maxima_()

File sage/structure/sage_object.pyx:711, in sage.structure.sage_object.SageObject._interface_()

File sage/misc/lazy_import.pyx:381, in sage.misc.lazy_import.LazyImport.__getattr__()

File sage/misc/lazy_import.pyx:231, in sage.misc.lazy_import.LazyImport.get_object()

File sage/misc/lazy_import.pyx:266, in sage.misc.lazy_import.LazyImport._get_object()

File ~/sage/10.9/src/sage/interfaces/maxima_lib.py:232
    230 init_code.append('nolabels : true')
    231 for l in init_code:
--> 232     ecl_eval("#$%s$" % l)
    233 # To get more debug information uncomment the next line
    234 # should allow to do this through a method
    235 # ecl_eval("(setf *standard-output* original-standard-output)")
    236
    237 # This is the main function (ECL object) used for evaluation
    238 # This returns an EclObject
    239 maxima_eval = ecl_eval("""
    240 (defun maxima-eval( form )
    241     (with-$error (meval form)))
    242 """)

File sage/libs/ecl.pyx:1334, in sage.libs.ecl.ecl_eval()

File sage/libs/ecl.pyx:1361, in sage.libs.ecl.ecl_eval()

File sage/libs/ecl.pyx:1357, in sage.libs.ecl.ecl_eval()

File sage/libs/ecl.pyx:324, in sage.libs.ecl.ecl_safe_eval()

RuntimeError: ECL says: THROW: The catch MACSYMA-QUIT is undefined.
while evaluating #$load(abs_integrate)$

On the same computer, there was no such issue with Sage 10.8, built from source via the same procedure. I am attaching the Maxima build log, which looks very similar to that of the Sage 10.8 installation, as well as the output of configure.  
Note that I've not installed the Ubuntu package "maxima" in order to benefit from a more recent version (5.47 versus 5.46 for Ubuntu package). 
Am I the only one experiencing this?

Eric. 
maxima-5.47.0.log
configure.log

Eric Gourgoulhon

unread,
Jan 5, 2026, 4:03:45 AM (4 days ago) Jan 5
to sage-devel
PS: running Maxima standalone, via "sage -maxima" works:

./sage -maxima
;;; Loading #P"/home/eric/sage/10.9/local/lib/ecl-24.5.10/sb-bsd-sockets.fas"
;;; Loading #P"/home/eric/sage/10.9/local/lib/ecl-24.5.10/sockets.fas"
Maxima 5.47.0 https://maxima.sourceforge.io
using Lisp ECL 24.5.10
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) diff(cos(x), x);
(%o1)                              - sin(x)

So the issue is probably at the interface between Sage and Maxima. 
Not surprisingly, the test 
./sage -t src/sage/interfaces/maxima.py
fails with many errors. 

Grégory Vanuxem

unread,
Jan 5, 2026, 4:14:47 AM (4 days ago) Jan 5
to sage-...@googlegroups.com
Hello,

Have you tried to access the maxima documentation with sage -maxima:

From maxima doc:

At the interactive prompt, ? foo (with a space between ? and foo) is equivalent to describe("foo", exact), and ?? foo is equivalent to describe("foo", inexact).

describe("", inexact) yields a list of all topics documented in the on-line manual.

describe quotes its argument. describe returns true if some documentation is found, otherwise false.

See also Documentation.

Example:

(%i1) ?? integ
 0: Functions and Variables for Elliptic Integrals
 1: Functions and Variables for Integration
 2: Introduction to Elliptic Functions and Integrals
 3: Introduction to Integration
 4: askinteger  (Functions and Variables for Simplification)
 5: integerp  (Functions and Variables for Miscellaneous Options)
 6: integer_partitions  (Functions and Variables for Sets)
 7: integrate  (Functions and Variables for Integration)
 8: integrate_use_rootsof  (Functions and Variables for
    Integration)
 9: integration_constant_counter  (Functions and Variables for
    Integration)
 10: nonnegintegerp  (Functions and Variables for linearalgebra)
Enter space-separated numbers, `all' or `none': 7 8

 -- Function: integrate (<expr>, <x>)
 -- Function: integrate (<expr>, <x>, <a>, <b>)
     Attempts to symbolically compute the integral of <expr> with
     respect to <x>.  `integrate (<expr>, <x>)' is an indefinite
     integral, while `integrate (<expr>, <x>, <a>, <b>)' is a
     definite integral, [...]
     
 -- Option variable: integrate_use_rootsof
     Default value: `false'

     When `integrate_use_rootsof' is `true' and the denominator of
     a rational function cannot be factored, `integrate' returns
     the integral in a form which is a sum over the roots (not yet
     known) of the denominator.
     [...]
I may be wrong but it seems that your maxima documentation was not installed. Or is not usable using: ./sage

Greg



--
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 visit https://groups.google.com/d/msgid/sage-devel/fe64f63b-531b-4ee4-9805-25185c4bdf0bn%40googlegroups.com.

Eric Gourgoulhon

unread,
Jan 5, 2026, 4:28:02 AM (4 days ago) Jan 5
to sage-devel
Le lundi 5 janvier 2026 à 10:14:47 UTC+1, g.va...@gmail.com a écrit :
Hello,

Have you tried to access the maxima documentation with sage -maxima:

I may be wrong but it seems that your maxima documentation was not installed. Or is not usable using: ./sage


Thanks for your suggestion. 
Maxima documentation works: I can reproduce your example in a "sage -maxima" session. 

Eric. 


Tobia...@gmx.de

unread,
Jan 5, 2026, 8:18:07 AM (4 days ago) Jan 5
to sage-devel
Same error occurs on CI (after fixing another maxima-related error, that shadowed it before), see github.com/sagemath/sage/pull/40816#issuecomment-3699257180.

Eric Gourgoulhon

unread,
Jan 6, 2026, 3:39:57 AM (3 days ago) Jan 6
to sage-devel
Le lundi 5 janvier 2026 à 14:18:07 UTC+1, Tobia...@gmx.de a écrit :
Same error occurs on CI (after fixing another maxima-related error, that shadowed it before), see github.com/sagemath/sage/pull/40816#issuecomment-3699257180.

Thanks for the link. What is dubious in the error message is

Details: CL-INFO::LOAD-PRIMARY-INDEX: Cannot open #P"/usr/local/share/info/maxima-index.lisp".

Since there is no system Maxima installed on my computer, nor on the CI runner I guess, there is nothing related to Maxima in /usr/local/share. Given that the standalone "sage -maxima" runs well (including the documentation), the question is why the Sage interface to Maxima is using the wrong path "/usr/local/share".  Again, there was no such issue in Sage 10.8, which is built with the same version of the Maxima package. 

Eric. 
Reply all
Reply to author
Forward
0 new messages