Haskell Language Server Hashes

I’m getting a GHC ABI Mismatch when trying to start the haskell-language-server. Looks like the Expected/Got hashes is slightly different on the two:

haskell-language-server-wrapper typecheck Found "/Users/projects/ihp-basf/hie.yaml" for "Users/Projects/a" Run entered for haskell-language-server-wrapper(haskell-language-server-wrapper) Version 2.7.0.0 aarch64 ghc-9.8.2 Current directory: /Users/lambert/projects/ihp-basf Operating system: darwin Arguments: ["typecheck"] Cradle directory: /Users/lambert/projects/ihp-basf Cradle type: Bios Tool versions found on the $PATH cabal: 3.10.3.0 stack: Not found ghc: 9.8.2 Consulting the cradle to get project GHC version... 2024-07-17T13:38:28.576877Z | Debug | ghc --numeric-version Project GHC version: 9.8.2 haskell-language-server exe candidates: ["haskell-language-server-9.8.2","haskell-language-server"] Launching haskell-language-server exe at:/nix/store/w8gkm3vxz17wmgvq87lsp9wy3bwbvdh8-haskell-language-server-2.7.0.0/bin/haskell-language-server-9.8.2 2024-07-17T13:38:29.062142Z | Debug | ghc -v0 -package-env=- -ignore-dot-ghci -e Control.Monad.join (Control.Monad.fmap System.IO.putStr System.Environment.getExecutablePath) 2024-07-17T13:38:29.118602Z | Debug | ghc --print-libdir GHC ABIs don't match! Expected: Cabal-3.10.2.0:80e33acd6e4f2a2418adeedaa974a810 ... Got: Cabal-3.10.2.0:80e33acd6e4f2a2418adeedaa974a810

What would be easiest way to override the devenv hls with one built using the flakes ghc?

If i look at the hash for ghc they are slightly different.

ghc-9.8.2:14bc08c0c… vs ghc-9.8.2:643712585…

ghci hash also a bit different

Cheers!

Everything else the same so I’m wondering if this is an issue with small differences between devenv vs ihp builds of ghc-9.8.2?

Looks like it’s related to haskell-language-server: GHC ABIs don't match! · Issue #321569 · NixOS/nixpkgs · GitHub

1 Like