common-lispquicklisp

Why can't Quicklisp find package Alexandria-2 when installing lisp-stat?


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")

Solution

  • 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.