Getting Maxima to work

Hi there! I’m trying to get Maxima to work on Glitch and Jupyter, but my options are limited:

  • Containers come with no preinstalled Common Lisp interpreter
  • SBCL cannot be compiled without another Common Lisp installed, the prebuilt executable requires a newer Glibc version than the one in Ubuntu 16.04.
  • Another prebuilt Lisp, Clozure, weights too much to fit in.
  • Other more lightweight options like ECL are out of the way due to seeming incompatibility with maxima-jupyter
  • CLISP manages to compile, but even when manually compiling libsigsegv beforehand I’m getting SIGSEVs like the following:
*** - handle_fault error2 ! address = 0x4e0412d08 not in [0x33537a000,0x335586080) !
SIGSEGV cannot be cured. Fault address = 0x4e0412d08.
GC count: 4
Space collected by GC: 2615856
Run time: 0 112000
Real time: 0 842402
GC time: 0 12000
Permanently allocated: 158144 bytes.
Currently in use: 4589400 bytes.
Free space: 4 bytes.
Segmentation fault (core dumped)

Any suggestions? Perhaps someone could be nice enough to preinstall e.g. SBCL on new projects? Thanks in advance!

Update: I got SBCL to compile using CLISP first, but the compilation process is extremely slow, and I can’t get it to set it SBCL_PATH properly in compile-time.

OK, so I got a working script - except because there is simply not enough space. If an interpreter like SBCL could come preinstalled, this would hopefully not be an issue. Please please please add SBCL!

Here’s the script in question: https://gitlab.com/snippets/1934670

hi @xerz - i suggest you post to the Feedback category making the request to add SBCL - including what it is and why it should be added - that way the team responsible for the container images can see!

2 Likes

Update: I have created a new post in the Feedback category requesting SBCL.

I have also tried compiling Maxima with ECL, and it succeeds in that part, but it’s not managing to install maxima-jupyter and it’s hard to say whenever it’s a bug or the system running out of storage. The script can be found here.

1 Like

After opening a ticket over the maxima-jupyter repository, it seems like ECL is unsupported and no related issues will be solved, which most likely means that what I’m trying to do can only be achieved with changes in the container image or an increase in the storage limit. I would rather not ask for the latter, so I’m hoping SBCL can come preinstalled.

Solved! I managed to get Maxima working and Jupyter fitting by compiling Maxima with Jupyter support as a standalone executable. I have updated the SBCL setup script and the final product is available at https://glitch.com/~jupyterlab-maxima! :tada:

I still hope SBCL can come preinstalled out-of-the-box, but hey, for now this works!

Oh, and GNUplot isn’t available. Will see what to do with that.