implementation NCURSES not found
Debian 12, installed lem via roswell. Running lem-sdl2 causes a crash:
┌─[mhr][debian][~]
└─▪ lem-sdl2
Making core for Roswell...
building dump:/home/mhr/.roswell/impls/x86-64/linux/sbcl-bin/2.5.7/dump/lem-sdl2.core
WARNING: :SB-EVAL is no longer present in *FEATURES*
Reading '/home/mhr/.roswell/local-projects/lem-project/lem/qlfile'...
Successfully installed.
Reading '/home/mhr/.roswell/local-projects/lem-project/lem/qlfile'...
Successfully installed.
Unhandled SIMPLE-ERROR in thread #<SB-THREAD:THREAD tid=86329 "main thread" RUNNING
{12040D0003}>:
implementation NCURSES not found
Backtrace for: #<SB-THREAD:THREAD tid=86329 "main thread" RUNNING {12040D0003}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SIMPLE-ERROR "implementation ~A not found" {1205A31F33}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK SB-EXT:*INVOKE-DEBUGGER-HOOK* #<SIMPLE-ERROR "implementation ~A not found" {1205A31F33}>)
2: (INVOKE-DEBUGGER #<SIMPLE-ERROR "implementation ~A not found" {1205A31F33}>)
3: (ERROR "implementation ~A not found" :NCURSES)
4: (LEM-CORE:LAUNCH #S(LEM-CORE::COMMAND-LINE-ARGUMENTS :ARGS NIL :HELP NIL :DEBUG NIL :VERSION NIL :WITHOUT-INIT-FILE NIL :LOG-FILENAME NIL :INTERFACE NIL :FILENAMES NIL))
5: (SB-INT:SIMPLE-EVAL-IN-LEXENV (APPLY (QUOTE MAIN) ROSWELL:*ARGV*) #<NULL-LEXENV>)
6: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ROSWELL:QUIT (APPLY (QUOTE MAIN) ROSWELL:*ARGV*)) #<NULL-LEXENV>)
7: (SB-EXT:EVAL-TLF (ROSWELL:QUIT (APPLY (QUOTE MAIN) ROSWELL:*ARGV*)) NIL NIL)
8: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (ROSWELL:QUIT (APPLY (QUOTE MAIN) ROSWELL:*ARGV*)) NIL)
9: (SB-INT:LOAD-AS-SOURCE #<CONCATENATED-STREAM :STREAMS NIL {120418AA03}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")
10: ((LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) #<CONCATENATED-STREAM :STREAMS NIL {120418AA03}> NIL)
11: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) {7FE2D631F5EB}> #<CONCATENATED-STREAM :STREAMS NIL {120418AA03}> NIL #<CONCATENATED-STREAM :STREAMS NIL {120418AA03}>)
12: (LOAD #<CONCATENATED-STREAM :STREAMS NIL {120418AA03}> :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :DEFAULT)
13: ((FLET ROSWELL::BODY :IN ROSWELL:SCRIPT) #<SB-SYS:FD-STREAM for "file /home/mhr/.roswell/bin/lem-sdl2" {1204189713}>)
14: (ROSWELL:SCRIPT "/home/mhr/.roswell/bin/lem-sdl2")
15: (ROSWELL:RUN ((:SCRIPT "/home/mhr/.roswell/bin/lem-sdl2") (:QUIT NIL)))
16: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ROSWELL:RUN (QUOTE ((:SCRIPT "/home/mhr/.roswell/bin/lem-sdl2") (:QUIT NIL)))) #<NULL-LEXENV>)
17: (EVAL (ROSWELL:RUN (QUOTE ((:SCRIPT "/home/mhr/.roswell/bin/lem-sdl2") (:QUIT NIL)))))
18: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:EVAL . "(progn #-ros.init(cl:load \"/etc/roswell/init.lisp\"))") (:EVAL . "(ros:run '((:script \"/home/mhr/.roswell/bin/lem-sdl2\")(:quit ())))")))
19: (SB-IMPL::TOPLEVEL-INIT)
20: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
21: ((FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP))
22: (SB-IMPL::%START-LISP)
unhandled condition in --disable-debugger mode, quitting
FWIW, running lem-ncurses launches Lem just fine.
Hello, I see 2 warnings in your description:
roswell
the installation with Roswell was deprecated. We use Qlot, or an installation from scratch with Quicklisp and git submodules.
It isn't clear on the website that Roswell is deprecated, I'll update it.
SDL2
This view also is being deprecated in favor of webview. cxxxr will focus on the webview (and ncurses). The SDL2 code ought to be removed from Lem core when the webview has 100% parity.
Could you try an installation with Qlot?
make webview
(BTW: you can also try nightly bulids: https://github.com/lem-project/lem/releases)