robert-dodier/maxima-jupyter

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

rcmlz opened this issue · 2 comments

rcmlz commented

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.

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

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.