defaultxr / cl-patterns

Library for writing patterns to generate or process (a)musical sequences of mathematically (un)related (non-)compound values in Lisp.
https://w.struct.ws/cl-patterns
MIT License
77 stars 10 forks source link

Can't load cl-patterns #48

Closed kflak closed 3 months ago

kflak commented 3 months ago

Hi,

Trying to load cl-patterns with ql-quickload, and I am getting this error:

To load "cl-patterns":
  Load 1 ASDF system:
    cl-patterns
; Loading "cl-patterns"
...
; 
; caught ERROR:
;   READ error during COMPILE-FILE:
;   
;     Lock on package SB-DI violated when interning DEBUG-VAR-INFO while in package
;     DISSECT.
;   See also:
;     The SBCL Manual, Node "Package Locks"
;   
;     (in form starting at line: 38, column: 0, position: 1539)
; Debugger entered on #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {100122EC23}>

and this backtrace in the debugger:


Backtrace:
 0: (UIOP/LISP-BUILD:CHECK-LISP-COMPILE-RESULTS NIL T T "~/asdf-action::format-action/" ((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "dissect" "backend" "sbcl">)))
 1: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "dissect" "backend" "sbcl">)
 2: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
 3: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "dissect" "backend" "sbcl">) [fast-method]
 4: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1002153073}>) [fast-method]
 5: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
 6: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1002153073}>) [fast-method]
 7: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "cl-patterns"> :PLAN-CLASS NIL :PLAN-OPTIONS NIL) [fast-method]
 8: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "cl-patterns"> :VERBOSE NIL)
 9: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
