1

我有一个奇怪的错误组合。

我正在使用 CL21,我在我的包中,我想安装 lparallel。不可能:

(ql:quickload :lparallel)
To load "lparallel":
  Load 1 ASDF system:
    lparallel
; Loading "lparallel"
; 
; caught ERROR:
;   DYNAMIC-EXTENT on a weird thing: (CL21.CORE.FUNCTION:FUNCTION #:BODY-FN1)
; 
; compilation unit aborted
;   caught 2 fatal ERROR conditions
;   caught 1 ERROR condition
; Evaluation aborted on #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {1008956C13}>.

我可以在新会话中重现它,但这有点奇怪:如果我quickloadlparallel in cl-user,它会抱怨找不到符号CL21.CORE.FUNCTION,即使我还没有对 CL21 做任何事情:

The name "CL21.CORE.FUNCTION" does not designate any package.

所以我 ql:quickload CL21 然后重试加载 lparallel。我得到第一个错误。

但是,我在 Portacle 中尝试了一个新的图像并且......我无法重现这个。

任何想法 ?这是cl21, lparallel,quicklisp还是? 的问题asdf

4

1 回答 1

2

cl21似乎#'用自己的不兼容的版本替换标准阅读器宏lparallel。当您尝试加载lparallel新映像时,ASDF 将从加载时.fasl编译的 -files加载它cl21,因此您必须删除这些文件或强制重新编译

(asdf:operate 'asdf:load-op :lparallel :force t)

cl21使用标准语言编译后加载lparallel不应导致相同的问题。

于 2017-07-20T15:57:37.350 回答