hi,
i try to load cl-prevalence under sbcl and cmucl but i have some
problems
i put s-xml and cl-prevalence in asdf:*central-registry*, and load-op
cl-prevalence
the output error :
; compilation finished in 0:00:00
; compiling file
; "/home/nicolas/src/cl-prevalence/src/managed-prevalence.lisp"
; (written 14 FEB 2005 09:20:02 PM):
; compiling (IN-PACKAGE :CL-PREVALENCE)
; compiling (DEFMACRO EXECUTE-TRANSACTION ...)
; compiling (DEFCLASS OBJECT-WITH-ID ...)
; compiling (DEFGENERIC GET-ID ...)
; compiling (DEFUN GET-OBJECTS-ROOT-NAME ...)
; compiling (DEFUN GET-OBJECTS-SLOT-INDEX-NAME ...)
; compiling (DEFGENERIC FIND-ALL-OBJECTS ...)
; compiling (DEFMETHOD FIND-ALL-OBJECTS ...)
; compiling (DEFGENERIC FIND-OBJECT-WITH-ID ...)
; compiling (DEFMETHOD FIND-OBJECT-WITH-ID ...)
; compiling (DEFGENERIC FIND-OBJECT-WITH-SLOT ...);
; caught ERROR:
; (during macroexpansion of (DEFGENERIC FIND-OBJECT-WITH-SLOT ...))
; invalid (TEST #'EQUALP)
; in the generic function lambda list (SYSTEM CLASS
; SLOT
; VALUE
; &OPTIONAL
; (TEST #'EQUALP))
; See also:
; The ANSI Standard, Section 3.4.2
; compiling (DEFMETHOD FIND-OBJECT-WITH-SLOT ...)
; compiling (DEFUN TX-CREATE-OBJECTS-SLOT-INDEX ...)
; compiling (DEFUN TX-REMOVE-OBJECTS-SLOT-INDEX ...)
; compiling (DEFUN ADD-OBJECT-TO-SLOT-INDEX ...)
; compiling (DEFUN REMOVE-OBJECT-FROM-SLOT-INDEX ...)
; compiling (DEFUN INDEX-ON ...)
; compiling (DEFUN DROP-INDEX-ON ...)
; compiling (DEFUN SLOT-VALUE-CHANGED-P ...)
; compiling (DEFUN TX-CREATE-OBJECT ...)
; compiling (DEFUN TX-DELETE-OBJECT ...)
; compiling (DEFUN TX-CHANGE-OBJECT-SLOTS ...)
; compiling (DEFUN TX-CREATE-ID-COUNTER ...)
; compiling (DEFMETHOD NEXT-ID ...)
; compiling (DEFGENERIC GET-PREFERENCE ...)
; compiling (DEFMETHOD GET-PREFERENCE ...)
; compiling (DEFUN TX-SET-PREFERENCE ...)
; compiling (DEFGENERIC ALL-PREFERENCES-KEYS ...)
; compiling (DEFMETHOD ALL-PREFERENCES-KEYS ...)
; /home/nicolas/src/cl-prevalence/src/managed-prevalence.fasl written
; compilation finished in 0:00:00
WARNING:
COMPILE-FILE warned while performing #<COMPILE-OP NIL {9C2FCB9}> on
#<CL-SOURCE-FILE "managed-prevalence" {9C30119}>.
debugger invoked on a ASDF:COMPILE-FAILED in thread 13489:
erred while invoking #<COMPILE-OP NIL {9C2FCB9}> on
#<CL-SOURCE-FILE "managed-prevalence" {9C30119}>
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [RETRY ] Retry performing #<ASDF:COMPILE-OP NIL {9C2FCB9}> on
#<ASDF:CL-SOURCE-FILE "managed-prevalence" {9C30119}>.
1: [ACCEPT] Continue, treating #<ASDF:COMPILE-OP NIL {9C2FCB9}> on
#<ASDF:CL-SOURCE-FILE "managed-prevalence" {9C30119}> as
having
been successful.
2: [ABORT ] Exit debugger, returning to top level.
((SB-PCL::FAST-METHOD ASDF:PERFORM (ASDF:COMPILE-OP
ASDF:CL-SOURCE-FILE))
#<unavailable argument>
#<unavailable argument>
#<ASDF:COMPILE-OP NIL {9C2FCB9}>
#<ASDF:CL-SOURCE-FILE "managed-prevalence" {9C30119}>)
0]
so problems comes from this function :
(defgeneric find-object-with-slot (system class slot value &optional test)
(:documentation "Find and return the object in system of class with
slot equal to value, null if not found"))
(defmethod find-object-with-slot ((system prevalence-system) class
slot value &optional (test #'equalp))
"Find and return the object in system of class with slot equal to
value, null if not found"
(let* ((index-name (get-objects-slot-index-name class slot))
(index (get-root-object system index-name)))
(if index
(find-object-with-id system class (gethash value index))
(find value (find-all-objects system class)
:key #'(lambda (object) (slot-value object slot)) :test
test))))
by changing the defgeneric method in :
(defgeneric find-object-with-slot (system class slot value &optional test)
(:documentation "Find and return the object in system of class with
slot equal to value, null if not found"))
problems is solved
after this there is no problems when i load-op cl-prevalence in SLIME
But in a unix shell :
; /home/nicolas/src/cl-prevalence/src/debug-prevalence.fasl written
; compilation finished in 0:00:00
; compiling file
; "/home/nicolas/src/cl-prevalence/src/managed-prevalence.lisp"
; (written 09 AUG 2005 11:10:13 AM):
; compiling (IN-PACKAGE :CL-PREVALENCE)
; compiling (DEFMACRO EXECUTE-TRANSACTION ...)
; compiling (DEFCLASS OBJECT-WITH-ID ...)
; compiling (DEFGENERIC GET-ID ...)
; compiling (DEFUN GET-OBJECTS-ROOT-NAME ...)
; compiling (DEFUN GET-OBJECTS-SLOT-INDEX-NAME ...)
; compiling (DEFGENERIC FIND-ALL-OBJECTS ...)
; compiling (DEFMETHOD FIND-ALL-OBJECTS ...)
; compiling (DEFGENERIC FIND-OBJECT-WITH-ID ...)
; compiling (DEFMETHOD FIND-OBJECT-WITH-ID ...)
; compiling (DEFGENERIC FIND-OBJECT-WITH-SLOT ...)
; compiling (DEFMETHOD FIND-OBJECT-WITH-SLOT ...)
; compiling (DEFUN TX-CREATE-OBJECTS-SLOT-INDEX ...)
; compiling (DEFUN TX-REMOVE-OBJECTS-SLOT-INDEX ...)
; compiling (DEFUN ADD-OBJECT-TO-SLOT-INDEX ...)
; compiling (DEFUN REMOVE-OBJECT-FROM-SLOT-INDEX ...)
; compiling (DEFUN INDEX-ON ...)
; compiling (DEFUN DROP-INDEX-ON ...)
; compiling (DEFUN SLOT-VALUE-CHANGED-P ...)
; compiling (DEFUN TX-CREATE-OBJECT ...)
; compiling (DEFUN TX-DELETE-OBJECT ...)
; compiling (DEFUN TX-CHANGE-OBJECT-SLOTS ...)
; compiling (DEFUN TX-CREATE-ID-COUNTER ...)
; compiling (DEFMETHOD NEXT-ID ...)
; compiling (DEFGENERIC GET-PREFERENCE ...)
; compiling (DEFMETHOD GET-PREFERENCE ...)
; compiling (DEFUN TX-SET-PREFERENCE ...)
; compiling (DEFGENERIC ALL-PREFERENCES-KEYS ...)
; compiling (DEFMETHOD ALL-PREFERENCES-KEYS ...)
; /home/nicolas/src/cl-prevalence/src/managed-prevalence.fasl written
; compilation finished in 0:00:01
; compiling file "/home/nicolas/src/cl-prevalence/src/sysdeps.lisp"
; (written 28 JUN 2004 01:54:49 PM):
; compiling (IN-PACKAGE :CL-PREVALENCE)compilation aborted because of
; fatal error:
READ failure in COMPILE-FILE:
READER-ERROR at 924 (line
; 26, column 69) on #<SB-SYS:FD-STREAM for "file
; \"/home/nicolas/src/cl-prevalence/src/sysdeps.lisp\"" {95B6A41}>:
package "SB-BSD-SOCKETS" not found
; /home/nicolas/src/cl-prevalence/src/sysdeps.fasl written
; compilation finished in 0:00:00
WARNING:
COMPILE-FILE warned while performing #<COMPILE-OP NIL {9C2FD39}> on
#<CL-SOURCE-FILE "sysdeps" {918FDB9}>.
debugger invoked on a ASDF:COMPILE-FAILED in thread 17853:
erred while invoking #<COMPILE-OP NIL {9C2FD39}> on
#<CL-SOURCE-FILE "sysdeps" {918FDB9}>
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [RETRY ] Retry performing #<ASDF:COMPILE-OP NIL {9C2FD39}> on
#<ASDF:CL-SOURCE-FILE "sysdeps" {918FDB9}>.
1: [ACCEPT] Continue, treating #<ASDF:COMPILE-OP NIL {9C2FD39}> on
#<ASDF:CL-SOURCE-FILE "sysdeps" {918FDB9}> as having
been
successful.
2: [ABORT ] Exit debugger, returning to top level.
((SB-PCL::FAST-METHOD ASDF:PERFORM (ASDF:COMPILE-OP
ASDF:CL-SOURCE-FILE))
#<unavailable argument>
#<unavailable argument>
#<ASDF:COMPILE-OP NIL {9C2FD39}>
#<ASDF:CL-SOURCE-FILE "sysdeps" {918FDB9}>)
0]
add dependencies about sb-bsd-sockets in asd file resolved the
problems :
:depends-on (:sb-bsd-sockets :s-xml))
i have this problem only under SBCL
so perhaps, add #+sbcl in ASD file ... i don't know ...
--
Nicolas Lamirault