robert-dodier / maxima-jupyter

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

loadfile: failed to load load-maxima-jupyter.lisp #77

Closed xerz-one closed 4 years ago

xerz-one commented 4 years ago

Hi, I can't get the installer to work and I can't find any information as to why, I'm attaching the related logs below. Please understand I'm overall new to Common Lisp and Maxima.

Maxima 5.43.2 http://maxima.sourceforge.net
using Lisp SBCL 2.0.0.debian
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) load("load-maxima-jupyter.lisp");
; 
; compilation unit aborted
;   caught 1 fatal ERROR condition

loadfile: failed to load load-maxima-jupyter.lisp
 -- an error. To debug this try: debugmode(true);
(%i2) debugmode(true);
(%o2)                                true
(%i3) load("load-maxima-jupyter.lisp");
; 
; compilation unit aborted
;   caught 1 fatal ERROR condition

loadfile: failed to load load-maxima-jupyter.lisp
 -- an error.  Entering the Maxima debugger.
Enter ':h' for help.

(dbm:1) :bt

(dbm:1) 
powerline332 commented 4 years ago

Hi, I am also trying to get it to work...

I noticed that your error is different than it not finding the file, eg maxima's file_search();. Did you have any errors installing quicklisp or jupyter (python3 -m pip install --user jupyter jupyterlab)? you can run jupyter & jupyterlab w/o maxima to see if jupyter works, like from the terminal. You'll maybe only get python kernels available in the browser. One thing I seem to always forget is the (ql:add-to-init) command in quicklisp.

robert-dodier commented 4 years ago

Hi, may I ask from what list of instructions you are working? The README has several installation methods (I'm sorry that it's confusing). I think it would help others help you if you say what installation method you're following, and what steps you have tried so far and what result you got. Also, please say what kind of system you are working on.

I apologize that Maxima-Jupyter installation is kind of involved, but I think if we go through it step by step we can figure it out.

Two specific bits of advice: Since you're new to Maxima, my advice is to try installing and running the command line version first. After you feel comfortable with that, then try Maxima-Jupyter again.

Also, specifically about an error from load("load-maxima-jupyter.lisp"), you can sometimes get a more detailed error message by using the Lisp LOAD function, i.e.: :lisp (load "load-maxima-jupyter.lisp")

xerz-one commented 4 years ago

Hi, thanks for replying! I'll try to explain what I've done here:

(%i1) :lisp (load "load-maxima-jupyter.lisp")

Maxima encountered a Lisp error:

 READ error during LOAD:

   Package ASDF does not exist.

     Line: 4, Column: 21, File-Position: 85

     Stream: #<SB-INT:FORM-TRACKING-STREAM for "file /home/xerz/.opt/maxima-jupyter/load-maxima-jupyter.lisp" {1002BA2313}>

Automatically continuing.
To enable the Lisp debugger set *debugger-hook* to nil.

So it seems like I'm missing ASDF, which apparently is presumed as part of a regular Common Lisp installation. Installing the cl-asdf package in Debian does not automatically fix the issue, however, which I guess has to do with SBCL on Maxima not knowing where to look at, although it doesn't happen on standalone SBCL ((require "asdf") gives me ("ASDF" "asdf" "UIOP" "uiop")).

robert-dodier commented 4 years ago

OK, terrific. Yes, you need to use SBCL instead of GCL. About ASDF, try this: in Maxima, enter :lisp (require 'asdf) and then try to load load-maxima-jupyter.lisp after that.

By the way, the output you see from (require 'asdf) in SBCL indicates that it was loaded successfully. (I think (require 'asdf), (require :asdf), and (require "asdf") should all work.)

xerz-one commented 4 years ago

Alright, that part worked! This time it complained about package QL being missing. I assumed this was QuickLisp, which I had installed from Debian (cl-quicklisp) and for whichever reason it wouldn't be found and loaded. So, I downloaded QuickLisp into the project's root tree (curl -O https://beta.quicklisp.org/quicklisp.lisp) and this time I did:

:lisp (require "asdf")
:lisp (load "quicklisp.lisp")
:lisp (load "load-maxima-jupyter.lisp")

It keeps reporting READ error during LOAD: Package QL does not exist.. Any suggestions?

BTW, if I didn't load the QuickLisp script using :lisp and chose load() instead, Maxima would hang. This is most likely a bug in Maxima but should be taken into account.

xerz-one commented 4 years ago

Sorry, I didn't realize that was an installer and forgot to do (quicklisp-quickstart:install)! Now I did this and it worked:

 /* Change your path here */
:lisp (load "/home/xerz/quicklisp/setup.lisp")
:lisp (load "load-maxima-jupyter.lisp")
xerz-one commented 4 years ago

Would like to note that (ql:add-to-init-file) and a reboot were required and, after that, (require "asdf") would no longer throw an error. Thus, before proceeding to install maxima-jupyter, installing Quicklisp by following its instructions is required.

Yes, it was that simple of an issue, sorry.