2017-07-20 4 views
1

私は奇妙なミスがあります。CL21(?)と一緒にlparallelをインストールできないCL21.CORE.FUNCTIONで失敗する

私は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}>. 

私は新しいセッションでそれを再現することができますが、それは少し奇妙だ:cl-userでI quickload lparallel場合、それは私がCL21と何もしないしなかった場合でも、シンボルCL21.CORE.FUNCTIONを見つけないで文句を言いまだ:

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

私はql:quickload CL21を実行してから、lparallelを読み込み直します。私は最初のエラーを取得します。

しかし、新鮮な画像のためにPortacleを試しましたが、これを再現できませんでした。

それはcl21lparallelquicklispまたはasdfとの問題ですか?

+0

cl21のように見えるのは、 '# ''をlparallelと互換性のない独自のバージョンに置き換えることで、標準の読み込み可能ファイルを壊してしまいます。新鮮な画像で '(ql:quickload:lparallel:force t)'を試して、cl21をコンパイルしてコンパイルしたファイルを取り除いてください。 – jkiiski

+0

このコマンドで不運です。確かに、cl21は '# ''を置き換えます。 – Ehvince

+1

また、https://github.com/cl21/cl21/issues/99の問題を記入しました。また、(asdf:operations 'asdf:load-op:lparallel:force t) '(または.fasdファイルを削除してください)。あなたは近くにいた! – Ehvince

答えて

2

cl21は、lparallelと互換性のない独自のバージョンの標準リーダーマクロ#'を置き換えているようです。あなたは、新鮮なイメージでlparallelをロードしようとしたとき、あなたがそれらのファイルを削除したり、lparallel

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

ロードcl21で再コンパイルを強制する必要がありますいずれかのよう、空自は、ロードされたcl21でコンパイルされた.fasl -filesからそれをロードしますです標準言語でコンパイルしても同じ問題が発生するはずはありません。

+0

非常に明確です! (「ロードしようとしたとき」=>「ロードしようとしたとき」を除く) – Ehvince

関連する問題