4

Maxima for Windoows is compiled with SBCL but somehow is missing ASDF3 support. Here is the output of *FEATURES* from Maxima:

(QUICKLISP ASDF2 ASDF ASDF-UNICODE CL MK-DEFSYSTEM CLTL2 64-BIT
 64-BIT-REGISTERS ALIEN-CALLBACKS ANSI-CL ASH-RIGHT-VOPS
 C-STACK-IS-CONTROL-STACK COMMON-LISP COMPARE-AND-SWAP-VOPS COMPLEX-FLOAT-VOPS
 CYCLE-COUNTER FLOAT-EQL-VOPS FP-AND-PC-STANDARD-SAVE GENCGC
 IEEE-FLOATING-POINT INLINE-CONSTANTS INTEGER-EQL-VOP LINKAGE-TABLE
 LITTLE-ENDIAN MEMORY-BARRIER-VOPS MULTIPLY-HIGH-VOPS OS-PROVIDES-DLOPEN
 OS-PROVIDES-PUTWC PACKAGE-LOCAL-NICKNAMES PRECISE-ARG-COUNT-ERROR
 RAW-INSTANCE-INIT-VOPS RAW-SIGNED-WORD SB-DOC SB-DYNAMIC-CORE SB-EVAL SB-FUTEX
 SB-LDB SB-PACKAGE-LOCKS SB-QSHOW SB-SAFEPOINT SB-SAFEPOINT-STRICTLY
 SB-SIMD-PACK SB-SOURCE-LOCATIONS SB-THREAD SB-THRUPTION SB-UNICODE SB-WTIMER
 SBCL STACK-ALLOCATABLE-CLOSURES STACK-ALLOCATABLE-FIXED-OBJECTS
 STACK-ALLOCATABLE-LISTS STACK-ALLOCATABLE-VECTORS
 STACK-GROWS-DOWNWARD-NOT-UPWARD SYMBOL-INFO-VOPS UNBIND-N-VOP
 UNDEFINED-FUN-RESTARTS UNWIND-TO-FRAME-AND-CALL-VOP WIN32 X86-64)

It must have picked-up QUICKLISP from my .sbclrc file and it actually can load some systems, like ALEXANDRIA. However, it fails to load the systems that involve more complex compilation, like LAPACK, MINPACK or ODEPACK. For example,

MAXIMA> (ql:quickload :uiop)

To load "uiop":
  Load 1 ASDF system:
    uiop
; Loading "uiop"

(:UIOP)
MAXIMA> (ql:quickload :lapack)

While evaluating the form starting at line 5, column 0
  of #P"C:/Users/alexe_000/quicklisp/dists/quicklisp/software/f2cl-20170403-git/packages/lapack.asd":
Maxima encountered a Lisp error:

 Error while trying to load definition for system lapack from pathname
 C:/Users/alexe_000/quicklisp/dists/quicklisp/software/f2cl-20170403-git/packages/lapack.asd:

    The name "F2CL-ASDF" does not designate any package.

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

MAXIMA> (ql:quickload :f2cl-asdf)

To load "f2cl-asdf":
  Load 1 ASDF system:
    f2cl-asdf
; Loading "f2cl-asdf"
[package f2cl-asdf]
Maxima encountered a Lisp error:

 The name "ASDF/COMPONENT" does not designate any package.

Comparing with features with my local SBCL installation, I tracked the problem down to ASDF3 being available on my SBCL, but not Maxima's.

I have managed to compile Maxima from sources on Linux and it works fine there. The compilation procedure on Windows is rather complicated and I would prefer to avoid it if I can. So, is there a way to make ASDF3 available somehow?

mobiuseng
  • 2,326
  • 1
  • 16
  • 30
  • 1
    I'm not sure how it works on Windows, but on Linux I have Maxima installed using the "Lisp-only"-instructions and ASDF works fine. – jkiiski Jun 27 '17 at 09:01
  • 2
    @mobiuseng I've also used the Lisp-only build system on Windows (although not with SBCL) and it worked successfully, so my advice is to try that. About ASDF3, my advice is to address the issue on the Maxima mailing list (maxima-discuss@lists.sourceforge.net). See: http://maxima.sourceforge.net/maximalist.html – Robert Dodier Jun 27 '17 at 18:38
  • @RobertDodier ok, I will try Lisp-only build, I got a bit scared by the line in the INSTALL file that plotting won't work on Windows with Lisp-only build. – mobiuseng Jun 27 '17 at 20:52
  • @mobiuseng Yeah, I guess plotting and the on-line documentation are probably problematic. About plotting: probably it's possible to fix up the path to Gnuplot so that it works. Try building Maxima first and if you get that far then we can investigate plotting. About documentation: build Maxima from a tar.gz (instead of a Git repo) since the tar.gz contains the maxima.info files and documentation index. Again it might be necessary to fix up paths. – Robert Dodier Jun 27 '17 at 21:33

0 Answers0