#How do you install the "cl-lsp" package via Roswell properly?

1 messages · Page 1 of 1 (latest)

hushed olive
#

I'd like for Helix, my text editor, to basically help me out when configuring Stumpwm. Problem is, following the instructions on the Github repository of the cl-lsp package resulted in the thing actually installing (after I installed qlot via the AUR) but not registering as a command, which is needed for the LSP integration to work. Since I am aware that Roswell installs packages locally, how do I make it so that I can run the cl-lsp package like any other command that was installed via pacman? Do note that I tried to export the path to the file in my .zshrc , but that resulted in catastrophic failure of my shell.

OS: CachyOS (Arch)

sweet plover
#

hii, can u pls send the output of thism cmd?
ls -l ~/.roswell/bin | grep cl-lsp

#

if it returns something usable did u add export PATH="$HOME/.roswell/bin:$PATH" to ur .zshrc?

#

cause if not this would probably fix the issue

#

(sorry for the late response)

hushed olive
#

ls -l ~/.roswell/bin | grep cl-lsp gave me this: -rwx------ 1 piotrhabera piotrhabera 365 05-17 21:37 cl-lsp

#

Also did that in my .zshrc file, but the shell suffered a catastrophic failure so I had to remove that via an graphical text editor, Kate in this case.

hushed olive
sweet plover
#

Oh i think i know whats going on, u have permission problems.
Ur permissions are too restrictive u have rwx on --- and ---, meaning that means only the owner can access it. First do this chmod 755 ~/.roswell/bin/cl-lsp , then re-add export PATH="$HOME/.roswell/bin:$PATH" to ur .zshrc and reload ur shell

hushed olive
#

I tried adding export PATH="$HOME/.roswell/bin:$PATH" as the last line, but that caused shell failure. It can also cause conflicts with my system installed sbcl and Roswell's.

sweet plover
hushed olive
sweet plover
#

Yes

hushed olive
#

Ah no nevermind, I've got qlot instead of sbcl there. I also have qlot installed via the AUR.

#

So should I like... uninstall one of these, or?

sweet plover
#

Aur does some pretty weird things sometimes

hushed olive
#

Since I assume once I export this, the qlot command will be linked to the one on Roswell?

sweet plover
#

Yes I think

#

Don't really know all of this sounds like an pretty fragmented and weird install

hushed olive
#

Not my fault that cl-lsp is Roswell-only.

sweet plover
#

No, I ment everything that happend there

#

How exactly did u install Roswell?

hushed olive
#

pacman -S roswell

sweet plover
#

Then u installed sbcl via pacman?

hushed olive
#

sbcl was installed already.

sweet plover
#

Okok

hushed olive
#

Roswell decided to install an additional copy for some reason.

sweet plover
#

The remove qlot

hushed olive
#

I'll remove it from the .roswell/bin directory, since the AUR one works fine. In fact, I needed it to install cl-lsp in the first place.

sweet plover
hushed olive
#

Yea, it can install fine and can run sbcl as well.

sweet plover
#

How did u install cllsp? Via ros ... Right?

hushed olive
# sweet plover ?

The first attempt to install cl-lsp failed because first it missed a "micros" dependency, then a "qlot" directory.

sweet plover
hushed olive
#

