-
Notifications
You must be signed in to change notification settings - Fork 175
Home
- We don't support Cabal's
new-build
yet :( - You need to recompile ghc-mod when you change GHC versions, just run
cabal install ghc-mod
again and you're good. We are working on a permanent fix for this, see ghc-mod Issue: Implement worker/wrapper split, support multiple GHC versions.
Make sure the dist/setup-config
file doesn't exist in your project directory (the directory also containing your *.cabal
file). When this file exists ghc-mod assumes you want to use cabal-install instead of Stack.
Most ghc-mod+Stack issues have to do with a GHC version mismatch.
ghc-mod once compiled is bound to one version of GHC since we link against the GHC API library. This used to not be a very big problem but since Stack made it exceedingly easy to use more than one version of GHC without even realising.
To confirm you are in fact suffering from this issue check if your Stack resolver uses a different GHC version from what ghc-mod was linked with, for example:
$ ghc-mod --version
ghc-mod version 5.3.0.0 compiled by GHC 7.10.2
VS.
$ stack ghc -- --version
The Glorious Glasgow Haskell Compilation System, version 7.8.4
Many users report success with starting their editors/IDEs or shells with stack exec
inside the project they are working on after installing ghc-mod locally
inside that project, for example:
$ cd my/super/cool/project/
$ stack install ghc-mod
$ stack exec -- emacs
The install command only needs to be run once unless you want to upgrade the
ghc-mod version in use for that project. The stack exec
command will run Emacs
(or your editor of choice) with a modified environment which (among other
things) adds the project-local binary installation directory to PATH
.
We are working on a more permanent fix for this, see ghc-mod Issue: Implement worker/wrapper split, support multiple GHC versions.
ghc-mod: $HOME/.stack/snapshots/x86_64-linux/lts-2.22/7.8.4/pkgdb/package.cache: GHC.PackageDb.readPackageDb: inappropriate type (not a ghc-pkg db file, wrong file magic number)
See Most common Stack related issue
ghc-mod: <command line>: cannot satisfy -package-id aeson-0.10.0.0-a37a650f6e5d5ca2347967c8f8609dfd:
aeson-0.10.0.0-a37a650f6e5d5ca2347967c8f8609dfd is unusable due to missing or recursive dependencies:
attoparsec-0.13.0.1-9f9155916734a226d3befd6aaf235548 base-4.8.2.0-0d6d1084fbc041e1cded9228e80e264d <...>
(use -v for more information)
Same root cause as above: Most common Stack related issue.
Failed to load interface for ‘Some.Module’ There are files missing in the ‘package-1.2.3’
package,try running 'ghc-pkg check'
Same root cause as above: Most common Stack related issue
Full error message:
cabal-helper-wrapper: ghc: readCreateProcess: runInteractiveProcess: exec: does not exist (No such file or directory)
cabal-helper needs a working ghc
executable at runtime to build it's wrapper component, when using only Stack's builtin GHC there is no ghc
on $PATH
hence this error.
To fix this simply add one of the paths in the output of the following command to your $PATH
environment variable.
printf '%s\n' ~/.stack/programs/*/ghc-*/bin/