lem-project / lem

Common Lisp editor/IDE with high expansibility
http://lem-project.github.io/
MIT License
2.39k stars 175 forks source link

`make` leads to NO-APPLICABLE-METHOD-ERROR for QL-DIST:METADATA-NAME during sblint installation. #1146

Closed ilya-fiveisky closed 1 year ago

ilya-fiveisky commented 1 year ago

On freshly cloned lem calling make gives this output:

qlot install Installing Quicklisp to /home/user/projects/lem/.qlot/... Reading '/home/user/projects/lem/qlfile'... Installing dist "quicklisp". Generated dist files. => Updated dist "quicklisp" version "2023-10-21" -> "2023-06-18". Installing dist "micros". Generated dist files. => Newly installed "micros" version "git-ed264a27262baeed493cdde338873bf4afc3721c". Installing dist "lem-mailbox". Generated dist files. => Newly installed "lem-mailbox" version "git-12d629541da440fadf771b0225a051ae65fa342a". Installing dist "lem-base16-themes". Generated dist files. => Newly installed "lem-base16-themes" version "git-07dacae6c1807beaeffc730063b54487d5c82eb0". Installing dist "async-process". Generated dist files. => Newly installed "async-process" version "git-9690530fc92b59636d9f17d821afa7697e7c8ca4". Installing dist "sblint". Generated dist files. Unhandled SB-PCL::NO-APPLICABLE-METHOD-ERROR in thread #<SB-THREAD:THREAD tid=36522 "main thread" RUNNING {10047981B3}>: There is no applicable method for the generic function

<STANDARD-GENERIC-FUNCTION QL-DIST:METADATA-NAME (2)>

when called with arguments (NIL). See also: The ANSI Standard, Section 7.6.6

