nobody-famous / alive-lsp

Language Server Protocol implementation for use with the Alive extension
73 stars 8 forks source link

Cannot start LSP on linux, neither on Manjaro nor in Debian-Bulleyes-Docker image. Fails with ERROR #18

Open mldmis opened 2 years ago

mldmis commented 2 years ago

Unfortuantely, I cannot start the LSP server with ALIVE. Not from vscode, nor with the (test) shell scripts that come with the LSP.

I came with either version, installing all the "cl-*" packages on Bulleyes or with Quicklisp on Manjaro, to the point with the following debug error message:

`This is SBCL 2.2.4, an implementation of ANSI Common Lisp. More information about SBCL is available at http://www.sbcl.org/.

SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information. WARNING: System definition file #P"/root/quicklisp/dists/quicklisp/software/cl-json-20220220-git/cl-json.asd" contains definition for system "cl-json.test". Please only define "cl-json" and secondary systems with a name starting with "cl-json/" (e.g. "cl-json/test") in that file. WARNING: System definition file #P"/usr/share/common-lisp/source/cl-flexi-streams/flexi-streams.asd" contains definition for system "flexi-streams-test". Please only define "flexi-streams" and secondary systems with a name starting with "flexi-streams/" (e.g. "flexi-streams/test") in that file.

debugger invoked on a SB-KERNEL:CASE-FAILURE @5351C1DD in thread

<THREAD "main thread" RUNNING {1004E48073}>:

:LOCAL-NICKNAMES fell through ECASE expression. Wanted one of (:USE :MIX :REEXPORT :USE-REEXPORT :MIX-REEXPORT :IMPORT-FROM :SHADOWING-IMPORT-FROM :NICKNAMES :DOCUMENTATION :SHADOW :EXPORT :INTERN ...).

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name): 0: [RETRY ] Retry ASDF operation. 1: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration. 2: Retry ASDF operation. 3: Retry ASDF operation after resetting the configuration. 4: [CONTINUE ] Ignore runtime option --eval "(asdf:load-system :alive-lsp)". 5: [ABORT ] Skip rest of --eval and --load options. 6: Skip to toplevel READ/EVAL/PRINT loop. 7: [EXIT ] Exit SBCL (calling #'EXIT, killing the process).

(ASDF/PACKAGE-INFERRED-SYSTEM::PACKAGE-DEPENDENCIES (DEFPACKAGE :ALIVE/POSITION (:USE :CL) (:EXPORT :CREATE :LINE :COL :LESS-THAN :LESS-OR-EQUAL :FROM-WIRE) (:LOCAL-NICKNAMES (:TYPES :ALIVE/TYPES)))) source: (ECASE OPTION ((:USE :MIX :REEXPORT :USE-REEXPORT :MIX-REEXPORT) (DOLIST (P ARGUMENTS) (DEP (STRING P)))) ((:IMPORT-FROM :SHADOWING-IMPORT-FROM) (DEP (STRING (FIRST ARGUMENTS)))) ((:NICKNAMES :DOCUMENTATION :SHADOW :EXPORT :INTERN :UNINTERN :RECYCLE))) 0] `

grafik

nobody-famous commented 2 years ago

I need to add this to the readme. Apparently the version of ASDF that comes with the debian sbcl is 3.3.1 and it needs 3.3.2 or 3.3.3.

sudo apt-get install cl-asdf

should fix it. I haven't used Manjaro, but check the ASDF version.

michaeldelago commented 2 years ago

That lines up for me

The current version of sbcl for Arch is listed as out of date, and it's using ASDF 3.3.1 as well.

For now, I was able to work around this by downloading asdf.lisp from the official source, putting it in ~/.local/lib/lisp/asdf.lisp, and adding this to my ~/.sbclrc:

;;; Use latest asdf
(let ((asdf-init (merge-pathnames ".local/lib/lisp/asdf.lisp"
                  (user-homedir-pathname))))
    (when (probe-file asdf-init)
      (load asdf-init)))

When starting sbcl, there will be a bunch of "redefining" warnings, but that's OK. There's probably a better way to do this, but this is what I was able to get working quickly