Closed defencedog closed 8 months ago
I suspect that Maxima was compiled with SBCL to create an executable image and that ASDF is not in that image, and the executable doesn't have the usual SBCL machinery available. Two ideas to try:
(1) Build Maxima with SBCL, and ensure that ASDF is in the image. I think (require 'asdf)
somewhere before dumping the image could be enough.
(2) Build Maxima with SBCL, but create a loadable image instead of an executable image. Then, when Maxima is run, the SBCL runtime will have ASDF and other stuff available. See the output of configure --help
to get the option for creating a loadable image for SBCL.
Let me know how it goes, I can try to help with details.
Before I recompile [I am just a chemical engineer btw so its bit difficult to do again] ...please check previous logs
install_aarch64.txt config_aarch64.txt
Adding default config.log file [above files i generated using tee
]
config.txt
config.txt
shows that the option --enable-sbcl-exec
was given to the configure script. That says that an executable image will be created, instead of a loadable image.
Therefore I believe what you need to do is to give the option --enable-sbcl
(instead of --enable-sbcl-exec
) and then rebuild Maxima, i.e.
$ sh bootstrap
$ ./configure --enable-sbcl --prefix=path/to/desired/directory
$ make
$ make install
--enable-sbcl
says that a loadable image (named maxima.core
) will be created. Then Maxima is actually executed as sbcl --core path/to/maxima.core
and same run time stuff is available as when just executing sbcl
at the command line. In particular, I expect :lisp (require 'asdf)
to succeed when issued at the Maxima console input prompt, or just (require 'asdf)
in Lisp source files which are loaded into Maxima.
A minor note: --with-sbcl
isn't needed if the SBCL executable is named sbcl
. But the presence of --with-sbcl
is harmless.
~Ok the asdf
error is now vanished thanks to you.~ I invoked maxima
using sbcl --core $PREFIX/local/lib/maxima/5.47.0/binary-sbcl/maxima.core --end-runtime-options --eval '(cl-user::run)'
then issued load("load-maxima-jupyter.lisp");
Following errors
(%i1) :lisp (load "~/quicklisp/setup.lisp")
T
(%i1) load("load-maxima-jupyter.lisp");
WARNING: System definition file #P"/data/data/com.termux/files/home/quicklisp/dists/quicklisp/software/pzmq-20210531-git/pzmq.asd" contains definition for system "pzmq-compat". Please only define "pzmq" and secondary systems with a name starting with "pzmq/" (e.g. "pzmq/test") in that file.
WARNING: System definition file #P"/data/data/com.termux/files/home/quicklisp/dists/quicklisp/software/pzmq-20210531-git/pzmq.asd" contains definition for system "pzmq-test". Please only define "pzmq" and secondary systems with a name starting with "pzmq/" (e.g. "pzmq/test") in that file.
WARNING: System definition file #P"/data/data/com.termux/files/home/quicklisp/dists/quicklisp/software/pzmq-20210531-git/pzmq.asd" contains definition for system "pzmq-examples". Please only define "pzmq" and secondary systems with a name starting with "pzmq/" (e.g. "pzmq/test") in that file.
While evaluating the form starting at line 4, column 0
of #P"/data/data/com.termux/files/home/quicklisp/local-projects/maxima-jupyter/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);
line 4 refers to asdf
again :(
Weird I move the git cloned folder out of local-projects
folder to $HOME
& again tried ...it worked!
(%i1) load("load-maxima-jupyter.lisp");
To load "maxima-jupyter":
Load 1 ASDF system:
maxima-jupyter
; Loading "maxima-jupyter"
................To load "iterate":
Load 1 ASDF system:
asdf
Install 1 Quicklisp release:
iterate
; Fetching #<URL "http://beta.quicklisp.org/archive/iterate/2021-05-31/iterate-release-b0f9a9c6-git.tgz">
; 338.01KB
==================================================
346,126 bytes in 0.14 seconds (2347.32KB/sec)
; Loading "iterate"
[package iterate]...........................
To load "maxima-jupyter":
Load 1 ASDF system:
maxima-jupyter
; Loading "maxima-jupyter"
..................................................
[package maxima-jupyter]..........
(%o1) load-maxima-jupyter.lisp
(%i2) jupyter_system_install(true, "pkg/");
Creating directories.
Installing kernel spec file /data/data/com.termux/files/home/maxima-jupyter/pkg/usr/local/share/jupyter/kernels/maxima/kernel.json
Installing kernel resources to /data/data/com.termux/files/home/maxima-jupyter/pkg/usr/local/share/jupyter/kernels/maxima/.
Installing Quicklisp bundle to /data/data/com.termux/files/home/maxima-jupyter/pkg/usr/local/share/maxima-jupyter/
Installing local systems to /data/data/com.termux/files/home/maxima-jupyter/pkg/usr/local/share/maxima-jupyter/local-projects/
(%o2) false
(%i3)
Terrific, I'm glad to hear you got it working. For the record, I added a paragraph in the Readme.md to try to clarify this point about whether ASDF is available when Maxima is executed. See commit [ bb0f5df ].
As per author's request I am starting a new thread because I already have successflly installed common-lisp-jupyter with maxima-interface. However, its syntax is really cumbersome!
Author will find that my environment of
sbcl, asdl, quicklisp, maxima
is properly configured & detailed logs are available here.I cloned the repo in
~/quicklisp/local-projects
...the real problem to begin with is that within maxima:lisp (require 'asdf)
doesn't work