fukamachi / clack

Web server abstraction layer for Common Lisp
MIT License
1.05k stars 86 forks source link

"Package BT2 does not exist." #191

Closed npsimons closed 9 months ago

npsimons commented 9 months ago

On a fresh install of quicklisp using SBCL, doing a:

(ql:quickload :clack)

Results in:

To load "clack": Load 1 ASDF system: clack ; Loading "clack" [package clack.handler] ; ; caught ERROR: ; READ error during COMPILE-FILE: ;
; Package BT2 does not exist. ;
; Line: 26, Column: 39, File-Position: 697 ;
; Stream: #<SB-INT:FORM-TRACKING-STREAM for "file /home/npsimons/.quicklisp/dists/quicklisp/software/clack-20231021-git/src/handler.lisp" {10067FAB63}> ; ; compilation unit aborted ; caught 2 fatal ERROR conditions ; caught 1 ERROR condition ; Evaluation aborted on #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {10069DAF33}>.

npsimons commented 9 months ago

I'm still having a hard time wrapping my head around the CL ecosystem (C++ broke my brane), so it took me a bit to figure out that "BT2" might be a newer version of bordeaux-threads (calls to bt2:threadp and bt2:destroy-thread should have been a clue), and a simple M-x replace-string using bt2 → bordeaux-threads in $HOME/quicklisp/dists/quicklisp/software/clack-20231021-git/src/hander.lisp did the trick. It might be possible quicklisp assumed it could use my system distro (Debian) packaged cl-bordeaux-threads.

npsimons commented 9 months ago

Followup: yes, apt-get purge cl-bordeaux-threads, then blowing away my home quicklisp directory and starting from scratch fixed it, no search and replace necessary.

mdbergmann commented 9 months ago

Yeah, it's better to not install any CL quicklisp libraries via Linux package manager.