robert-dodier / maxima-jupyter

A Maxima kernel for Jupyter, based on CL-Jupyter (Common Lisp kernel)
Other
185 stars 31 forks source link

maxima --batch-string="load(\"load-maxima-jupyter.lisp\");jupyter_install()"; fails during Binder-Build but not when started manually later #99

Closed rcmlz closed 3 years ago

rcmlz commented 3 years ago

Hello

For educational purposes I am trying to setup the maxima-kernel side byside with other kernels using a small script in Binder. I am using Binders defaults settings (see link below), installing sbcl via apt. Maxima, quicklisp and maxima-jupyter I install from source as shown in maxima.sh (learning from the Docker file you are using).

When I run

maxima --batch-string="load(\"load-maxima-jupyter.lisp\");jupyter_install()";

during Binder build I get "parser: end of file while scanning expression." -and the maxima-kernel is not installed. When I run this same comand later inside the completed Binder-Image again, it works and kernel is installed.

Do you know what the reason for that error could be and how I could avoid it and hence ensure, that the kernel is installed during the inital build?

Thank you rcmlz

Below the error message and a link to the "result" of the partially failing Binder build which can be turned into a working Maxima-Jupyter by executing above comand in a terminal (inside $HOME/.maxima/maxima-jupyter, as this is where I cloned the repo in this example).

https://mybinder.org/v2/gh/rcmlz/edu-binder-env/adding_maxima?urlpath=lab

To load "maxima-jupyter": Load 1 ASDF system: maxima-jupyter ; Loading "maxima-jupyter" [package maxima-jupyter]........ (%o1) load-maxima-jupyter.lisp Maxima encountered a Lisp error:

parser: end of file while scanning expression.

Automatically continuing.

yitzchak commented 3 years ago

You've got a typo in your maxima command. The last semicolon should be inside the double quotes.

maxima --batch-string="load(\"load-maxima-jupyter.lisp\");jupyter_install();"
rcmlz commented 3 years ago

Thank you - that was the (silly) problem! This issue is solved.

The script works now, installing the maxima-jupyter-kernel.

(Just the startup of the first notebook takes quite some time ... apparently because new kernels are compiled into a folder "common-lisp-jupyter/" - I will look into this later.