Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error when building: The loader tried loading the symbol named QUICKLOAD into the package named QUICKLISP-CLIENT, but the package did not get defined, and does not exist. #917

Closed
notmgsk opened this issue Mar 5, 2024 · 5 comments · Fixed by #919

Comments

@notmgsk
Copy link
Member

notmgsk commented Mar 5, 2024

With master for all of quilc, qvm, and magicl, running make cleanall && make clean in quilc produces the following error

Unhandled SB-KERNEL:SIMPLE-PACKAGE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
                                                      {100E9B8073}>:
  The loader tried loading the symbol named QUICKLOAD into the package named QUICKLISP-CLIENT, but the package did not get defined, and does not exist.

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {100E9B8073}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SB-KERNEL:SIMPLE-PACKAGE-ERROR "The loader tried loading the symbol named ~a into the package named ~a, but the package did not get defined, and does not exist." {100410D1B3}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK SB-EXT:*INVOKE-DEBUGGER-HOOK* #<SB-KERNEL:SIMPLE-PACKAGE-ERROR "The loader tried loading the symbol named ~a into the package named ~a, but the package did not get defined, and does not exist." {100410D1B3}>)
2: (INVOKE-DEBUGGER #<SB-KERNEL:SIMPLE-PACKAGE-ERROR "The loader tried loading the symbol named ~a into the package named ~a, but the package did not get defined, and does not exist." {100410D1B3}>)
3: (ERROR SB-KERNEL:SIMPLE-PACKAGE-ERROR :FORMAT-CONTROL "The loader tried loading the symbol named ~a into the package named ~a, but the package did not get defined, and does not exist." :FORMAT-ARGUMENTS ("QUICKLOAD" "QUICKLISP-CLIENT"))
4: (SB-IMPL::CALL-WITH-DEFERRED-PACKAGE-NAMES #<FUNCTION (LAMBDA NIL :IN SB-FASL::LOAD-AS-FASL) {1003A1EEBB}>)
5: (SB-FASL::LOAD-AS-FASL #<SB-SYS:FD-STREAM for "file /home/mgsk/.cache/common-lisp/sbcl-2.2.4-linux-x64/home/mgsk/quicklisp/dists/quicklisp/software/tfeb-lisp-hax-20231021-git/abstract-classes.fasl" {1003A1B1A3}> NIL NIL)
6: ((LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) #<SB-SYS:FD-STREAM for "file /home/mgsk/.cache/common-lisp/sbcl-2.2.4-linux-x64/home/mgsk/quicklisp/dists/quicklisp/software/tfeb-lisp-hax-20231021-git/abstract-classes.fasl" {1003A1B1A3}> T)
7: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) {7F3D9547E01B}> #<SB-SYS:FD-STREAM for "file /home/mgsk/.cache/common-lisp/sbcl-2.2.4-linux-x64/home/mgsk/quicklisp/dists/quicklisp/software/tfeb-lisp-hax-20231021-git/abstract-classes.fasl" {1003A1B1A3}> T #<SB-SYS:FD-STREAM for "file /home/mgsk/.cache/common-lisp/sbcl-2.2.4-linux-x64/home/mgsk/quicklisp/dists/quicklisp/software/tfeb-lisp-hax-20231021-git/abstract-classes.fasl" {1003A1B1A3}>)
8: (LOAD #P"/home/mgsk/.cache/common-lisp/sbcl-2.2.4-linux-x64/home/mgsk/quicklisp/dists/quicklisp/software/tfeb-lisp-hax-20231021-git/abstract-classes.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*) {1003A1A9DB}> ("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 "org.tfeb.hax.abstract-classes" "abstract-classes">)
11: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
12: ((: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 "org.tfeb.hax.abstract-classes" "abstract-classes">) [fast-method]
13: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "org.tfeb.hax.abstract-classes" "abstract-classes">) [fast-method]
14: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1004D53F63}>) [fast-method]
15: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
16: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1004D53F63}>) [fast-method]
17: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "quilc"> :PLAN-CLASS NIL :PLAN-OPTIONS NIL) [fast-method]
18: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "quilc">)
19: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
20: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "quilc">) [fast-method]
21: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/LISP-ACTION:LOAD-OP "quilc")
22: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
23: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "quilc") [fast-method]
24: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {10045B4C2B}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL)
25: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
26: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {100317684B}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)
27: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "quilc") [fast-method]
28: (ASDF/OPERATE:LOAD-SYSTEM "quilc")
29: ((LAMBDA NIL :IN "/home/mgsk/hackery/lisp/quilc/build-app.lisp"))
30: (SB-INT:SIMPLE-EVAL-IN-LEXENV (LET ((*DEFAULT-PATHNAME-DEFAULTS* (MAKE-PATHNAME :TYPE NIL :NAME NIL :DEFAULTS *LOAD-TRUENAME*)) (COMMON-LISP-USER::OUTPUT-FILE (MAKE-PATHNAME :NAME "quilc" :TYPE NIL)) (COMMON-LISP-USER::SYSTEM-TABLE (MAKE-HASH-TABLE :TEST (QUOTE EQUAL))) (COMMON-LISP-USER::ENTRY-POINT "ENTRY-POINT") (COMMON-LISP-USER::LIBRARIES NIL)) (LABELS ((COMMON-LISP-USER::LOAD-SYSTEMS-TABLE NIL (UNLESS # #) (SETF # #) (WITH-OPEN-FILE # #)) (COMMON-LISP-USER::LOCAL-SYSTEM-SEARCH (COMMON-LISP-USER::NAME) (VALUES #)) (COMMON-LISP-USER::STRIP-VERSION-GITHASH (COMMON-LISP-USER::VERSION) (SUBSEQ COMMON-LISP-USER::VERSION 0 #))) (COMMON-LISP-USER::LOAD-SYSTEMS-TABLE) (PUSH (FUNCTION COMMON-LISP-USER::LOCAL-SYSTEM-SEARCH) ASDF/SYSTEM-REGISTRY:*SYSTEM-DEFINITION-SEARCH-FUNCTIONS*) (LET ((COMMON-LISP-USER::SYSTEMS #)) (DOLIST (COMMON-LISP-USER::SYS #) (UNLESS # #))) (FUNCALL (FIND-SYMBOL "SETUP-DEBUGGER" :QUILC)) (WHEN (COMMON-LISP-USER::OPTION-PRESENT-P "--quilc-sdk") (LOAD "app/src/mangle-shared-objects.lisp")) (WHEN (COMMON-LISP-USER::OPTION-PRESENT-P "--unsafe") (FORMAT T "~&Using unsafe entry point~%") (SETF COMMON-LISP-USER::ENTRY-POINT "%ENTRY-POINT")) (FORCE-OUTPUT) (SETF COMMON-LISP-USER::LIBRARIES (COMMON-LISP-USER::UNLOAD-LIBRARIES)) (SB-EXT:SAVE-LISP-AND-DIE COMMON-LISP-USER::OUTPUT-FILE :COMPRESSION NIL :SAVE-RUNTIME-OPTIONS T :EXECUTABLE T :TOPLEVEL (LET (#) (LAMBDA NIL # #))))) #<NULL-LEXENV>)
31: (SB-EXT:EVAL-TLF (LET ((*DEFAULT-PATHNAME-DEFAULTS* (MAKE-PATHNAME :TYPE NIL :NAME NIL :DEFAULTS *LOAD-TRUENAME*)) (COMMON-LISP-USER::OUTPUT-FILE (MAKE-PATHNAME :NAME "quilc" :TYPE NIL)) (COMMON-LISP-USER::SYSTEM-TABLE (MAKE-HASH-TABLE :TEST (QUOTE EQUAL))) (COMMON-LISP-USER::ENTRY-POINT "ENTRY-POINT") (COMMON-LISP-USER::LIBRARIES NIL)) (LABELS ((COMMON-LISP-USER::LOAD-SYSTEMS-TABLE NIL (UNLESS # #) (SETF # #) (WITH-OPEN-FILE # #)) (COMMON-LISP-USER::LOCAL-SYSTEM-SEARCH (COMMON-LISP-USER::NAME) (VALUES #)) (COMMON-LISP-USER::STRIP-VERSION-GITHASH (COMMON-LISP-USER::VERSION) (SUBSEQ COMMON-LISP-USER::VERSION 0 #))) (COMMON-LISP-USER::LOAD-SYSTEMS-TABLE) (PUSH (FUNCTION COMMON-LISP-USER::LOCAL-SYSTEM-SEARCH) ASDF/SYSTEM-REGISTRY:*SYSTEM-DEFINITION-SEARCH-FUNCTIONS*) (LET ((COMMON-LISP-USER::SYSTEMS #)) (DOLIST (COMMON-LISP-USER::SYS #) (UNLESS # #))) (FUNCALL (FIND-SYMBOL "SETUP-DEBUGGER" :QUILC)) (WHEN (COMMON-LISP-USER::OPTION-PRESENT-P "--quilc-sdk") (LOAD "app/src/mangle-shared-objects.lisp")) (WHEN (COMMON-LISP-USER::OPTION-PRESENT-P "--unsafe") (FORMAT T "~&Using unsafe entry point~%") (SETF COMMON-LISP-USER::ENTRY-POINT "%ENTRY-POINT")) (FORCE-OUTPUT) (SETF COMMON-LISP-USER::LIBRARIES (COMMON-LISP-USER::UNLOAD-LIBRARIES)) (SB-EXT:SAVE-LISP-AND-DIE COMMON-LISP-USER::OUTPUT-FILE :COMPRESSION NIL :SAVE-RUNTIME-OPTIONS T :EXECUTABLE T :TOPLEVEL (LET (#) (LAMBDA NIL # #))))) 5 NIL)
32: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (LET ((*DEFAULT-PATHNAME-DEFAULTS* (MAKE-PATHNAME :TYPE NIL :NAME NIL :DEFAULTS *LOAD-TRUENAME*)) (COMMON-LISP-USER::OUTPUT-FILE (MAKE-PATHNAME :NAME "quilc" :TYPE NIL)) (COMMON-LISP-USER::SYSTEM-TABLE (MAKE-HASH-TABLE :TEST (QUOTE EQUAL))) (COMMON-LISP-USER::ENTRY-POINT "ENTRY-POINT") (COMMON-LISP-USER::LIBRARIES NIL)) (LABELS ((COMMON-LISP-USER::LOAD-SYSTEMS-TABLE NIL (UNLESS # #) (SETF # #) (WITH-OPEN-FILE # #)) (COMMON-LISP-USER::LOCAL-SYSTEM-SEARCH (COMMON-LISP-USER::NAME) (VALUES #)) (COMMON-LISP-USER::STRIP-VERSION-GITHASH (COMMON-LISP-USER::VERSION) (SUBSEQ COMMON-LISP-USER::VERSION 0 #))) (COMMON-LISP-USER::LOAD-SYSTEMS-TABLE) (PUSH (FUNCTION COMMON-LISP-USER::LOCAL-SYSTEM-SEARCH) ASDF/SYSTEM-REGISTRY:*SYSTEM-DEFINITION-SEARCH-FUNCTIONS*) (LET ((COMMON-LISP-USER::SYSTEMS #)) (DOLIST (COMMON-LISP-USER::SYS #) (UNLESS # #))) (FUNCALL (FIND-SYMBOL "SETUP-DEBUGGER" :QUILC)) (WHEN (COMMON-LISP-USER::OPTION-PRESENT-P "--quilc-sdk") (LOAD "app/src/mangle-shared-objects.lisp")) (WHEN (COMMON-LISP-USER::OPTION-PRESENT-P "--unsafe") (FORMAT T "~&Using unsafe entry point~%") (SETF COMMON-LISP-USER::ENTRY-POINT "%ENTRY-POINT")) (FORCE-OUTPUT) (SETF COMMON-LISP-USER::LIBRARIES (COMMON-LISP-USER::UNLOAD-LIBRARIES)) (SB-EXT:SAVE-LISP-AND-DIE COMMON-LISP-USER::OUTPUT-FILE :COMPRESSION NIL :SAVE-RUNTIME-OPTIONS T :EXECUTABLE T :TOPLEVEL (LET (#) (LAMBDA NIL # #))))) 5)
33: ((LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) (LET ((*DEFAULT-PATHNAME-DEFAULTS* (MAKE-PATHNAME :TYPE NIL :NAME NIL :DEFAULTS *LOAD-TRUENAME*)) (COMMON-LISP-USER::OUTPUT-FILE (MAKE-PATHNAME :NAME "quilc" :TYPE NIL)) (COMMON-LISP-USER::SYSTEM-TABLE (MAKE-HASH-TABLE :TEST (QUOTE EQUAL))) (COMMON-LISP-USER::ENTRY-POINT "ENTRY-POINT") (COMMON-LISP-USER::LIBRARIES NIL)) (LABELS ((COMMON-LISP-USER::LOAD-SYSTEMS-TABLE NIL (UNLESS # #) (SETF # #) (WITH-OPEN-FILE # #)) (COMMON-LISP-USER::LOCAL-SYSTEM-SEARCH (COMMON-LISP-USER::NAME) (VALUES #)) (COMMON-LISP-USER::STRIP-VERSION-GITHASH (COMMON-LISP-USER::VERSION) (SUBSEQ COMMON-LISP-USER::VERSION 0 #))) (COMMON-LISP-USER::LOAD-SYSTEMS-TABLE) (PUSH (FUNCTION COMMON-LISP-USER::LOCAL-SYSTEM-SEARCH) ASDF/SYSTEM-REGISTRY:*SYSTEM-DEFINITION-SEARCH-FUNCTIONS*) (LET ((COMMON-LISP-USER::SYSTEMS #)) (DOLIST (COMMON-LISP-USER::SYS #) (UNLESS # #))) (FUNCALL (FIND-SYMBOL "SETUP-DEBUGGER" :QUILC)) (WHEN (COMMON-LISP-USER::OPTION-PRESENT-P "--quilc-sdk") (LOAD "app/src/mangle-shared-objects.lisp")) (WHEN (COMMON-LISP-USER::OPTION-PRESENT-P "--unsafe") (FORMAT T "~&Using unsafe entry point~%") (SETF COMMON-LISP-USER::ENTRY-POINT "%ENTRY-POINT")) (FORCE-OUTPUT) (SETF COMMON-LISP-USER::LIBRARIES (COMMON-LISP-USER::UNLOAD-LIBRARIES)) (SB-EXT:SAVE-LISP-AND-DIE COMMON-LISP-USER::OUTPUT-FILE :COMPRESSION NIL :SAVE-RUNTIME-OPTIONS T :EXECUTABLE T :TOPLEVEL (LET (#) (LAMBDA NIL # #))))) :CURRENT-INDEX 5)
34: (SB-C::%DO-FORMS-FROM-INFO #<FUNCTION (LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) {10015DCACB}> #<SB-C::SOURCE-INFO {10015DCA93}> SB-C::INPUT-ERROR-IN-LOAD)
35: (SB-INT:LOAD-AS-SOURCE #<SB-INT:FORM-TRACKING-STREAM for "file /home/mgsk/hackery/lisp/quilc/build-app.lisp" {10015DB4E3}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")
36: ((LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) #<SB-INT:FORM-TRACKING-STREAM for "file /home/mgsk/hackery/lisp/quilc/build-app.lisp" {10015DB4E3}> NIL)
37: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) {7F3D9547F95B}> #<SB-INT:FORM-TRACKING-STREAM for "file /home/mgsk/hackery/lisp/quilc/build-app.lisp" {10015DB4E3}> NIL #<SB-INT:FORM-TRACKING-STREAM for "file /home/mgsk/hackery/lisp/quilc/build-app.lisp" {10015DB4E3}>)
38: (LOAD #P"build-app.lisp" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :DEFAULT)
39: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:EVAL . "(setf sb-ext:\\*on-package-variance\\* '(:warn (:swank :swank-backend :swank-repl) :error t))") (:LOAD . "build-app.lisp") (:QUIT)))
40: (SB-IMPL::TOPLEVEL-INIT)
41: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
42: ((FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP))
43: (SB-IMPL::START-LISP)
@ecpeterson
Copy link
Contributor

When running make, a bit before this ^ error I also see warnings like:

WARNING:
   Duplicate system quilc detected. Preferring /Users/ecpeterson/quicklisp/local-projects/quilc/quilc.asd over /Users/ecpeterson/quicklisp/local-projects/quilc/quilc.asd.

Dunno if it's related, just sharing.

@mqmay3
Copy link

mqmay3 commented Apr 5, 2024

Did you ever resolve this error? I am getting the same error, but I haven't found a solution.

@macrologist
Copy link
Contributor

macrologist commented Apr 5, 2024

Sigh. This has to do with a bad idea in the tfeb abstract classes and singleton classes systems.

They are compiling the symbol quicklisp:quickload into the generated fasl file b/c, for some reason, they decided that closer-mop should be loaded via quicklisp outside of the ASDF-managed loading of dependencies.

When the fasl gets loaded by build-app.lisp, quicklisp isn't available and the above error results.

The cleanest fix may be to implement our own abstract and singleton metaclasses instead of relying on external libraries for them. I'll think about it.

@macrologist
Copy link
Contributor

There are now branches in qvm and quilc, both called clos-encounters that use clos-encounters as a home-grown dependency, replacing the offending tfeb systems. This ought to fix the silly build issue.

To compile, you'll need to fetch and checkout the clos-encounters branch of both projecs, and you'll need to clone clos-encounters into your quicklisp/local-projects. I'll await feedback before making PRs to the affected repos.

Long term, however, we may be phasing out the use of these OOPy patterns altogether.

@mqmay3
Copy link

mqmay3 commented Apr 11, 2024

@macrologist Thank you very much for the help! This has resolved the issue, and I now have no issues compiling.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants