Closed mthom closed 3 years ago
I'm trying to load my project that uses trivia into ABCL through asdf, and I get a no-applicable-method error for mop:compute-slots, with backtrace:
Backtrace: 0: (#<FUNCTION {6E17A35E}> #<SIMPLE-ERROR {5F040AF6}> #<FUNCTION {6E17A35E}>) 1: (APPLY #<FUNCTION {6E17A35E}> (#<SIMPLE-ERROR {5F040AF6}> #<FUNCTION {6E17A35E}>)) 2: (SYSTEM::RUN-HOOK SYSTEM::*INVOKE-DEBUGGER-HOOK* #<SIMPLE-ERROR {5F040AF6}> #<FUNCTION {6E17A35E}>) 3: (INVOKE-DEBUGGER #<SIMPLE-ERROR {5F040AF6}>) 4: (ERROR "There is no applicable method for the generic function ~S when called with arguments ~S." #<STANDARD-GENERIC-FUNCTION {A199C6}> (#<STRUCTURE-CLASS RULEML-DOCUMENT>)) 5: (NO-APPLICABLE-METHOD #<STANDARD-GENERIC-FUNCTION {A199C6}> #<STRUCTURE-CLASS RULEML-DOCUMENT>) 6: (APPLY #<NO-APPLICABLE-METHOD {38C58F05}> #<STANDARD-GENERIC-FUNCTION {A199C6}> (#<STRUCTURE-CLASS RULEML-DOCUMENT>)) Locals: EXTENSIONS::|function| = #<FUNCTION #<NO-APPLICABLE-METHOD {38C58F05}> {38C58F05}> EXTENSIONS::|&rest|#1 = #<STANDARD-GENERIC-FUNCTION MOP:COMPUTE-SLOTS {A199C6}> EXTENSIONS::|args|#2 = (#<STRUCTURE-CLASS RULEML-DOCUMENT {6D5EA260}>) 7: (MOP:COMPUTE-SLOTS #<STRUCTURE-CLASS RULEML-DOCUMENT>) Locals: "arg0" = #<STRUCTURE-CLASS RULEML-DOCUMENT {6D5EA260}> 8: (TRIVIA.LEVEL2.IMPL::FIND-EFFECTIVE-SLOT :BASE RULEML-DOCUMENT) Locals: SYMBOL = :BASE TYPE#1 = RULEML-DOCUMENT 9: (TRIVIA.LEVEL2.IMPL::ACCESSOR-FORM-ON-STRUCTURE #:IT315038 RULEML-DOCUMENT (:BASE BASE)) 10: (#<FUNCTION {4DBE843E}> (:BASE BASE)) 11: (MAPCAR #<FUNCTION {4DBE843E}> ((:BASE BASE) (:PREFIXES PREFIXES) (:IMPORTS IMPORTS) (:PERFORMATIVES PERFORMATIVES))) 12: (APPLY #<MAPCAR {5F956734}> #<FUNCTION {4DBE843E}> (((:BASE BASE) (:PREFIXES PREFIXES) (:IMPORTS IMPORTS) (:PERFORMATIVES PERFORMATIVES)))) 13: (ALEXANDRIA:MAPPEND #<FUNCTION {4DBE843E}> ((:BASE BASE) (:PREFIXES PREFIXES) (:IMPORTS IMPORTS) (:PERFORMATIVES PERFORMATIVES))) 14: (TRIVIA.LEVEL2.IMPL::MAP-ACCESSORS ((:BASE BASE) (:PREFIXES PREFIXES) (:IMPORTS IMPORTS) (:PERFORMATIVES PERFORMATIVES)) #:IT315038 RULEML-DOCUMENT) 15: (#<FUNCTION {766F1D9A}> RULEML-DOCUMENT :BASE BASE :PREFIXES PREFIXES ...) 16: (APPLY #<FUNCTION {766F1D9A}> (RULEML-DOCUMENT :BASE BASE :PREFIXES PREFIXES :IMPORTS ...)) 17: (PATTERN-EXPAND-1 (STRUCTURE RULEML-DOCUMENT :BASE BASE :PREFIXES PREFIXES ...)) 18: (PATTERN-EXPAND (RULEML-DOCUMENT :BASE BASE :PREFIXES PREFIXES :IMPORTS ...)) 19: (PATTERN-EXPAND-ALL (RULEML-DOCUMENT :BASE BASE :PREFIXES PREFIXES :IMPORTS ...)) 20: (TRIVIA.LEVEL2.IMPL::PATTERN-EXPAND-ALL/LIFT0 (RULEML-DOCUMENT :BASE BASE :PREFIXES PREFIXES :IMPORTS ...)) 21: (TRIVIA.LEVEL2.IMPL::PATTERN-EXPAND-ALL/LIFT (RULEML-DOCUMENT :BASE BASE :PREFIXES PREFIXES :IMPORTS ...)) 22: (TRIVIA.LEVEL2.IMPL::EXPAND-MULTIPATTERNS ((RULEML-DOCUMENT :BASE BASE :PREFIXES PREFIXES :IMPORTS ...))) 23: (TRIVIA.LEVEL2.IMPL::EXPAND-CLAUSE (((RULEML-DOCUMENT :BASE BASE :PREFIXES PREFIXES :IMPORTS ...)) (FUNCALL KEY (MAKE-RULEML-DOCUMENT :BASE # :PREFIXES # :IMPORTS ...)))) 24: ((MACRO-FUNCTION MATCH2*+) (MATCH2*+ (TERM) (T) ((#) (FUNCALL KEY #)) ((#) (FUNCALL KEY # :POSITIVE POSITIVE :NEGATIVE ...)) ((#) (FUNCALL KEY # :POSITIVE POSITIVE :NEGATIVE ...)) ...) #<ENVIRONMENT {.. 25: (MACROEXPAND-1 (MATCH2*+ (TERM) (T) ((#) (FUNCALL KEY #)) ((#) (FUNCALL KEY # :POSITIVE POSITIVE :NEGATIVE ...)) ((#) (FUNCALL KEY # :POSITIVE POSITIVE :NEGATIVE ...)) ...) #<ENVIRONMENT {68F9116F}>) 26: (PRECOMPILER::PRECOMPILE1 (MATCH2*+ (TERM) (T) ((#) (FUNCALL KEY #)) ((#) (FUNCALL KEY # :POSITIVE POSITIVE :NEGATIVE ...)) ((#) (FUNCALL KEY # :POSITIVE POSITIVE :NEGATIVE ...)) ...)) 27: (PRECOMPILER::PRECOMPILE1 (MATCH2+ TERM T ((RULEML-DOCUMENT :BASE BASE :PREFIXES PREFIXES :IMPORTS ...) (FUNCALL KEY #)) ((RULEML-ASSERT :ITEMS TERMS) (FUNCALL KEY # :POSITIVE POSITIVE :NEGATIVE ...)).. 28: (PRECOMPILER::PRECOMPILE1 (MATCH2 TERM ((RULEML-DOCUMENT :BASE BASE :PREFIXES PREFIXES :IMPORTS ...) (FUNCALL KEY #)) ((RULEML-ASSERT :ITEMS TERMS) (FUNCALL KEY # :POSITIVE POSITIVE :NEGATIVE ...)) ((.. 29: (PRECOMPILER::PRECOMPILE1 (MATCH TERM ((RULEML-DOCUMENT :BASE BASE :PREFIXES PREFIXES :IMPORTS ...) (FUNCALL KEY #)) ((RULEML-ASSERT :ITEMS TERMS) (FUNCALL KEY # :POSITIVE POSITIVE :NEGATIVE ...)) ((R.. 30: (PRECOMPILER::PRECOMPILE-FLET/LABELS (FLET ((DEFAULT-PROPAGATOR # #)) (MATCH TERM (# #) (# #) (# #) (# #) ...))) 31: (PRECOMPILER::PRECOMPILE1 (FLET ((DEFAULT-PROPAGATOR # #)) (MATCH TERM (# #) (# #) (# #) (# #) ...))) 32: (PRECOMPILER::PRECOMPILE-BLOCK (BLOCK TRANSFORM-AST (FLET (#) (MATCH TERM # # # # ...)))) 33: (PRECOMPILER::PRECOMPILE1 (BLOCK TRANSFORM-AST (FLET (#) (MATCH TERM # # # # ...)))) 34: (PRECOMPILER::PRECOMPILE-LAMBDA (LAMBDA (TERM KEY &KEY POSITIVE NEGATIVE EXTERNAL ...) (BLOCK TRANSFORM-AST (FLET # #)))) 35: (PRECOMPILER::PRECOMPILE1 (LAMBDA (TERM KEY &KEY POSITIVE NEGATIVE EXTERNAL ...) (BLOCK TRANSFORM-AST (FLET # #)))) 36: (JVM:COMPILE-DEFUN TRANSFORM-AST (LAMBDA (TERM KEY &KEY POSITIVE NEGATIVE EXTERNAL ...) (BLOCK TRANSFORM-AST (FLET # #))) NIL #P"/home/mark/Projects/CL/PSOATransRun/psoa_ast_480.cls" #<FILE-STREAM {17.. 37: (SYSTEM::PROCESS-TOPLEVEL-DEFUN (DEFUN TRANSFORM-AST (TERM KEY &KEY POSITIVE NEGATIVE EXTERNAL ...) "Performs a post-order traversal of an abstract syntax tree of PSOA RuleML nodes, all of which have .. 38: (SYSTEM::PROCESS-TOPLEVEL-FORM (DEFUN TRANSFORM-AST (TERM KEY &KEY POSITIVE NEGATIVE EXTERNAL ...) "Performs a post-order traversal of an abstract syntax tree of PSOA RuleML nodes, all of which have s.. 39: (JVM::%WITH-COMPILATION-UNIT #<FUNCTION {7DAD4A00}>) 40: (SYSTEM::COMPILE-FROM-STREAM #<FILE-STREAM {5DFF5EB3}> #P"/home/mark/Projects/CL/PSOATransRun/psoa-ast.abcl" #P"/home/mark/Projects/CL/PSOATransRun/psoa-ast.abcl-tmp" #P"/home/mark/Projects/CL/PSOATra.. 41: (COMPILE-FILE #P"/home/mark/Projects/CL/PSOATransRun/psoa-ast.lisp" :OUTPUT-FILE #P"/home/mark/Projects/CL/PSOATransRun/psoa-ast.abcl") 42: (#<FUNCTION (LAMBDA ()) {653B2C35}>) 43: (JAVA:JRUN-EXCEPTION-PROTECTED #<FUNCTION (LAMBDA ()) {653B2C35}>) 44: ((FLET SWANK/BACKEND:SWANK-COMPILE-FILE) #P"/home/mark/Projects/CL/PSOATransRun/psoa-ast.lisp" #P"/home/mark/Projects/CL/PSOATransRun/psoa-ast.abcl" NIL :DEFAULT :POLICY ...) 45: (APPLY #<(FLET SWANK-COMPILE-FILE) {7CE71428}> #P"/home/mark/Projects/CL/PSOATransRun/psoa-ast.lisp" #P"/home/mark/Projects/CL/PSOATransRun/psoa-ast.abcl" NIL :DEFAULT ...) 46: (SWANK/BACKEND:SWANK-COMPILE-FILE #P"/home/mark/Projects/CL/PSOATransRun/psoa-ast.lisp" #P"/home/mark/Projects/CL/PSOATransRun/psoa-ast.abcl" NIL :DEFAULT :POLICY ...) 47: (SWANK::SWANK-COMPILE-FILE* #P"/home/mark/Projects/CL/PSOATransRun/psoa-ast.lisp" T) 48: (APPLY SWANK::SWANK-COMPILE-FILE* #P"/home/mark/Projects/CL/PSOATransRun/psoa-ast.lisp" T NIL) 49: (#<FUNCTION {6B0DACFE}>) 50: (#<FUNCTION {4CA06DEA}>) 51: (SWANK::MEASURE-TIME-INTERVAL #<FUNCTION {4CA06DEA}>) 52: (SWANK::COLLECT-NOTES #<FUNCTION {6B0DACFE}>) 53: (#<FUNCTION {70C6AACF}>) 54: (RUTILS.ABBR:CALL #<FUNCTION {70C6AACF}>) 55: (#<FUNCTION (LAMBDA (SWANK/BACKEND::FN)) {48401CAD}> #<FUNCTION {70C6AACF}>) 56: (APPLY #<FUNCTION (LAMBDA (SWANK/BACKEND::FN)) {48401CAD}> #<FUNCTION {70C6AACF}> NIL) 57: (SWANK/BACKEND:CALL-WITH-SYNTAX-HOOKS #<FUNCTION {70C6AACF}>) 58: (SWANK::CALL-WITH-BUFFER-SYNTAX NIL #<FUNCTION {70C6AACF}>) 59: (SWANK:COMPILE-FILE-FOR-EMACS "/home/mark/Projects/CL/PSOATransRun/psoa-ast.lisp" T) 60: (SYSTEM::%EVAL (SWANK:COMPILE-FILE-FOR-EMACS "/home/mark/Projects/CL/PSOATransRun/psoa-ast.lisp" T)) 61: (EVAL (SWANK:COMPILE-FILE-FOR-EMACS "/home/mark/Projects/CL/PSOATransRun/psoa-ast.lisp" T)) 62: (SWANK:EVAL-FOR-EMACS (SWANK:COMPILE-FILE-FOR-EMACS "/home/mark/Projects/CL/PSOATransRun/psoa-ast.lisp" T) "#:psoa-ast" 83) 63: (APPLY #<EVAL-FOR-EMACS {C887C6A}> ((SWANK:COMPILE-FILE-FOR-EMACS "/home/mark/Projects/CL/PSOATransRun/psoa-ast.lisp" T) "#:psoa-ast" 83)) 64: (#<FUNCTION {34C4A6AB}>) 65: (RUTILS.ABBR:CALL #<FUNCTION {34C4A6AB}>) 66: ((FLET SWANK/BACKEND:CALL-WITH-DEBUGGER-HOOK) #<SWANK-DEBUGGER-HOOK {6952175E}> #<FUNCTION {34C4A6AB}>) 67: (APPLY #<(FLET CALL-WITH-DEBUGGER-HOOK) {32A88691}> #<SWANK-DEBUGGER-HOOK {6952175E}> #<FUNCTION {34C4A6AB}> NIL) 68: (SWANK/BACKEND:CALL-WITH-DEBUGGER-HOOK #<SWANK-DEBUGGER-HOOK {6952175E}> #<FUNCTION {34C4A6AB}>) 69: (#<FUNCTION {7DA86213}>) 70: (SWANK::CALL-WITH-BINDINGS ((*STANDARD-INPUT* . #S(EXTENSIONS:SLIME-INPUT-STREAM)) (*STANDARD-OUTPUT* . #S(EXTENSIONS:SLIME-OUTPUT-STREAM)) (*TRACE-OUTPUT* . #S(EXTENSIONS:SLIME-OUTPUT-STREAM)) (*ERRO.. 71: (#<FUNCTION {299D37F1}>) 72: (SWANK::CALL-WITH-BINDINGS NIL #<FUNCTION {299D37F1}>) 73: (#<FUNCTION {5FF7A05D}>) 74: (RUTILS.ABBR:CALL #<FUNCTION {5FF7A05D}>) 75: (#<FUNCTION (LAMBDA ()) {6171F94A}>) 76: (THREADS::THREAD-FUNCTION-WRAPPER #<FUNCTION (LAMBDA ()) {6171F94A}>)
when compiling this file: https://github.com/mthom/cl-psoatransrun/blob/master/psoa-ast.lisp
you should wrap defstruct in an eval-when :compile-toplevel :load-toplevel :execue
I'm trying to load my project that uses trivia into ABCL through asdf, and I get a no-applicable-method error for mop:compute-slots, with backtrace:
when compiling this file: https://github.com/mthom/cl-psoatransrun/blob/master/psoa-ast.lisp