在Maxima的SBCL中提供ASDF3

时间:2017-06-27 08:27:22

标签: windows common-lisp maxima asdf

Windoows的Maxima是使用SBCL编译的,但不知何故缺少ASDF3支持。以下是Maxima的*FEATURES*输出:

(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)

它必须从我的QUICKLISP文件中获取.sbclrc,它实际上可以加载某些系统,例如ALEXANDRIA。但是,它无法加载涉及更复杂编译的系统,例如LAPACKMINPACKODEPACK。例如,

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.

与我本地SBCL安装的功能相比,我将问题跟踪到我的SBCL上可用的ASDF3,但不是Maxima的。

我已经设法从Linux上的源代码编译Maxima,它在那里工作得很好。 Windows上的编译过程相当复杂,如果可以,我宁愿避免使用它。那么,有没有办法以某种方式提供ASDF3?

0 个答案:

没有答案