Backtrace for: #<SB-THREAD:THREAD tid=36522 "main thread" RUNNING {10047981B3}> 0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SB-PCL::NO-APPLICABLE-METHOD-ERROR {10035214A3}> # :QUIT T) 1: (SB-DEBUG::RUN-HOOK SB-EXT:INVOKE-DEBUGGER-HOOK #<SB-PCL::NO-APPLICABLE-METHOD-ERROR {10035214A3}>) 2: (INVOKE-DEBUGGER #<SB-PCL::NO-APPLICABLE-METHOD-ERROR {10035214A3}>) 3: (ERROR SB-PCL::NO-APPLICABLE-METHOD-ERROR :GENERIC-FUNCTION #<STANDARD-GENERIC-FUNCTION QL-DIST:METADATA-NAME (2)> :ARGS (NIL)) 4: ((:METHOD NO-APPLICABLE-METHOD (T)) #<STANDARD-GENERIC-FUNCTION QL-DIST:METADATA-NAME (2)> NIL) [fast-method] 5: (SB-PCL::CALL-NO-APPLICABLE-METHOD #<STANDARD-GENERIC-FUNCTION QL-DIST:METADATA-NAME (2)> (NIL)) 6: ((:METHOD QL-DIST:INSTALL-METADATA-FILE (T)) NIL) [fast-method] 7: ((:METHOD QL-DIST:INSTALL :AROUND (QL-DIST:RELEASE)) #<QL-DIST:RELEASE sblint-ref-1037296f604c3210ce073a53539d4ae95b0c2f8c / sblint git-1037296f604c3210ce073a53539d4ae95b0c2f8c>) [fast-method] 8: ((:METHOD QL-DIST:ENSURE-INSTALLED (T)) #<QL-DIST:RELEASE sblint-ref-1037296f604c3210ce073a53539d4ae95b0c2f8c / sblint git-1037296f604c3210ce073a53539d4ae95b0c2f8c>) [fast-method] 9: (QLOT/INSTALL::INSTALL-RELEASE #<QL-DIST:RELEASE sblint-ref-1037296f604c3210ce073a53539d4ae95b0c2f8c / sblint git-1037296f604c3210ce073a53539d4ae95b0c2f8c>) 10: (QLOT/INSTALL::INSTALL-ALL-RELEASES #<QLOT/SOURCE/GIT:SOURCE-GIT sblint https://github.com/cxxxr/sblint.git ref-1037296f604c3210ce073a53539d4ae95b0c2f8c {10051410F3}>) 11: (QLOT/INSTALL::INSTALL-SOURCE #<QLOT/SOURCE/GIT:SOURCE-GIT sblint https://github.com/cxxxr/sblint.git ref-1037296f604c3210ce073a53539d4ae95b0c2f8c {10051410F3}>) 12: (QLOT/INSTALL::APPLY-QLFILE-TO-QLHOME #P"/home/user/projects/lem/qlfile" #P"/home/user/projects/lem/.qlot/" :IGNORE-LOCK NIL :PROJECTS NIL :CACHE-DIRECTORY NIL) 13: (QLOT/INSTALL:INSTALL-QLFILE #P"/home/user/projects/lem/qlfile" :QUICKLISP-HOME NIL :INSTALL-DEPS T :CACHE-DIRECTORY NIL) 14: (QLOT-COMMAND "install") 15: (SB-INT:SIMPLE-EVAL-IN-LEXENV (APPLY (QUOTE MAIN) ROSWELL:ARGV) #) 16: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ROSWELL:QUIT (APPLY (QUOTE MAIN) ROSWELL:ARGV)) #) 17: (SB-EXT:EVAL-TLF (ROSWELL:QUIT (APPLY (QUOTE MAIN) ROSWELL:ARGV)) NIL NIL) 18: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (ROSWELL:QUIT (APPLY (QUOTE MAIN) ROSWELL:ARGV)) NIL) 19: (SB-INT:LOAD-AS-SOURCE #<CONCATENATED-STREAM :STREAMS NIL {1002AFD213}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading") 20: ((LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) #<CONCATENATED-STREAM :STREAMS NIL {1002AFD213}> NIL) 21: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) {7F4D0180F5DB}> #<CONCATENATED-STREAM :STREAMS NIL {1002AFD213}> NIL #<CONCATENATED-STREAM :STREAMS NIL {1002AFD213}>) 22: (LOAD #<CONCATENATED-STREAM :STREAMS NIL {1002AFD213}> :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :DEFAULT) 23: ((FLET ROSWELL::BODY :IN ROSWELL:SCRIPT) #<SB-SYS:FD-STREAM for "file /home/user/.roswell/bin/qlot" {1002AFA723}>) 24: (ROSWELL:SCRIPT "/home/user/.roswell/bin/qlot" "install") 25: (ROSWELL:RUN ((:EVAL "(ros:quicklisp)") (:LOAD "/home/user/.roswell/init.lisp") (:SCRIPT "/home/user/.roswell/bin/qlot" "install") (:QUIT NIL))) 26: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ROSWELL:RUN (QUOTE ((:EVAL "(ros:quicklisp)") (:LOAD "/home/user/.roswell/init.lisp") (:SCRIPT "/home/user/.roswell/bin/qlot" "install") (:QUIT NIL)))) #) 27: (EVAL (ROSWELL:RUN (QUOTE ((:EVAL "(ros:quicklisp)") (:LOAD "/home/user/.roswell/init.lisp") (:SCRIPT "/home/user/.roswell/bin/qlot" "install") (:QUIT NIL))))) 28: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:EVAL . "(progn #-ros.init(cl:load \"/home/user/.local/etc/roswell/init.lisp\"))") (:EVAL . "(ros:run '((:eval\"(ros:quicklisp)\")(:load\"/home/user/.roswell/init.lisp\")(:script \"/home/user/.roswell/bin/qlot\"\"install\")(:quit ())))"))) 29: (SB-IMPL::TOPLEVEL-INIT) 30: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP)) 31: ((FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP)) 32: (SB-IMPL::%START-LISP)

unhandled condition in --disable-debugger mode, quitting make: *** [Makefile:4: ncurses] Error 1

Sasanidas commented 1 year ago

Sorry, can you privide the version of qlot that you have installed? Maybe an older version of qlot is installed

Sasanidas commented 1 year ago

Also, keep in mid, that it's usually a good idea to update quicklisp (ql:update-dist "quicklisp")

ilya-fiveisky commented 1 year ago

qlot version 1.3.0

Sasanidas commented 1 year ago

Seems like the sblint package is only used on the commnad make lint. Can you remove the line on the qlfile: git sblint https://github.com/cxxxr/sblint.git

Then run the qlot install command, and see if the error pops on other package or is a problem of sblint

ilya-fiveisky commented 1 year ago

Yes, it works with sblint line removed.

ilya-fiveisky commented 1 year ago

Well, after some updates this issue is not reproduced anymore. Because neither lem nor sblint have commits related to the issue I guess it is something in qlot which I updated to the newest version. So I guess I should close this issue with the note that the issue is not reproduced with qlot version 1.3.1