haskell / haskell-language-server

Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine.
Apache License 2.0
2.72k stars 368 forks source link

HLS install on Alpine Linux: "Unable to find a download for 2.4.0.0 #3876

Open foxyseta opened 1 year ago

foxyseta commented 1 year ago

Hi! I am currently unable to install HLS via ghcup on Alpine Linux.

Steps to reproduce:

Actual behavior:

[ Debug ] Identified Platform as: Linux Alpine, 3.19_alpha20230901
[ Debug ] last access was 122.698411141s ago, cache interval is 300s
[ Debug ] Decoding yaml at: /home/foxy/.ghcup/cache/ghcup-0.0.8.yaml
[ Error ] [GHCup-07140] Both installation and setting the tool failed. Install error was: Unable to find a download for 2.4.0.0
[ ...   ] Set error was: The version 2.4.0.0 of the tool hls is not installed.
[ Error ] Also check the logs in /home/foxy/.ghcup/logs

Expected behavior: hls 2.4.0.0 is installed correctly.

This is the output of ghcup list:

✗  hls   1.1.0
✗  hls   1.2.0
✗  hls   1.3.0
✗  hls   1.4.0
✗  hls   1.5.0
✗  hls   1.5.1
✗  hls   1.6.0.0
✗  hls   1.6.1.0
✗  hls   1.7.0.0                              no-bindist
✗  hls   1.8.0.0                              no-bindist
✗  hls   1.9.0.0                              no-bindist
✗  hls   1.9.1.0                              no-bindist
✗  hls   1.10.0.0                             no-bindist
✗  hls   2.0.0.0                              no-bindist
✗  hls   2.0.0.1                              no-bindist
✗  hls   2.1.0.0                              no-bindist
✗  hls   2.2.0.0                              no-bindist
✗  hls   2.3.0.0                              no-bindist
✗  hls   2.4.0.0    latest,recommended        no-bindist
hasufell commented 1 year ago

Yeah, there are currently no binaries for alpine: https://downloads.haskell.org/~hls/haskell-language-server-2.4.0.0/

foxyseta commented 1 year ago

So I could still compile it from source, right? Using: ghcup compile hls -v $HLS_VERSION --ghc $GHC_VERSION And if I ever want to know why HLS stopped releasing Alpine binaries from version 1.7.0.0 I should ask their community, maybe? (My Matrix instance is currently down, but I am not sure I should open an issue on https://github.com/haskell/haskell-language-server for this... Maybe they intentionally dropped Alpine bindist support at 1.7.0.0 for some reason.)

hasufell commented 1 year ago

We might have stopped because GHC alpine bindists were unreliable too. Some of those I had to build myself, others were fully static (broken), others dynamic.

But I don't see anything fundamentally wrong with providing dynamic alpine HLS bindists.

foxyseta commented 1 year ago

I was just assuming every bindist built here was dynamik for some reason. 😅 I am afraid I am very unqualified to help