10: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "cl-patterns"> :VERBOSE NIL) [fast-method]
11: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/LISP-ACTION:LOAD-OP "cl-patterns" :VERBOSE NIL)
12: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
13: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "cl-patterns" :VERBOSE NIL) [fast-method]
14: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {100215ED5B}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL)
15: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
16: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {100215989B}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)
17: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "cl-patterns" :VERBOSE NIL) [fast-method]
18: (ASDF/OPERATE:LOAD-SYSTEM "cl-patterns" :VERBOSE NIL)
19: (QUICKLISP-CLIENT::CALL-WITH-MACROEXPAND-PROGRESS #<FUNCTION (LAMBDA NIL :IN QUICKLISP-CLIENT::APPLY-LOAD-STRATEGY) {100214F9CB}>)
 --more--

``

I'm far too inexperienced with cl to make any sense of this :-D

System:
Arch linux
sbcl 2.4.6
emacs 29.4 with sly
defaultxr commented 3 months ago

Hi!

Hmm. You shouldn't be getting any dissect-related errors for cl-patterns, since dissect was removed from cl-patterns recently. I forget if that version of cl-patterns (or the version of dissect that fixes that bug) is available in the current quicklisp dist, but you may want to try updating your Quicklisp dist with (ql:update-dist "quicklisp") and see if that fixes the problem.

If that doesn't help, you may need to clone cl-patterns on your system so you're using it from the most recent commit that removes the dissect dependency. Or if you already have a local checkout of the cl-patterns repo on your system, you may need to run a git pull on it to update it. Once the next quicklisp dist update happens after that (and you've updated to it), then having a local clone of cl-patterns will no longer be necessary and you can delete the copy from your system.

Let me know if neither of those help!

kflak commented 3 months ago

Thanks for the quick response!

Tried updating the ql-dist, and getting:

You already have the latest version of "quicklisp": 2023-10-21.

Still getting the same error... Will try to pull the repo when/if I have a moment later today after dropping the offspring at the kindergarten :-)

kflak commented 3 months ago

Running this while kiddo's brushing teeth:

(pushnew (truename "/home/kf/build/cl-patterns/") ql:*local-project-directories*)
(ql:register-local-projects)
(ql:quickload :cl-patterns)

Produces this error:

The function CL-PATTERNS::FIND-CLASS-SLOT is undefined.
   [Condition of type UNDEFINED-FUNCTION]

Restarts:
 0: [CONTINUE] Retry calling CL-PATTERNS::FIND-CLASS-SLOT.
 1: [USE-VALUE] Call specified function.
 2: [RETURN-VALUE] Return specified values.
 3: [RETURN-NOTHING] Return zero values.
 4: [RETRY] Retry compiling #<CL-SOURCE-FILE "cl-patterns" "backend">.
 5: [ACCEPT] Continue, treating compiling #<CL-SOURCE-FILE "cl-patterns" "backend"> as having been successful.
 --more--

Backtrace:
 0: ("undefined function" CL-PATTERNS:BACKEND :ACCESSOR CL-PATTERNS:BACKEND-NAME)
 1: ((LAMBDA NIL :IN "/home/kf/build/cl-patterns/src/backend.lisp"))
 2: (SB-INT:SIMPLE-EVAL-IN-LEXENV (BLOCK NIL (LET (#) (TAGBODY #:START2 #))) #<NULL-LEXENV>)
 3: (SB-INT:SIMPLE-EVAL-IN-LEXENV (PROGN (BLOCK NIL (LET # #))) #<NULL-LEXENV>)
 4: (EVAL-TLF (PROGN (BLOCK NIL (LET # #))) 6 #<NULL-LEXENV>)
 5: ((FLET SB-C::FROB :IN SB-C::EVAL-COMPILE-TOPLEVEL))
 6: (SB-C::EVAL-COMPILE-TOPLEVEL ((BLOCK NIL (LET # #))) ((BLOCK NIL (LET # #)) SB-C::ORIGINAL-SOURCE-START 5 3 6))
 7: (SB-C::PROCESS-TOPLEVEL-FORM (BLOCK NIL (LET (#) (TAGBODY #:START2 #))) (SB-C::ORIGINAL-SOURCE-START 5 3 6) (:COMPILE-TOPLEVEL))
 8: (SB-C::PROCESS-TOPLEVEL-FORM (DOLIST (CL-PATTERNS::SYM (LIST # # # # #)) (SETF (DOCUMENTATION CL-PATTERNS::SYM #) (DOCUMENTATION # T))) (SB-C::ORIGINAL-SOURCE-START 0 6) (:COMPILE-TOPLEVEL))
 9: (SB-C::PROCESS-TOPLEVEL-PROGN ((CLOSER-MOP:ENSURE-FINALIZED (FIND-CLASS #)) (DOLIST (CL-PATTERNS::SYM #) (SETF # #))) (SB-C::ORIGINAL-SOURCE-START 0 6) (:COMPILE-TOPLEVEL))
10: (SB-C::PROCESS-TOPLEVEL-FORM (EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE) (CLOSER-MOP:ENSURE-FINALIZED (FIND-CLASS #)) (DOLIST (CL-PATTERNS::SYM #) (SETF # #))) (SB-C::ORIGINAL-SOURCE-START ..
11: ((LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-C::SUB-COMPILE-FILE) (EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE) (CLOSER-MOP:ENSURE-FINALIZED (FIND-CLASS #)) (DOLIST ..
12: (SB-C::%DO-FORMS-FROM-INFO #<FUNCTION (LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-C::SUB-COMPILE-FILE) {549528EB}> #<SB-C::SOURCE-INFO {10034335A3}> SB-C::INPUT-ERROR-IN-COMP..
13: ((LAMBDA NIL :IN SB-C::SUB-COMPILE-FILE))
14: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
15: (SB-C::SUB-COMPILE-FILE #<SB-C::SOURCE-INFO {10034335A3}> NIL)
16: (COMPILE-FILE #P"/home/kf/build/cl-patterns/src/backend.lisp" :OUTPUT-FILE #P"/home/kf/.cache/common-lisp/sbcl-2.4.6-linux-x64/home/kf/build/cl-patterns/src/backend-tmpJU0JWO19.fasl" :VERBOSE NIL :PRI..
17: (UIOP/UTILITY:CALL-WITH-MUFFLED-CONDITIONS #<FUNCTION (LAMBDA NIL :IN UIOP/LISP-BUILD:COMPILE-FILE*) {1003440B0B}> NIL)
18: (UIOP/PATHNAME:CALL-WITH-ENOUGH-PATHNAME #P"/home/kf/build/cl-patterns/src/backend.lisp" NIL #<FUNCTION (LAMBDA (UIOP/LISP-BUILD::INPUT-FILE) :IN UIOP/LISP-BUILD:COMPILE-FILE*) {1003440A8B}>)
19: (UIOP/LISP-BUILD:COMPILE-FILE* #P"/home/kf/build/cl-patterns/src/backend.lisp" :OUTPUT-FILE #P"/home/kf/.cache/common-lisp/sbcl-2.4.6-linux-x64/home/kf/build/cl-patterns/src/backend.fasl" :EXTERNAL-FO..
kflak commented 3 months ago

Ah, works! Just need to load cl-collider first...

defaultxr commented 3 months ago

Awesome, glad to hear! :)

Oh, and cl-collider shouldn't be required to load cl-patterns, so that is a bug, but I think it should be fixed with the commit I just pushed.

kflak commented 3 months ago

Unfortunately I was a bit too soon with my celebrations. I did manage to get cl-patterns loaded once, but after that I keep getting the same backend error, both when running (ql:quickload :cl-patterns) after first starting cl-collider, as well as (ql:quickload :cl-patterns/supercollider) in a fresh sly session (using the locally cloned repo with the changes you just made). Would be grateful for any thoughts on what the cause of this could be!

defaultxr commented 3 months ago

Hmm, so it's still the same error involving find-class-slot ? Really strange if so, because the recent commit I pushed should fix it, and I'm not able to reproduce the issue locally.

If your local clone is already up to date with the most recent commit on cl-patterns master, maybe it's somehow loading an outdated compilation of the project. To check if it's that, you could try removing your $HOME/.cache/common-lisp/sbcl-VERSION/ directory (where VERSION should be replaced with your sbcl version), restarting sbcl, and then loading cl-patterns again. I will try doing the same on my local machine as well in case I'm the one loading an outdated compilation.

kflak commented 3 months ago

Weird indeed... I tried nuking everything in the cache, rebooting emacs, and I'm still getting the same error. Also verified that I am using commit 84aa85c, so that part should be OK.

I even went so far as to reboot my laptop (!!!) to ensure a pristine environment, but this, too, led to the same result. The backtrace is slightly different from the previous, though:

The function CL-PATTERNS::FIND-CLASS-SLOT is undefined.
   [Condition of type UNDEFINED-FUNCTION]

Restarts:
 0: [CONTINUE] Retry calling CL-PATTERNS::FIND-CLASS-SLOT.
 1: [USE-VALUE] Call specified function.
 2: [RETURN-VALUE] Return specified values.
 3: [RETURN-NOTHING] Return zero values.
 4: [TRY-RECOMPILING] Recompile backend and try loading it again
 5: [RETRY] Retry loading FASL for #<CL-SOURCE-FILE "cl-patterns" "backend">.
 --more--

Backtrace:
 0: ("undefined function" CL-PATTERNS:BACKEND :ACCESSOR CL-PATTERNS:BACKEND-NAME)
 1: ("top level form") [toplevel]
 2: (SB-FASL::LOAD-FASL-GROUP #S(SB-FASL::FASL-INPUT :STREAM #<SB-SYS:FD-STREAM for "file /home/kf/.cache/common-lisp/sbcl-2.4.6-linux-x64/home/kf/build/cl-patterns/src/backend.fasl" {100616A3D3}> :TABLE ..
 3: ((LAMBDA NIL :IN SB-FASL::LOAD-AS-FASL))
 4: (SB-IMPL::CALL-WITH-LOADER-PACKAGE-NAMES #<FUNCTION (LAMBDA NIL :IN SB-FASL::LOAD-AS-FASL) {100616D77B}>)
 5: (SB-FASL::LOAD-AS-FASL #<SB-SYS:FD-STREAM for "file /home/kf/.cache/common-lisp/sbcl-2.4.6-linux-x64/home/kf/build/cl-patterns/src/backend.fasl" {100616A3D3}> NIL NIL)
 6: ((LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) #<SB-SYS:FD-STREAM for "file /home/kf/.cache/common-lisp/sbcl-2.4.6-linux-x64/home/kf/build/cl-patterns/src/backend.fasl" {100616A3D3}> T)
 7: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) {7DBA361FCA3B}> #<SB-SYS:FD-STREAM for "file /home/kf/.cache/common-lisp/sbcl-2.4.6-linux-x64/home/kf/build/cl-pat..
 8: (LOAD #P"/home/kf/.cache/common-lisp/sbcl-2.4.6-linux-x64/home/kf/build/cl-patterns/src/backend.fasl" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :DEFAULT)
 9: (UIOP/UTILITY:CALL-WITH-MUFFLED-CONDITIONS #<FUNCTION (LAMBDA NIL :IN UIOP/LISP-BUILD:LOAD*) {1006169F9B}> ("Overwriting already existing readtable ~S." #(#:FINALIZERS-OFF-WARNING :ASDF-FINALIZERS)))
10: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-patterns" "backend">)
11: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
12: ((:METHOD ASDF/ACTION:PERFORM :AROUND (ASDF/LISP-ACTION:LOAD-OP ASDF/LISP-ACTION:CL-SOURCE-FILE)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-patterns" "backend">) [fast-method]
13: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS (ASDF/LISP-ACTION:LOAD-OP ASDF/LISP-ACTION:CL-SOURCE-FILE)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-patterns" "backend">) [fast-m..
14: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-patterns" "backend">) [fast-method]
15: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1002E8AF03}>) [fast-method]
16: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
17: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1002E8AF03}>) [fast-method]
18: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "cl-patterns/supercollider"> :PLAN-CLASS NIL :PLAN-OPTIONS NIL) [f..
19: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "cl-patterns/supercollider"> :VERBOSE NIL)

after running:

(pushnew (truename "/home/kf/build/cl-patterns/") ql:*local-project-directories*)
(ql:register-local-projects)
(ql:quickload :cl-patterns/supercollider)
kflak commented 3 months ago

Starting to suspect my installation of sbcl and quicklisp might be suffering from old, stale configs. Will clear out everything and try from scratch tomorrow.

defaultxr commented 3 months ago

Possible. It's also possible that my own config has something in it that causes the error not to occur for me. But even clearing out my compilation cache, I'm still not able to reproduce the error. If you're still having the issue after clearing things out, I may have to see if I can completely start from scratch myself, in a VM or something, to see if that causes it to happen for me.

Do you have a clone of mutility in your local-projects perchance?

kflak commented 3 months ago

I tried now with a clean system, and I'm still getting the same error. I don't see any mutility in my local-projects. Posting the full backtrace, maybe there's something there that can give a clue as to what is happening...

Backtrace:
 0: ("undefined function" CL-PATTERNS:BACKEND :ACCESSOR CL-PATTERNS:BACKEND-NAME)
 1: ("top level form") [toplevel]
 2: (SB-FASL::LOAD-FASL-GROUP #S(SB-FASL::FASL-INPUT :STREAM #<SB-SYS:FD-STREAM for "file /home/kf/.cache/common-lisp/sbcl-2.4.6-linux-x64/home/kf/build/cl-patterns/src/backend.fasl" {100471A983}> :TABLE ..
 3: ((LAMBDA NIL :IN SB-FASL::LOAD-AS-FASL))
 4: (SB-IMPL::CALL-WITH-LOADER-PACKAGE-NAMES #<FUNCTION (LAMBDA NIL :IN SB-FASL::LOAD-AS-FASL) {100471DD2B}>)
 5: (SB-FASL::LOAD-AS-FASL #<SB-SYS:FD-STREAM for "file /home/kf/.cache/common-lisp/sbcl-2.4.6-linux-x64/home/kf/build/cl-patterns/src/backend.fasl" {100471A983}> NIL NIL)
 6: ((LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) #<SB-SYS:FD-STREAM for "file /home/kf/.cache/common-lisp/sbcl-2.4.6-linux-x64/home/kf/build/cl-patterns/src/backend.fasl" {100471A983}> T)
 7: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) {7501591FCA3B}> #<SB-SYS:FD-STREAM for "file /home/kf/.cache/common-lisp/sbcl-2.4.6-linux-x64/home/kf/build/cl-pat..
 8: (LOAD #P"/home/kf/.cache/common-lisp/sbcl-2.4.6-linux-x64/home/kf/build/cl-patterns/src/backend.fasl" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :DEFAULT)
 9: (UIOP/UTILITY:CALL-WITH-MUFFLED-CONDITIONS #<FUNCTION (LAMBDA NIL :IN UIOP/LISP-BUILD:LOAD*) {100471A54B}> ("Overwriting already existing readtable ~S." #(#:FINALIZERS-OFF-WARNING :ASDF-FINALIZERS)))
10: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-patterns" "backend">)
11: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
12: ((:METHOD ASDF/ACTION:PERFORM :AROUND (ASDF/LISP-ACTION:LOAD-OP ASDF/LISP-ACTION:CL-SOURCE-FILE)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-patterns" "backend">) [fast-method]
13: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS (ASDF/LISP-ACTION:LOAD-OP ASDF/LISP-ACTION:CL-SOURCE-FILE)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-patterns" "backend">) [fast-m..
14: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-patterns" "backend">) [fast-method]
15: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {100B1C1FB3}>) [fast-method]
16: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
17: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {100B1C1FB3}>) [fast-method]
18: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "cl-patterns/supercollider"> :PLAN-CLASS NIL :PLAN-OPTIONS NIL) [f..
19: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "cl-patterns/supercollider"> :VERBOSE NIL)
20: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
21: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "cl-patterns/supercollider"> :VERBOSE NIL) [fast-method]
22: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/LISP-ACTION:LOAD-OP "cl-patterns/supercollider" :VERBOSE NIL)
23: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
24: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "cl-patterns/supercollider" :VERBOSE NIL) [fast-method]
25: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {100B1C99BB}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL)
26: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
27: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {1006CCC02B}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)
28: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "cl-patterns/supercollider" :VERBOSE NIL) [fast-method]
29: (ASDF/OPERATE:LOAD-SYSTEM "cl-patterns/supercollider" :VERBOSE NIL)
30: (QUICKLISP-CLIENT::CALL-WITH-MACROEXPAND-PROGRESS #<FUNCTION (LAMBDA NIL :IN QUICKLISP-CLIENT::APPLY-LOAD-STRATEGY) {1006CCBF9B}>)
31: (QUICKLISP-CLIENT::AUTOLOAD-SYSTEM-AND-DEPENDENCIES "cl-patterns/supercollider" :PROMPT NIL)
32: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION (T T)) #<unused argument> #<FUNCTION (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1003BB460B}>) [fast-method]
33: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION :AROUND (QL-IMPL:SBCL T)) #<QL-IMPL:SBCL {1001163C63}> #<FUNCTION (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1003BB460B}>) [fast-m..
34: ((:METHOD QUICKLISP-CLIENT:QUICKLOAD (T)) :CL-PATTERNS/SUPERCOLLIDER :PROMPT NIL :SILENT NIL :VERBOSE NIL) [fast-method]
35: (QL-DIST::CALL-WITH-CONSISTENT-DISTS #<FUNCTION (LAMBDA NIL :IN QUICKLISP-CLIENT:QUICKLOAD) {1003BB05CB}>)
36: (SB-INT:SIMPLE-EVAL-IN-LEXENV (QUICKLISP-CLIENT:QUICKLOAD :CL-PATTERNS/SUPERCOLLIDER) #<NULL-LEXENV>)
37: (EVAL (QUICKLISP-CLIENT:QUICKLOAD :CL-PATTERNS/SUPERCOLLIDER))
38: ((LAMBDA NIL :IN SLYNK:INTERACTIVE-EVAL))
39: (SLYNK::CALL-WITH-RETRY-RESTART "Retry SLY interactive evaluation request." #<FUNCTION (LAMBDA NIL :IN SLYNK:INTERACTIVE-EVAL) {1003A0826B}>)
40: (SLYNK::CALL-WITH-BUFFER-SYNTAX NIL NIL #<FUNCTION (LAMBDA NIL :IN SLYNK:INTERACTIVE-EVAL) {1003A0824B}>)
41: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SLYNK:INTERACTIVE-EVAL "(ql:quickload :cl-patterns/supercollider) ..)
42: (EVAL (SLYNK:INTERACTIVE-EVAL "(ql:quickload :cl-patterns/supercollider) ..)
43: (SLYNK:EVAL-FOR-EMACS (SLYNK:INTERACTIVE-EVAL "(ql:quickload :cl-patterns/supercollider) ..)
44: ((LAMBDA NIL :IN SLYNK::SPAWN-WORKER-THREAD))
45: (SLYNK-SBCL::CALL-WITH-BREAK-HOOK #<FUNCTION SLYNK:SLYNK-DEBUGGER-HOOK> #<FUNCTION (LAMBDA NIL :IN SLYNK::SPAWN-WORKER-THREAD) {1003A0802B}>)
46: ((FLET SLYNK-BACKEND:CALL-WITH-DEBUGGER-HOOK :IN "/home/kf/.config/emacs/elpa/sly-1.0.43/slynk/backend/sbcl.lisp") #<FUNCTION SLYNK:SLYNK-DEBUGGER-HOOK> #<FUNCTION (LAMBDA NIL :IN SLYNK::SPAWN-WORKER-..
47: ((LAMBDA NIL :IN SLYNK::CALL-WITH-LISTENER))
48: (SLYNK::CALL-WITH-BINDINGS ((*PACKAGE* . #<PACKAGE "COMMON-LISP-USER">) (*) (**) (***) (/) (//) ...) #<FUNCTION (LAMBDA NIL :IN SLYNK::CALL-WITH-LISTENER) {1003A0806B}>)
49: ((LAMBDA NIL :IN SLYNK::SPAWN-WORKER-THREAD))
50: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
51: ((FLET "WITHOUT-INTERRUPTS-BODY-" :IN SB-THREAD::RUN))
52: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
53: ((FLET "WITHOUT-INTERRUPTS-BODY-" :IN SB-THREAD::RUN))
54: (SB-THREAD::RUN)
55: ("foreign function: call_into_lisp_")
defaultxr commented 3 months ago

Oh, I overlooked before that this is actually a different error than the first one you shared. Okay, I think this one shouldn't be too hard to fix once I get a moment.

defaultxr commented 3 months ago

Okay, so I looked into this in a VM, and I did indeed get the same error you were getting. The problem seems to be because the version of mutility in Quicklisp is older than I thought it was, and it doesn't actually have find-class-slot. So I think you'll have to clone mutility into your local-projects as well (and push its directory to ql:*local-project-directories*). Once you've done that, cl-patterns should (hopefully) finally load as expected. 🤞

kflak commented 3 months ago

Great, that works! Don't even have to register mutility with ql:*local-project-directories*. It's sufficient just to drop it into the local-projects directory.