Hi,
I've been trying to load CXML using both the released version 0.9.11 and most recent CVS of SBCL, and receive the following error (this happens with both the latest CXML release available via ASDF-INSTALL and the CVS version):
[jamesjb@phi ~/devel/cxml] sbcl This is SBCL 0.9.11.38, an implementation of ANSI Common Lisp. More information about SBCL is available at http://www.sbcl.org/.
SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information. * (require :cxml)
;;; Checking for wide character support...; in: LAMBDA NIL ; (FORMAT T " no, reverting to octet strings.~%") ; ==> ; " no, reverting to octet strings.~%" ; ; note: deleting unreachable code ; ; compilation unit finished ; printed 1 note ok, characters have at least 16 bits. ;;; Building cxml with CHARACTER RUNES ; in: LAMBDA NIL ; (ASDF::RESOLVE-SYMLINKS *LOAD-TRUENAME*) ; ==> ; *LOAD-TRUENAME* ; ; note: deleting unreachable code
; (OR (ASDF::PATHNAME-SANS-NAME+TYPE (ASDF::RESOLVE-SYMLINKS *LOAD-TRUENAME*)) ; *DEFAULT-PATHNAME-DEFAULTS*) ; --> LET IF OR ; ==> ; *DEFAULT-PATHNAME-DEFAULTS* ; ; note: deleting unreachable code ; ; compilation unit finished ; printed 2 notes ; in: LAMBDA NIL ; (ASDF::RESOLVE-SYMLINKS *LOAD-TRUENAME*) ; ==> ; *LOAD-TRUENAME* ; ; note: deleting unreachable code
; (OR (ASDF::PATHNAME-SANS-NAME+TYPE (ASDF::RESOLVE-SYMLINKS *LOAD-TRUENAME*)) ; *DEFAULT-PATHNAME-DEFAULTS*) ; --> LET IF OR ; ==> ; *DEFAULT-PATHNAME-DEFAULTS* ; ; note: deleting unreachable code ; ; compilation unit finished ; printed 2 notes ; in: LAMBDA NIL ; (ASDF::RESOLVE-SYMLINKS *LOAD-TRUENAME*) ; ==> ; *LOAD-TRUENAME* ; ; note: deleting unreachable code
; (OR (ASDF::PATHNAME-SANS-NAME+TYPE (ASDF::RESOLVE-SYMLINKS *LOAD-TRUENAME*)) ; *DEFAULT-PATHNAME-DEFAULTS*) ; --> LET IF OR ; ==> ; *DEFAULT-PATHNAME-DEFAULTS* ; ; note: deleting unreachable code ; ; compilation unit finished ; printed 2 notes ; in: LAMBDA NIL ; (ASDF::RESOLVE-SYMLINKS *LOAD-TRUENAME*) ; ==> ; *LOAD-TRUENAME* ; ; note: deleting unreachable code
; (OR (ASDF::PATHNAME-SANS-NAME+TYPE (ASDF::RESOLVE-SYMLINKS *LOAD-TRUENAME*)) ; *DEFAULT-PATHNAME-DEFAULTS*) ; --> LET IF OR ; ==> ; *DEFAULT-PATHNAME-DEFAULTS* ; ; note: deleting unreachable code ; ; compilation unit finished ; printed 2 notes ; loading system definition from ; /home/jamesjb/.sbcl/systems/trivial-gray-streams.asd into #<PACKAGE "ASDF0"> ; registering #<SYSTEM :TRIVIAL-GRAY-STREAMS {1002C86C41}> as ; TRIVIAL-GRAY-STREAMS ; loading system definition from /home/jamesjb/devel/portableaserve/puri.asd ; into #<PACKAGE "ASDF0"> ; registering #<SYSTEM PURI {10023B01A1}> as PURI ; registering #<SYSTEM PURI-TESTS {100298F521}> as PURI-TESTS
debugger invoked on a TYPE-ERROR in thread #<THREAD "initial thread" {1002E931A1}>: The value NIL is not of type REAL.
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name): 0: [ABORT] Exit debugger, returning to top level.
(MAX NIL) 0] back
0: (MAX NIL) 1: ((SB-PCL::FAST-METHOD ASDF:OPERATION-DONE-P (ASDF:OPERATION ASDF:COMPONENT)) #<unavailable argument> #<unavailable argument> #<ASDF:COMPILE-OP NIL {1002D447A1}> #<CXML-SYSTEM::CLOSURE-SOURCE-FILE "runes" {100342EEC1}>) 2: ((SB-PCL::FAST-METHOD ASDF::TRAVERSE (ASDF:OPERATION ASDF:COMPONENT)) (#(NIL 3) . #()) #<unavailable argument> #<ASDF:COMPILE-OP NIL {1002D447A1}> #<CXML-SYSTEM::CLOSURE-SOURCE-FILE "runes" {100342EEC1}>) 3: ((SB-PCL::FAST-METHOD ASDF::TRAVERSE (ASDF:OPERATION ASDF:COMPONENT)) (#(NIL 3) . #()) #<unavailable argument> #<ASDF:COMPILE-OP NIL {1002D447A1}> #<ASDF:SYSTEM "cxml-runes" {1003325741}>) 4: ((LABELS ASDF::DO-DEP) ASDF:COMPILE-OP (:TRIVIAL-GRAY-STREAMS :PURI :CXML-RUNES)) 5: ((SB-PCL::FAST-METHOD ASDF::TRAVERSE (ASDF:OPERATION ASDF:COMPONENT)) (#(NIL 3) . #()) #<unavailable argument> #<ASDF:COMPILE-OP NIL {10029A9B71}> #<ASDF:SYSTEM "cxml-xml" {1003325761}>) 6: ((LABELS ASDF::DO-DEP) ASDF:COMPILE-OP (:CXML-XML)) 7: ((SB-PCL::FAST-METHOD ASDF::TRAVERSE (ASDF:OPERATION ASDF:COMPONENT)) (#(NIL 3) . #()) #<unavailable argument> #<ASDF:COMPILE-OP NIL {100299E591}> #<ASDF:SYSTEM "cxml-dom" {10032C79C1}>) 8: ((LABELS ASDF::DO-DEP) ASDF:COMPILE-OP (:CXML-DOM :CXML-XML)) 9: ((SB-PCL::FAST-METHOD ASDF::TRAVERSE (ASDF:OPERATION ASDF:COMPONENT)) (#(NIL 3) . #()) #<unavailable argument> #<ASDF:COMPILE-OP NIL {1002992501}> #<ASDF:SYSTEM "cxml-test" {100242AB51}>) 10: ((LABELS ASDF::DO-DEP) ASDF:COMPILE-OP (:CXML-TEST :CXML-DOM)) 11: ((SB-PCL::FAST-METHOD ASDF::TRAVERSE (ASDF:OPERATION ASDF:COMPONENT)) (#(NIL 3) . #()) #<unavailable argument> #<ASDF:COMPILE-OP NIL {1002982311}> #<ASDF:SYSTEM "cxml" {10026D7B51}>) 12: ((LABELS ASDF::DO-DEP) ASDF:COMPILE-OP ("cxml")) 13: ((SB-PCL::FAST-METHOD ASDF::TRAVERSE (ASDF:OPERATION ASDF:COMPONENT)) (#(NIL 3) . #()) #<unavailable argument> #<ASDF:LOAD-OP NIL {1002701691}> #<ASDF:SYSTEM "cxml" {10026D7B51}>) 14: (ASDF:OPERATE ASDF:LOAD-OP :CXML) 15: (ASDF::MODULE-PROVIDE-ASDF :CXML) 16: ((LAMBDA (#:G21)) ASDF::MODULE-PROVIDE-ASDF) 17: (SB-IMPL::%MAP-FOR-EFFECT-ARITY-1 #<CLOSURE (LAMBDA #) {10023B8C69}> (ASDF::MODULE-PROVIDE-ASDF SB-IMPL::MODULE-PROVIDE-CONTRIB)) 18: (SB-KERNEL:%MAP NIL #<CLOSURE (LAMBDA #) {10023B8C69}> (ASDF::MODULE-PROVIDE-ASDF SB-IMPL::MODULE-PROVIDE-CONTRIB)) 19: (REQUIRE :CXML NIL) 20: (SB-INT:EVAL-IN-LEXENV (REQUIRE :CXML) #<NULL-LEXENV>) 21: (INTERACTIVE-EVAL (REQUIRE :CXML)) 22: (SB-IMPL::REPL-FUN NIL) 23: ((LAMBDA ())) 24: ((LAMBDA ())) 25: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #<CLOSURE (LAMBDA #) {10023B8549}>) 26: (SB-IMPL::TOPLEVEL-REPL NIL) 27: (SB-IMPL::TOPLEVEL-INIT) 28: ((LABELS SB-IMPL::RESTART-LISP))
James
James Bielman jamesjb@jamesjb.com writes:
I've been trying to load CXML using both the released version 0.9.11 and most recent CVS of SBCL, and receive the following error (this happens with both the latest CXML release available via ASDF-INSTALL and the CVS version):
[...]
debugger invoked on a TYPE-ERROR in thread #<THREAD "initial thread" {1002E931A1}>: The value NIL is not of type REAL.
It looks like this is happening on the file components that override the pathname, like:
(:file rune-impl :pathname "dom-impl" :depends-on ("package"))
ASDF tries to call FILE-WRITE-DATE on ".../dom-impl", which of course doesn't exist, and bombs out in MAX. This patch fixes this issue for me, but I'm not sure if it's the best way.
Thanks, James