cschwan / sage-on-gentoo

(Unofficial) Gentoo Overlay for Sage- and Sage-related ebuilds
84 stars 26 forks source link

sage-9.2-r1, ecls-20.4.24-r2, maxima-5.44.0: Module error: Don't know how to REQUIRE MAXIMA. #613

Closed g-regex closed 3 years ago

g-regex commented 3 years ago

Hello!

I have recently updated Sage to version 9.2. This also required updating to maxima-5.44.0 and to ecls-20.4.24-r2.

The problem I am encountering now is that functions, which use Maxima, cannot be executed anymore, while the following error is reported:

RuntimeError: ECL says: Module error: Don't know how to REQUIRE MAXIMA.

I have seen that there is another open issue with ECL, but this one seems to be a bit different.

As suggested in that thread, I have tried the following to find the source of the problem:

sage: from sage.libs.ecl import ecl_eval
sage: ecl_eval("(require 'maxima)")
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-5-b4f40460d798> in <module>
----> 1 ecl_eval("(require 'maxima)")

/usr/lib/python3.7/site-packages/sage/libs/ecl.pyx in sage.libs.ecl.ecl_eval (/var/tmp/portage/sci-mathematics/sage-9.2-r1/work/sage-9.2/src-python3_7/build/cythonized/sage/libs/ecl.c:11008)()
   1370
   1371 #convenience routine to more easily evaluate strings
-> 1372 cpdef EclObject ecl_eval(str s):
   1373     r"""
   1374     Read and evaluate string in Lisp and return the result

/usr/lib/python3.7/site-packages/sage/libs/ecl.pyx in sage.libs.ecl.ecl_eval (/var/tmp/portage/sci-mathematics/sage-9.2-r1/work/sage-9.2/src-python3_7/build/cythonized/sage/libs/ecl.c:10941)()
   1393     """
   1394     cdef cl_object o
-> 1395     o=ecl_safe_eval(python_to_ecl(s, True))
   1396     return ecl_wrap(o)
   1397

/usr/lib/python3.7/site-packages/sage/libs/ecl.pyx in sage.libs.ecl.ecl_safe_eval (/var/tmp/portage/sci-mathematics/sage-9.2-r1/work/sage-9.2/src-python3_7/build/cythonized/sage/libs/ecl.c:5573)()
    337
    338     if error != NULL:
--> 339         raise RuntimeError("ECL says: {}".format(
    340             ecl_string_to_python(error)))
    341     else:

RuntimeError: ECL says: Module error: Don't know how to REQUIRE MAXIMA.

Trying to require Maxima directly in the ECL REPL gives the same result:

> (require 'maxima)

Condition of type: SIMPLE-ERROR
Module error: Don't know how to REQUIRE MAXIMA.

Available restarts:

1. (RESTART-TOPLEVEL) Go back to Top-Level REPL.

Broken at SI:BYTECODES. [Evaluation of: (REQUIRE 'MAXIMA)] In: #<process TOP-LEVEL 0x7f278d1a9f80>.
>>

The packages were compiled with the following USE-flags:

[ebuild   R   ~] dev-lisp/ecls-20.4.24-r2:0/20.4.24::sage-on-gentoo  USE="X libatomic threads unicode -cxx -debug -emacs -gengc -precisegc" CPU_FLAGS_X86="sse" 0 KiB
[ebuild   R   ~] sci-mathematics/maxima-5.44.0::gentoo  USE="X ecls nls unicode -clisp -clozurecl (-cmucl) -emacs -gcl -sbcl -test -tk" L10N="-de -es -pt -pt-BR" 0 KiB
[ebuild   R   ~] sci-mathematics/sage-9.2-r1::sage-on-gentoo  USE="X doc-html-bin -bliss -debug -doc-html -doc-pdf -doc-pdf-bin -jmol -latex -testsuite" L10N="en -ca -de -es -fr -hu -it -ja -pt -ru -tr" PYTHON_TARGETS="python3_7 -python3_8" 0 KiB

On trac.sagemath.org I could not find anything related to this and since nobody else opened an issue about this yet, I assume the problem lies somewhere with my personal setup.

Any ideas, where I can continue looking for the problem?

kiwifb commented 3 years ago

You need the maxima from the sage-on-gentoo overlay which should have the fix for this. It should be enabled by sage-9.2 keyword file.

g-regex commented 3 years ago

Thank you very much! This solved the issue.