My locally-ran LLM told me I was missing qlot, so I installed that via AUR (tried via roswell, but didn't work), and then attempted again. Installation worked without issue.

sweet plover
#

But now it pulls it correctly by running ros install cxxxr/cl-lsp?

hushed olive
sweet plover
#

Okok

#

Did u fix the permission thingy?

hushed olive
#

Apologies if this entire install sounds like a mess, I am treading in strange and alien territory.

#

I'll have to remove Roswell's qlot first, since that too has restrictive permissions.

#

Or should I instead remove the AUR one and do 755 on roswell qlot as well?

sweet plover
#

Don't remove anything right now OK, just do the chmod 755 ~/.Roswell/bin/cl-lsp

hushed olive
#

Done.

sweet plover
#

OK, now export the Roswell path in ur zshrc file

hushed olive
sweet plover
#

Yes, just don't put it inside son code construct

#

Put it in the end or something like this

hushed olive
#

I was planning to put it as a newline. Also no idea what is a "son code construct".

sweet plover
#

auto correct, sorry some code cinstruct

#

*construct

hushed olive
#

Okay! Good news! My shell didn't suffer a heart attack and the command works!

#

Bad news! The LSP exits as soon as I launch helix.

sweet plover
#

ros install lem-project/lem

#

Then it should work fine I think

hushed olive
#

And I have just realised I did not redact my username in pastebin and now 3 people saw it... despite the fact it's set as unlisted.

#

Ah well, it'll self-delete after 30 minutes so no big deal.

sweet plover
hushed olive
#

chmod the thing into submission?

sweet plover
#

I tried to recreate everything u did but this step doesn't seem to be reproducible to my machine but you can check the permissions of lem or something like that

hushed olive
#

Hold on, just did lem...

#

Well... lem works.

#

Actually, the issue here is that the lem package doesn't come with lem-extension-manager, so we'll need to look elsewhere.

sweet plover
#

Package UIOP/CL does not exist.

hushed olive
#

Yep. My local LLM confirms the hypothesis. So how to fix this issue?

sweet plover
#

Install it

sweet plover
hushed olive
hushed olive
sweet plover
#

I assume that too

hushed olive
sweet plover
#

I do too

hushed olive
#

It's missing a package called STR, whatever that means. Installing stumpwm didn't help either.

sweet plover
#

Install str

hushed olive
#

You sure this is a wise idea? I'm effectively installing random packages I've never seen before via a package manager that I still don't understand.

#

Don't want to end up with a broken operating system, cause my only backup's infected with an infostealer... not to mention, it's Windows 11.

sweet plover
#

Roswell doesn't have dep resolution in a standard way, you need to install all deps manually

hushed olive
#

It's isolated?

sweet plover
hushed olive
#

Yea well, there's no such thing as str in Roswell. So now what?

#

What's the true dependency tree for cl-lsp?

sweet plover
#

pacman -Ss libasyncprocess

hushed olive
#

There is nothing.

#

yay also shows no result. Time to chance with Roswell?

sweet plover
#

Don't think so, its a foreign library

hushed olive
sweet plover
#

I dunno tbh

hushed olive
#

Then I'll wait for a second person to chime in and see if there's a way out of this.

sweet plover
hushed olive
sweet plover
#

File search

hushed olive
#

It's safe to use, yes?

sweet plover
#

Yes

hushed olive
#

error: invalid option '-s'

#

Should I take the issue to a Common Lisp themed server? This sounds like an incredibly specific problem and that sort of problem requires hyper-specialized knowledge.

sweet plover
#

ls ~/.roswell/lisp/quicklisp/dists/quicklisp/software/async-process-*/

hushed olive
#

Got this: configure.ac GNUmakefile LICENSE Makefile.am README.md src So the library's there, but somehow cl-lsp doesn't detect it?

sweet plover
sweet plover
#

sh bootstrap
./configure
make

hushed olive
#

You sure this is a wise thing to do? I'm not sure what those commands even do, beyond make which compiles from source.

sweet plover
sweet plover
#

After that you have to:
sudo cp .libs/libasyncprocess.so /usr/local/lib/
sudo ldconfig

hushed olive
#

ldconfig?

#

Yea, this is some high tier black magic for what is supposed to be a simple LSP install.

sweet plover
#

Simple?

sweet plover
hushed olive
#

It won't break anything... right?

sweet plover
#

I can't promise but it shouldn't break under normal conditions

hushed olive
#

Also, sh bootstrap?

sweet plover
#

Yes

hushed olive
#

What does it do?

sweet plover
#

Runs bootstrap script

hushed olive
sweet plover
#

Yes

hushed olive
#

I'll assume it's safe to use, cause it only looks for the local directory?

sweet plover
#

No, it can do basically anything

hushed olive
#

Right...

#

Yeah, I'm not very keen on running a command that can do anything on a system without any backups.

sweet plover
#

You did so dozens of times during the install

hushed olive
#

...what? When? How?

sweet plover
#

Roswell has jobs, when you install a package some commands get executed same for paru under pacman btw

hushed olive
#

So I'm basically doing pacman -S package but manually?

sweet plover
#

Yes

hushed olive
#

Oh, OK. Well, running sh bootstrap is safe if I do it in the async-process directory?

sweet plover
#

Not entirely but you can cat it and look what's inside

hushed olive
#

Is it like... necessary to do the bootstrap? Can I just skip this and go straight to compiling?

#

It is worth noting that the cl-lsp repo never mentions this being a necessary step.

sweet plover
#

one

hushed olive
sweet plover
#

Nooooooooo

#

Sorry

#

Its not really possible if this lib neads to prepare anything or needs dependencies

#

If that's not the case which is extremely unlikely and I wouldn't know why they would have made this script if it does nothing then it would be possible

sweet plover
#

But if u don't trust me just ask someone else or ur llm, I can't to more then tell u what I would be doing

#

And do some research for you

hushed olive
#

Then I'll wait untill tomorrow for someone else to chime in, since it's getting late and I'd rather want to sleep soundly.

#

Never thought a simple LSP would be such a headache to install...

sweet plover
hushed olive
#

If there's an easier method, then I will give it a shot.

#

Maybe doing the whole bootstrapping business is really uncessary and I've made life for me harder for no reason at all.

#

Maybe all this Roswell business broke Stumpwm because now it'll call for a dependency that's broken or something.

hushed olive
sweet plover
hushed olive
sweet plover
#

yay -S cl-lsp

hushed olive
#

No AUR package found...

sweet plover
#

Sad

#

Was worth a try though

#

At this point just use sly

hushed olive
#

Sly?

sweet plover
#

Another lsp

hushed olive
#

Is it for Common Lisp?

sweet plover
#

No

#

Not entirely

#

But it works

#

Will work

hushed olive
#

Problem is, that's an IDE plugin for Emacs, not an LSP. I am speifically looking for an LSP that like... works with any editor.

sweet plover
#

Or just use eglot with a repl server

hushed olive
#

OR at least that's what the repo tells me.

#

Basically: the haskell-language-server package but for Common Lisp to help with configuring StumpWM.

#

That is the goal. If it's not achieveable let me know now, and I will abandon the idea and do without.

hushed olive
sweet plover
sweet plover
#

I'm just using emacs tbh and it works for me

hushed olive
#

Thanks for letting me know. I'll be sure to open a ticket once I decide to do cl-lsp again, this time BEFORE I do anything, AKA: install Roswell

sweet plover
hushed olive
hushed olive
#

I'll need to find a way to make LSP's work with Emacs (so that I can dabble in Lua like I would on Zed) but that doesn't seem too hard.

#

Anyways, thanks for your help. This conversation has been most insightful.

#

If StumpWM refuses to work properly, will uninstalling Roswell and purging it's package cache help?

#

Just in case.