Quicklisp can't find package Alexandria-2
I'm trying to install lisp-stat on my machine using quicklisp. I'm running Ubuntu 22.04. The install fails shortly after getting started with error:
No package named "ALEXANDRIA-2"
Prior to that, I updated quicklisp by calling (ql:update-dist "quicklisp") and I uninstalled and reinstalled Alexandria. I'm running SBCL 2.4.0.
When I run (ql:quickload :lisp-stat), I receive the following stack trace:
No package named "ALEXANDRIA-2"
[Condition of type SIMPLE-ERROR]
Restarts:
0: [RETRY] Retry compiling #<CL-SOURCE-FILE "num-utils" "arithmetic">.
1: [ACCEPT] Continue, treating compiling #<CL-SOURCE-FILE "num-utils" "arithmetic"> as having been successful.
2: [RETRY] Retry ASDF operation.
3: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration.
4: [RETRY] Retry ASDF operation.
5: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration.
6: [ABORT] Give up on "lisp-stat"
7: [REGISTER-LOCAL-PROJECTS] Register local projects and try again.
8: [RETRY] Retry SLIME REPL evaluation request.
9: [*ABORT] Return to SLIME's top level.
10: [ABORT] abort thread (#<THREAD tid=7606 "repl-thread" RUNNING {1008449043}>)
Backtrace:
0: (UIOP/PACKAGE:FIND-PACKAGE* #:ALEXANDRIA-2 T)
1: (UIOP/PACKAGE:ENSURE-PACKAGE #:NUM-UTILS.ARITHMETIC :NICKNAMES NIL :DOCUMENTATION NIL :USE (#:CL #:ALEXANDRIA-2 #:ALEXANDRIA+ #:ANAPHORA #:NUM-UTILS.UTILITIES #:LET-PLUS) :SHADOW NIL :SHADOWING-IMPORT..
2: (SB-INT:SIMPLE-EVAL-IN-LEXENV (APPLY (QUOTE UIOP/PACKAGE:ENSURE-PACKAGE) (QUOTE (#:NUM-UTILS.ARITHMETIC :NICKNAMES NIL :DOCUMENTATION NIL :USE ...))) #<NULL-LEXENV>)
3: (SB-INT:SIMPLE-EVAL-IN-LEXENV (PROGN (APPLY (QUOTE UIOP/PACKAGE:ENSURE-PACKAGE) (QUOTE #))) #<NULL-LEXENV>)
4: (EVAL-TLF (PROGN (APPLY (QUOTE UIOP/PACKAGE:ENSURE-PACKAGE) (QUOTE #))) 0 #<NULL-LEXENV>)
5: ((FLET SB-C::FROB :IN SB-C::EVAL-COMPILE-TOPLEVEL))
6: (SB-C::EVAL-COMPILE-TOPLEVEL ((APPLY (QUOTE UIOP/PACKAGE:ENSURE-PACKAGE) (QUOTE #))) (#1=(APPLY (QUOTE UIOP/PACKAGE:ENSURE-PACKAGE) (QUOTE #)) #2=(EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE)..
7: (SB-C::PROCESS-TOPLEVEL-FORM (APPLY (QUOTE UIOP/PACKAGE:ENSURE-PACKAGE) (QUOTE (#:NUM-UTILS.ARITHMETIC :NICKNAMES NIL :DOCUMENTATION NIL :USE ...))) (#1=(EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :E..
8: (SB-C::PROCESS-TOPLEVEL-PROGN ((APPLY (QUOTE UIOP/PACKAGE:ENSURE-PACKAGE) (QUOTE #))) (#1=(EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE) (APPLY # #)) (PROGN #1#) SB-C::ORIGINAL-SOURCE-START 0 ..
9: (SB-C::PROCESS-TOPLEVEL-FORM (EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE) (APPLY (QUOTE UIOP/PACKAGE:ENSURE-PACKAGE) (QUOTE #))) ((PROGN (EVAL-WHEN # #)) SB-C::ORIGINAL-SOURCE-START 0 0) NIL..
10: (SB-C::PROCESS-TOPLEVEL-PROGN ((EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE) (APPLY # #))) ((PROGN (EVAL-WHEN # #)) SB-C::ORIGINAL-SOURCE-START 0 0) NIL)
11: (SB-C::PROCESS-TOPLEVEL-FORM (PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE) (APPLY # #))) (SB-C::ORIGINAL-SOURCE-START 0 0) NIL)
12: (SB-C::PROCESS-TOPLEVEL-FORM (UIOP/PACKAGE:DEFINE-PACKAGE #:NUM-UTILS.ARITHMETIC (:USE #:CL #:ALEXANDRIA-2 #:ALEXANDRIA+ #:ANAPHORA #:NUM-UTILS.UTILITIES ...) (:EXPORT #:SAME-SIGN-P #:SQUARE #:CUBE #:..
13: ((LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-C::SUB-COMPILE-FILE) (UIOP/PACKAGE:DEFINE-PACKAGE #:NUM-UTILS.ARITHMETIC (:USE #:CL #:ALEXANDRIA-2 #:ALEXANDRIA+ #:ANAPHORA #:NUM..
14: (SB-C::%DO-FORMS-FROM-INFO #<FUNCTION (LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-C::SUB-COMPILE-FILE) {5414AF1B}> #<SB-C::SOURCE-INFO {100C126733}> SB-C::INPUT-ERROR-IN-COMP..
15: ((LAMBDA NIL :IN SB-C::SUB-COMPILE-FILE))
16: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
17: (SB-C::SUB-COMPILE-FILE #<SB-C::SOURCE-INFO {100C126733}> NIL)
18: (COMPILE-FILE #P"/home/david/quicklisp/dists/quicklisp/software/numerical-utilities-20241012-git/src/arithmetic.lisp" :OUTPUT-FILE #P"/home/david/.cache/common-lisp/sbcl-2.4.0-linux-x64/home/david/qui..
19: (UIOP/UTILITY:CALL-WITH-MUFFLED-CONDITIONS #<FUNCTION (LAMBDA NIL :IN UIOP/LISP-BUILD:COMPILE-FILE*) {100C13717B}> NIL)
20: (UIOP/PATHNAME:CALL-WITH-ENOUGH-PATHNAME #P"/home/david/quicklisp/dists/quicklisp/software/numerical-utilities-20241012-git/src/arithmetic.lisp" NIL #<FUNCTION (LAMBDA (UIOP/LISP-BUILD::INPUT-FILE) :I..
21: (UIOP/LISP-BUILD:COMPILE-FILE* #P"/home/david/quicklisp/dists/quicklisp/software/numerical-utilities-20241012-git/src/arithmetic.lisp" :OUTPUT-FILE #P"/home/david/.cache/common-lisp/sbcl-2.4.0-linux-x..
22: (ASDF/LISP-ACTION:PERFORM-LISP-COMPILATION #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "num-utils" "arithmetic">)
23: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "num-utils" "arithmetic">)
24: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
25: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "num-utils" "arithmetic">) [fast-method]
26: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1008B05A33}>) [fast-method]
27: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
28: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1008B05A33}>) [fast-method]
29: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "lisp-stat"> :PLAN-CLASS NIL :PLAN-OPTIONS NIL) [fast-method]
30: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "lisp-stat"> :VERBOSE NIL)
31: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
32: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "lisp-stat"> :VERBOSE NIL) [fast-method]
33: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/LISP-ACTION:LOAD-OP "lisp-stat" :VERBOSE NIL)
34: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
35: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "lisp-stat" :VERBOSE NIL) [fast-method]
36: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {1008B0DA2B}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL)
37: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
38: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {1008AE6BCB}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)
39: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "lisp-stat" :VERBOSE NIL) [fast-method]
40: (ASDF/OPERATE:LOAD-SYSTEM "lisp-stat" :VERBOSE NIL)
41: (QUICKLISP-CLIENT::CALL-WITH-MACROEXPAND-PROGRESS #<FUNCTION (LAMBDA NIL :IN QUICKLISP-CLIENT::APPLY-LOAD-STRATEGY) {1008AE4E5B}>)
42: (QUICKLISP-CLIENT::AUTOLOAD-SYSTEM-AND-DEPENDENCIES "lisp-stat" :PROMPT NIL)
43: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION (T T)) #<unused argument> #<FUNCTION (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {10088B256B}>) [fast-method]
44: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION :AROUND (QL-IMPL:SBCL T)) #<QL-IMPL:SBCL {100556D443}> #<FUNCTION (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {10088B256B}>) [fast-m..
45: ((:METHOD QUICKLISP-CLIENT:QUICKLOAD (T)) :LISP-STAT :PROMPT NIL :SILENT NIL :VERBOSE NIL) [fast-method]
46: (QL-DIST::CALL-WITH-CONSISTENT-DISTS #<FUNCTION (LAMBDA NIL :IN QUICKLISP-CLIENT:QUICKLOAD) {10088AE04B}>)
47: (SB-INT:SIMPLE-EVAL-IN-LEXENV (QUICKLISP-CLIENT:QUICKLOAD :LISP-STAT) #<NULL-LEXENV>)
48: (EVAL (QUICKLISP-CLIENT:QUICKLOAD :LISP-STAT))
49: (SWANK::EVAL-REGION "(ql:quickload :lisp-stat) ..)
50: ((LAMBDA NIL :IN SWANK-REPL::REPL-EVAL))
51: (SWANK-REPL::TRACK-PACKAGE #<FUNCTION (LAMBDA NIL :IN SWANK-REPL::REPL-EVAL) {100874F26B}>)
52: (SWANK::CALL-WITH-RETRY-RESTART "Retry SLIME REPL evaluation request." #<FUNCTION (LAMBDA NIL :IN SWANK-REPL::REPL-EVAL) {100874F24B}>)
53: (SWANK::CALL-WITH-BUFFER-SYNTAX NIL #<FUNCTION (LAMBDA NIL :IN SWANK-REPL::REPL-EVAL) {100874F22B}>)
54: (SWANK-REPL::REPL-EVAL "(ql:quickload :lisp-stat) ..)
55: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SWANK-REPL:LISTENER-EVAL "(ql:quickload :lisp-stat) ..)
56: (EVAL (SWANK-REPL:LISTENER-EVAL "(ql:quickload :lisp-stat) ..)
57: (SWANK:EVAL-FOR-EMACS (SWANK-REPL:LISTENER-EVAL "(ql:quickload :lisp-stat) ..)
58: (SWANK::PROCESS-REQUESTS NIL)
59: ((LAMBDA NIL :IN SWANK::HANDLE-REQUESTS))
60: ((LAMBDA NIL :IN SWANK::HANDLE-REQUESTS))
61: (SWANK/SBCL::CALL-WITH-BREAK-HOOK #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<FUNCTION (LAMBDA NIL :IN SWANK::HANDLE-REQUESTS) {1008434C1B}>)
62: ((FLET SWANK/BACKEND:CALL-WITH-DEBUGGER-HOOK :IN "/home/david/.emacs.d/elpa/slime-20220712.817/swank/sbcl.lisp") #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<FUNCTION (LAMBDA NIL :IN SWANK::HANDLE-REQUESTS..
63: (SWANK::CALL-WITH-BINDINGS ((*STANDARD-INPUT* . #<SWANK/GRAY::SLIME-INPUT-STREAM {1008301C73}>)) #<FUNCTION (LAMBDA NIL :IN SWANK::HANDLE-REQUESTS) {1008434C3B}>)
64: (SWANK::HANDLE-REQUESTS #<SWANK::MULTITHREADED-CONNECTION {10076F8423}> NIL)
65: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
66: ((FLET "WITHOUT-INTERRUPTS-BODY-174" :IN SB-THREAD::RUN))
67: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
68: ((FLET "WITHOUT-INTERRUPTS-BODY-167" :IN SB-THREAD::RUN))
69: (SB-THREAD::RUN)
70: ("foreign function: call_into_lisp_")
71: ("foreign function: funcall1")
How did you install alexandria? This is included in quicklisp and you shouldn't need to install it.
Yes, so I just did (ql:quickload :alexandria) and it worked. Could the issue be that lisp-stat, specifically num-utils, is trying to call alexandria functions before loading the system? It seems that the namespace is missing
Could the issue be that lisp-stat, specifically num-utils, is trying to call alexandria functions before loading the system? It seems that the namespace is missing
It is missing and we have to figure out why. The num-utils system has alexandria as a dependency, so it will be loaded before any of the lisp code. In theory, this missing package can't happen if all the systems are up to date.
What I find odd is that it fails to find the package even after you manually load alexandria. This makes me think there must be something in the configuration or environment that's off.
Also, how did you install alexandria? It comes with quicklisp. Try deleting your installed version and use the one from quicklisp.
The problem was caused by another system I had installed in my quicklisp/local-projects directory that came with its own version of alexandria. It turns out that quicklisp was loading this version of alexandria, which did not provide the proper namespaces. So, removing this system out of the local-projects directory enabled quicklisp to load the correct version.