2017-07-20 2 views
1

Ich habe eine seltsame Mischung von Fehlern.Kann parallel zu CL21 nicht installiert werden (?) Fehler mit CL21.CORE.FUNCTION

Ich war mit CL21, ich war in meinem Paket, und ich wollte lparallel installieren. Nicht möglich:

(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}>. 

ich es in einer neuen Sitzung wiedergeben kann, aber es ist ein bisschen komisch: Wenn ich quickload lparallel in cl-user, es beschwert sich über das Symbol nicht finden CL21.CORE.FUNCTION, auch wenn ich nicht nichts zu tun haben mit CL21 noch:

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

Also ich ql: quickload CL21 und dann erneut versuchen, lparallel zu laden. Ich bekomme den ersten Fehler.

Aber ich versuchte in Portacle für ein frisches Bild und ... Ich konnte das nicht reproduzieren.

Irgendeine Idee? Ist das ein Problem mit cl21, lparallel, quicklisp oder asdf?

+0

Sieht aus wie CL21 vermasselt die Standard-Tabelle durch Ersetzen von "#" mit einer eigenen Version, die nicht kompatibel mit Lparallel ist. Probieren Sie '(ql: quickload: lparallel: force t)' in einem neuen Image aus, um die mit cl21 kompilierten Dateien loszuwerden. – jkiiski

+0

Kein Glück mit diesem Befehl. Tatsächlich ersetzt cl21 "#". – Ehvince

+1

Ich habe auch ein Problem gefüllt: https://github.com/cl21/cl21/issues/99 und ein Arbeitsvorschlag ist die Verwendung von '(asdf: operate 'asdf: load-op: lparallel: force t)' (oder zu Löschen Sie die .fasd-Dateien). Du warst nah ! – Ehvince

Antwort

2

cl21 scheint das Standardleser-Makro #' durch eine eigene Version zu ersetzen, die nicht mit lparallel kompatibel ist. Wenn Sie versucht lparallel in einem frischen Bild zu laden, wird ASDF es von den .fasl -Dateien laden, die mit cl21 geladen kompiliert wurden, so müssen Sie entweder die Dateien löschen oder die Neuübersetzung zwingen

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

Laden cl21 nach lparallel ist mit der Standardsprache kompiliert sollte nicht das gleiche Problem verursachen.

+0

Sehr klar, danke! (außer "Wenn Sie versucht haben zu laden" => "wenn Sie versuchten zu laden"?) – Ehvince

Verwandte Themen