robert-dodier/maxima-jupyter

preload lisp problem

Closed this issue · 1 comments

Hi,
I tried to install using the install-maxima-jupyter.py script, but it does not work.
I guess that there is a problem around the load-maxima-jupyter.lisp code because in a terminaI I get:

$ maxima  --preload-lisp=/opt/maxima-jupyter/load-maxima-jupyter.lisp
Maxima encountered a Lisp error:

Error:
Fast links are on: do (si::use-fast-links nil) for debugging
Signalled by MAKE::NEW-REQUIRE.
SIMPLE-ERROR: The slot MAKE::COMPONENT is unbound in the object #<MAKE:MISSING-SYSTEM.0>.

Broken at MAKE:MISSING-COMPONENT-COMPONENT.  Type :H for Help.
    1  Maxima top-level
    2  Maxima top-level
    3  Return to top level.
MAXIMA>>

It is on debian stretch

$ dpkg -l  maxima cl-quicklisp libczmq-dev python3 |grep ^ii
ii  cl-quicklisp   1.0-1        all          library manager for Common Lisp
ii  libczmq-dev:am 4.0.2-7      amd64        High-level C binding for ZeroMQ (
ii  maxima         5.38.1-8+b1  amd64        Computer algebra system -- base
ii  python3        3.5.3-1      amd64        interactive high-level object

The content of /opt/maxima-jupyter:

$ ls /opt/maxima-jupyter/
additions.lisp  iopub.lisp                overrides-cl-info.lisp  stdin.lisp
channel.lisp    kernel.lisp               overrides.lisp          utils.lisp
config.lisp     load-maxima-jupyter.lisp  packages.lisp
evaluator.lisp  maxima-jupyter.asd        results.lisp
heartbeat.lisp  message.lisp              shell.lisp

that is, it is the content of src with load-maxima-jupyter.lisp.

How can I fix the problem?
TIA, Zsolt

I gather that you are working with Maxima compiled with GCL which is what is installed by the Debian package for Maxima. In order to use maxima-jupyter, you will have to install another Lisp implementation and use it to compile Maxima; GCL cannot be used.

I will recommend Clozure CL since that is what I have used to work with maxima-jupyter, but I believe SBCL will also work. Other implementations (Lispworks, Allegro, ABCL, ECL, Clisp) might work but I am less sure.

I see the Readme.md for maxima-jupyter is unclear about Lisp implementations. I have pushed a commit to make Readme.md clearer in that respect.

Compiling Maxima is pretty simple. (1) Download a Maxima tarball from the Maxima project at Sourceforge and unpack it. (2) sh bootstrap && ./configure --enable-foolisp && make && make install (where foolisp is the name of your Lisp implementation).

Thank you for your interest in maxima-jupyter, I hope this helps in some way.