lem
lem copied to clipboard
Compliling Lem on Arm - Librem 5 phone.
Hi.
I am trying to compile Lem on my Librem 5 phone that runs Debian 11. Quicklisp errors out with "lem-mailbox" not found. I don't understand this error, I do know there is some code in Lem that refers to it, but I don't understand why it is not being found.
Details:
// kernel - librem 5 mobile phone - running debian
-
purism@myphone:~/common-lisp/lem/scripts$ uname -a Linux myphone 6.4.0-1-librem5 #1 SMP PREEMPT Mon Oct 30 19:48:50 UTC 2023 aarch64 GNU/Linux
-
purism@myphone:~/common-lisp/lem/scripts$ cat /etc/debian_version 11.7
// sbcl - quickload lem-sdl2
- (ql:quickload :lem-sdl2) To load "lem-sdl2": Load 1 ASDF system: lem-sdl2 ; Loading "lem-sdl2" ..... debugger invoked on a QUICKLISP-CLIENT:SYSTEM-NOT-FOUND in thread #<THREAD "main thread" RUNNING {1005C26673}>: System "lem-mailbox" not found
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name): 0: [CONTINUE ] Try again 1: [ABORT ] Give up on "lem-mailbox" 2: Give up on "lem-sdl2" 3: [REGISTER-LOCAL-PROJECTS] Register local projects and try again. 4: Exit debugger, returning to top level.
((LABELS QUICKLISP-CLIENT::RECURSE :IN QUICKLISP-CLIENT::COMPUTE-LOAD-STRATEGY) "lem-mailbox") source: (CERROR "Try again" 'SYSTEM-NOT-FOUND :NAME NAME) 0]
// sbcl - quickload lem-ncurses
- (ql:quickload :lem-ncurses) To load "lem-ncurses": Load 1 ASDF system: lem-ncurses ; Loading "lem-ncurses"
debugger invoked on a QUICKLISP-CLIENT:SYSTEM-NOT-FOUND in thread #<THREAD "main thread" RUNNING {1005C26673}>: System "lem-mailbox" not found
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name): 0: [CONTINUE ] Try again 1: [ABORT ] Give up on "lem-mailbox" 2: Give up on "lem-ncurses" 3: [REGISTER-LOCAL-PROJECTS] Register local projects and try again. 4: Exit debugger, returning to top level.
((LABELS QUICKLISP-CLIENT::RECURSE :IN QUICKLISP-CLIENT::COMPUTE-LOAD-STRATEGY) "lem-mailbox") source: (CERROR "Try again" 'SYSTEM-NOT-FOUND :NAME NAME) 0]
Any suggestions on how to resolve this issue and move forward with the quickload process?
Thanks.
Hi, you can try:
cd ~/common-lisp
git clone https://github.com/lem-project/lem-mailbox.git
Then (in sbcl):
(ql:quickload :lem-mailbox)
https://lem-project.github.io/installation/ncurses/linux/#install-qlot Library dependencies are resolved using qlot, and we recommend using that method.
If you are running Debian, you can also try the automatic installer (which will install the system dependencies + qlot) https://lem-project.github.io/installation/ncurses/linux/#debianmintubuntu
Just dropping in to give everyone an update and perhaps help other noobs trying to install Lem on the Librem 5:
-
I wanted to install / compile all the components and Lem using Quicklisp. I think the issue was with the version of libffi and I could not figure out how to fix that manually.
-
As per everyones suggestion here, using Qlot to build the ncurses and sdl2 versions of Lem works! Summary:
** Install qlot Automatic installer: curl -L https://qlot.tech/installer | bash
** Download and build the executable Create the directories:
mkdir $HOME/common-lisp && cd $HOME/common-lisp git clone https://github.com/lem-project/lem.git cd lem && make ncurses
**To build the sdl2 version: make sdl2
Instructions as others poted: https://lem-project.github.io/installation/ncurses/linux/#debianmintubuntu
SUMMARY: Lem continues its conquest of platforms, now running on the Librem 5!
Thanks everyone for the amazing editor and the deep levels of help to resolve this issue. I will now learn how to use Qlot, that is amazing as well.