#376 closed defect (fixed)
ASDF-JAR:PACKAGE not working
Reported by: | Mark Evenson | Owned by: | evenson |
---|---|---|---|
Priority: | major | Milestone: | 1.3.2 |
Component: | abcl-contrib | Version: | 1.4.0-dev |
Keywords: | asdf-jar | Cc: | |
Parent Tickets: |
Description
CL-USER> (asdf-jar:package :hunchentoot)
fails with
The value "hunchentoot" is not of type LIST. [Condition of type TYPE-ERROR] Restarts: 0: [RETRY] Retry SLIME REPL evaluation request. 1: [*ABORT] Return to SLIME's top level. 2: [ABORT] Abort thread. Backtrace: 0: (#<FUNCTION {5AB82387}> The value hunchentoot is not of type LIST. #<FUNCTION {5AB82387}>) 1: (APPLY #<FUNCTION {5AB82387}> (The value hunchentoot is not of type LIST. #<FUNCTION {5AB82387}>)) 2: (RUN-HOOK *INVOKE-DEBUGGER-HOOK* The value hunchentoot is not of type LIST. #<FUNCTION {5AB82387}>) 3: (INVOKE-DEBUGGER The value hunchentoot is not of type LIST.) 4: org.armedbear.lisp.Lisp.error(Lisp.java:382) 5: org.armedbear.lisp.Lisp.type_error(Lisp.java:435) 6: org.armedbear.lisp.LispObject.car(LispObject.java:156) 7: org.armedbear.lisp.Pathname.validateDirectory(Pathname.java:1502) 8: org.armedbear.lisp.Pathname.getDirectoryNamestring(Pathname.java:787) 9: org.armedbear.lisp.Pathname.getNamestring(Pathname.java:700) 10: org.armedbear.lisp.Pathname.printObject(Pathname.java:928) 11: org.armedbear.lisp.Primitives$pf__output_object.execute(Primitives.java:907) 12: #<LISP-STACK-FRAME {473B45FF}> 13: #<LISP-STACK-FRAME {15FA5B75}> 14: #<LISP-STACK-FRAME {4F25167A}> 15: #<LISP-STACK-FRAME {584F3AD0}> 16: #<LISP-STACK-FRAME {88E36AA}> 17: #<LISP-STACK-FRAME {79121804}> 18: #<LISP-STACK-FRAME {14645494}> 19: #<LISP-STACK-FRAME {747F7E1F}> 20: #<LISP-STACK-FRAME {1FD5A4CC}> 21: #<LISP-STACK-FRAME {29949D29}> 22: #<LISP-STACK-FRAME {2EEF76DB}> 23: #<LISP-STACK-FRAME {218AD907}> 24: #<LISP-STACK-FRAME {1AD4ED1C}> 25: #<LISP-STACK-FRAME {12475C3E}> 26: #<LISP-STACK-FRAME {208D3BC7}> 27: #<LISP-STACK-FRAME {7A980533}> 28: #<LISP-STACK-FRAME {4ABC2C16}> 29: #<LISP-STACK-FRAME {12ECB88D}> 30: (ADD-SYSTEM-FILES-TO-MAPPING! #<SYSTEM {20EAFE4}> #<EQUAL HASH-TABLE 2 entries, 11 buckets {221FB5AA}> /Users/evenson/quicklisp/dists/quicklisp/software/hunchentoot-1.2.27/ hunchentoot (RELATIVE) ...) Locals: "??" = ADD-SYSTEM-FILES-TO-MAPPING! "??"#1 = #<ASDF/SYSTEM:SYSTEM "hunchentoot"> "??"#2 = #<EQUAL HASH-TABLE 2 entries, 11 buckets {221FB5AA}> "??"#3 = /Users/evenson/quicklisp/dists/quicklisp/software/hunchentoot-1.2.27/ "??"#4 = hunchentoot "??"#5 = (RELATIVE) "??"#6 = NIL 31: (SYSTEMS->HASH-TABLE (#<SYSTEM {20EAFE4}>) (RELATIVE) NIL) 32: (PACKAGE HUNCHENTOOT)
Change History (5)
comment:3 Changed 10 years ago by
ASDF-JAR:PACKAGE and ASDF-JAR:ADD-TO-ASDF have been verified working as previously.
The ASDF-JAR packaging system only works for those ASDF system which completely describe all of their source artifacts. Unfortunately, some commonly used systems still use reader macros to do funky things in the ASDF definition that don't obey this distinction. For instance, BORDEAUX-THREADS (version 0.8.3) uses the following read-time macro to attempt to set the version:
:version #.(with-open-file (vers (merge-pathnames "version.lisp-expr" *load-truename*)) (read vers))
This will fail, as the "version.lisp-expr" file is not declared in the ASDF definition.
For systems such as these, a better strategy would be to simply recursively copy all the files from the directory containing the ".asd" file for inclusion. See ABCL-SERVLET:PREPARE for a packaging method that utilizes this strategy.
comment:4 Changed 10 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:5 Changed 10 years ago by
Milestone: | 1.4.0 → 1.3.2 |
---|
abcl-1.3.1 fails with a different error
so this has apparently been broken for some time, in different manners, which is odd because I was using this in April-May 2014 for packaging WAR files.