Skip to content

Commit c6ff0df

Browse files
Update README.md: Stack + GHCup (#874)
1 parent 528d7b6 commit c6ff0df

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

README.md

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ You can watch demos for some of these features [here](https://haskell-language-s
6666

6767
- For standalone `.hs`/`.lhs` files, [ghc](https://www.haskell.org/ghc/) must be installed and on the PATH. The easiest way to install it is with [ghcup](https://www.haskell.org/ghcup/) or [Chocolatey](https://www.haskell.org/platform/windows.html) on Windows.
6868
- For Cabal based projects, both ghc and [cabal-install](https://www.haskell.org/cabal/) must be installed and on the PATH. It can also be installed with [ghcup](https://www.haskell.org/ghcup/) or [Chocolatey](https://www.haskell.org/platform/windows.html) on Windows.
69-
- For Stack based projects, [stack](http://haskellstack.org) must be installed and on the PATH.
69+
- For Stack based projects, [stack](http://haskellstack.org) must be installed and on the PATH and must be [configured to use GHC binaries installed by GHCup](https://www.haskell.org/ghcup/guide/#stack-integration).
7070
- If you are installing from an offline VSIX file, you need to install [language-haskell](https://github.com/JustusAdam/language-haskell) too after installation (either from the marketplace or offline).
7171
- Alternatively, you can let the extension manage your entire toolchain automatically (you'll be asked on first startup) via
7272
[ghcup](https://www.haskell.org/ghcup/), which should be pre-installed
@@ -258,10 +258,9 @@ If you have installed stack via the official cannels, the binary will not be M1
258258

259259
#### `GHC ABIs don't match`
260260

261-
If you're running stack with GHC 9.0.2, you will get this because of an outdated
262-
GHC bindist that stack installs.
261+
If you are using certain versions of GHC (such as 9.0.2 or 9.2.4) while running Stack, you may encounter this issue due to an outdated GHC bindist installed by Stack. The vscode-haskell extension does not support the use of GHC binaries managed by Stack. Therefore, it is recommended to configure Stack to allow GHCup to install these binaries instead. Please [refer to the instructions provided by ghcup for this purpose](https://www.haskell.org/ghcup/guide/#stack-integration).
263262

264-
Force it to install the fixed bindist (that includes profiling libs) by adding this to your stack.yaml (depending on your platform):
263+
If you really want to use GHC 9.0.2 managed by Stack, force it to install the fixed bindist (that includes profiling libs) by adding this to your stack.yaml (depending on your platform):
265264

266265
```yml
267266
setup-info:
@@ -270,12 +269,9 @@ setup-info:
270269
9.0.2:
271270
url: 'https://downloads.haskell.org/ghc/9.0.2/ghc-9.0.2a-x86_64-fedora27-linux.tar.xz'
272271
```
273-
274-
Alternatively let GHCup install the correct bindist and then set `system-ghc: true` in your `stack.yaml`.
275-
276272
Now make sure to remove cached/installed libraries to avoid getting segfaults at runtime.
277273
278-
If you hit this problem although you're not using stack or GHC 9.0.2, please report an issue. As a workaround, you can try to compile HLS from source (the extension should pick it up) via ghcup, see [https://haskell-language-server.readthedocs.io/en/stable/installation.html#ghcup](https://haskell-language-server.readthedocs.io/en/stable/installation.html#ghcup).
274+
As a final workaround, you can try to compile HLS from source (the extension should pick it up) via ghcup, see [https://haskell-language-server.readthedocs.io/en/stable/installation.html#ghcup](https://haskell-language-server.readthedocs.io/en/stable/installation.html#ghcup). In any case, the recommended approach is to let GHCup install the GHC binaries.
279275
280276
#### Using an old configuration
281277

0 commit comments

Comments
 (0)