[asdf-devel] ASDF shipped with the latest Quicklisp-client doesn't work on Allegro CL 8.1

Xiaofeng Yang n.akr.akiiya at gmail.com
Sat Jan 12 04:02:48 UTC 2013


I'm sorry for this duplicated mail. I forgot to write the subject for the
previous mail .

Hi, all
    The ASDF shipped with latest Quicklisp-client doesn't work on Allegro
CL 8.1 correctly. So I fixed it and made an ugly patch for it. I'm so sorry
I don't know whether this is the right place to discuss this problem, so I
will then add this issus to the quicklisp-bootstrap project.
The problem and patch can also be found here:
https://github.com/nakrakiiya/acl-patches/commit/86236e11d89765a15fe44c0ede40119ed4958c3c#8.1/quicklisp-client-2012112500/asdf.lisp


FIX: `Illegal keyword given: :EXTERNAL-FORMAT.' while executing
`(quicklisp-quickstart:install)'.

Details:

CL-USER> (quicklisp-quickstart:install)
; Loading D:\Documents and Settings\nakra\quicklisp\setup.lisp

Illegal keyword given: :EXTERNAL-FORMAT.
   [Condition of type PROGRAM-ERROR]

Restarts:
 0: [RETRY] Retry compiling #<CL-SOURCE-FILE "quicklisp" "package">.
 1: [ACCEPT] Continue, treating compiling #<CL-SOURCE-FILE "quicklisp"
"package"> as having been successful.
 2: [RETRY] retry the load of D:\Documents and
Settings\nakra\quicklisp\setup.lisp
 3: [SKIP] skip loading D:\Documents and Settings\nakra\quicklisp\setup.lisp
 4: [RECOMPILE-DUE-TO-INCOMPATIBLE-FASL] recompile D:\Documents and
Settings\nakra\quicklisp\setup.lisp
 5: [RETRY] Retry SLIME REPL evaluation request.
 --more--

Backtrace:
  0: (ERROR PROGRAM-ERROR :FORMAT-CONTROL "Illegal keyword given: ~s."
:FORMAT-ARGUMENTS (:EXTERNAL-FORMAT))
  1: (COMPILE-FILE-PATHNAME "x.lisp" ..)
  2: (ASDF:COMPILE-FILE-PATHNAME* #P"D:\\Documents and
Settings\\nakra\\quicklisp\\quicklisp\\package.lisp" :OUTPUT-FILE ..)
  3: (ASDF:COMPILE-FILE* #P"D:\\Documents and
Settings\\nakra\\quicklisp\\quicklisp\\package.lisp" :OUTPUT-FILE ..)
  4: ((:INTERNAL (METHOD ASDF:PERFORM (ASDF:COMPILE-OP ASDF:CL-SOURCE-FILE)) 0))
  5: ((METHOD ASDF::CALL-WITH-AROUND-COMPILE-HOOK (ASDF:COMPONENT T))
#<ASDF:CL-SOURCE-FILE "quicklisp" "package"> #<Closure (:INTERNAL
(METHOD ASDF:PERFORM #) 0) @ #x2143fc7a>)
  6: ((METHOD ASDF:PERFORM (ASDF:COMPILE-OP ASDF:CL-SOURCE-FILE))
#<ASDF:COMPILE-OP (:VERBOSE NIL) @ #x213d60c2> #<ASDF:CL-SOURCE-FILE
"quicklisp" "package">)
  7: ((:INTERNAL (:EFFECTIVE-METHOD 2 NIL NIL NIL NIL) 0)
#<ASDF:COMPILE-OP (:VERBOSE NIL) @ #x213d60c2> #<ASDF:CL-SOURCE-FILE
"quicklisp" "package">)
  8: ((METHOD ASDF::PERFORM-WITH-RESTARTS (T T)) #<ASDF:COMPILE-OP
(:VERBOSE NIL) @ #x213d60c2> #<ASDF:CL-SOURCE-FILE "quicklisp"
"package">)
  9: ((METHOD ASDF::PERFORM-WITH-RESTARTS :AROUND (T T))
#<ASDF:COMPILE-OP (:VERBOSE NIL) @ #x213d60c2> #<ASDF:CL-SOURCE-FILE
"quicklisp" "package">)
 10: ((:INTERNAL (:EFFECTIVE-METHOD 2 NIL NIL T T) 0)
#<ASDF:COMPILE-OP (:VERBOSE NIL) @ #x213d60c2> #<ASDF:CL-SOURCE-FILE
"quicklisp" "package">)
 11: ((FLET (METHOD ASDF::PERFORM-PLAN (LIST)) EXCL::CONTINUATION))
 12: ((METHOD ASDF::PERFORM-PLAN (LIST)) ..)
 13: ((:INTERNAL (:EFFECTIVE-METHOD 1 T T NIL NIL) 0) ..)
 14: ((:INTERNAL (METHOD ASDF:OPERATE (T T)) 0))
 15: (ASDF::CALL-WITH-SYSTEM-DEFINITIONS #<Closure (:INTERNAL (METHOD
ASDF:OPERATE #) 0) [LOAD-OP] @ #x213d36da>)
 16: ((METHOD ASDF:OPERATE (T T)) ASDF:LOAD-OP "quicklisp" :VERBOSE NIL)
 17: ((:INTERNAL (:EFFECTIVE-METHOD 2 T NIL NIL NIL) 0) ASDF:LOAD-OP
"quicklisp" . 1)
 18: (ASDF:OOS ASDF:LOAD-OP "quicklisp" :VERBOSE NIL)
 19: (LET ((*COMPILE-PRINT* NIL) (*COMPILE-VERBOSE* NIL)
(*LOAD-VERBOSE* NIL) (*LOAD-PRINT* NIL)) (ASDF:OOS 'ASDF:LOAD-OP
"quicklisp" :VERBOSE NIL))
 --more--

The diff from the origin asdf.lisp file:

$ git diff  6d465f92b240fe5ded55447f9a000a1e54a7a22a
86236e11d89765a15fe44c0ede40119ed4958c3c
diff --git a/8.1/quicklisp-client-2012112500/asdf.lisp
b/8.1/quicklisp-client-2012112500/asdf.lisp
index 283ad86..2f9b98a 100644
--- a/8.1/quicklisp-client-2012112500/asdf.lisp
+++ b/8.1/quicklisp-client-2012112500/asdf.lisp
@@ -2478,7 +2478,10 @@ recursive calls to traverse.")
          c #'(lambda (&rest flags)
                (apply *compile-op-compile-file-function* source-file
                       :output-file output-file
-                      :external-format (component-external-format c)
+                      #+(or (and allegro (version>= 8 2))
+                            (not allegro)) :external-format
+                      #+(or (and allegro (version>= 8 2))
+                            (not allegro)) (component-external-format c)
                       (append flags (compile-op-flags operation)))))
       (unless output
         (error 'compile-error :component c :operation operation))


     Best regards,
Xiaofeng Yang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20130112/d42acc5a/attachment.html>


More information about the asdf-devel mailing list