Just in time for the Haskell Symposium, HLS 1.8.0.0 has been released. The prebuilt binaries in this release support the following GHC versions:
8.6.5
8.8.4
8.10.7
9.0.2
9.2.3
9.2.4
9.4.1
9.4.2
These binaries can be installed using GHCup or version 2.0.0 and above of the VSCode extension or downloaded directly from here. Older versions of the VSCode extension will not attempt to download this version.
Changelog
Binaries for GHC 9.2.3 and GHC 9.2.4
Initial support for GHC 9.4 with binaries for GHC 9.4.1 and GHC 9.4.2
Startup time and performance improvements on projects using Template Haskell by serializing intermediate core (#2813)
Memory usage improvements due to using a packed representation for filepaths (#3067, @kokobd)
I fails to start on Ubuntu Focal (20.0.4). Essentially, it looks for glibc-2.32, but Ubuntu Focal uses glibc-2.31. Manual update of glibc is needed as apt version is 2.31. I don’t trust myself updating such a library. Is there any chance a version compatible with glibc-2.31 is able?
Umm, I’ve been investigating. GHCup downloads fedora33 binaries. Shouldn’t it point to debian ones as Ubuntu is based on debian? (Honest question, distro jungle is a headache to me).
Also, do you know how to tell ghcup to download a different binary?
Shouldn’t it point to debian ones as Ubuntu is based on debian? (Honest question, distro jungle is a headache to me).
I’m not sure, it would be a good issue to open on the ghcup tracker. Keep in mind that alternate binaries will not work if it doesn’t match your GHC bindist, for example if your GHC bindist is fedora33 and you try to install the deb10 HLS bindist.
Also, do you know how to tell ghcup to download a different binary?
I think ghcup install hls -u <URL> 1.8.0.0 should do the trick.
Interestingly, up to ghcup-metadaghc-8.10.7 uses fedora27 and hls-1.8.0 uses fedora33, but hls-1.7.0 uses fedora27, that would explain why hls-1.7 works but upgrading doesn’t… I don’t know what this really means actually
I think, I am not updating hls until I have better information. @hasufell sorry for spaming, but could you light the way?.
Bump to what others have said in here, it seems ghcup is attempting to install incorrect binaries.
On windows I am getting this error upon running ghcup install hls 1.8.0.0:
[ Info ] Unpacking: haskell-language-server-1.8.0.0-x86_64-windows.zip to C:\ghcup\tmp\ghcup-b829821325f0b3ce
[ Error ] Both installation and setting the tool failed. Install error was: Tar directory does not exist: haskell-language-server-1.8.0.0
It seems that there are two ways to get around this issue. Either download the correct binaries manually like Lsmor did here (not sure how this would work for windows):
The problem is that GHC stopped providing fedora27 bindists. So, some GHC versions on fedora use 27 glibc, some 33.
The only way to truly fix this is to add another build recipe to the release configuration that builds in an ubuntu docker container (both pre 19 and post 20).
Using Debian bindists may only work by accident, not by design. Same goes for Fedora. They just happened to coincide and we were lazy.
in ghcup-0.0.7.yaml is causing the install for windows to break with the following error:
[ Info ] Unpacking: haskell-language-server-1.8.0.0-x86_64-windows.zip to C:\ghcup\tmp\ghcup-62cc8f558d600943
[ Error ] Both installation and setting the tool failed. Install error was: Tar directory does not exist: haskell-language-server-1.8.0.0
[ ... ] Set error was: The version 1.8.0.0 of the tool hls is not installed.