Open codeinred opened 4 years ago
What GHC version your project uses? base-4.9.1.0 is bundled with GHC 8.0.2 and HIE doesn't support it.
I want to use GHC 8.6.5, which is the version of GHC I have installed on my system. The project I'm having issues with is here - https://github.com/sdiehl/kaleidoscope
Is there a way I can modify the project to use the correct version of GCC, so that HIE supports it?
Update: The problem appears even in very simple projects, such as ones created with stack new
. For example, I tried loading Data.Char
, and got this error:
Could not load module ‘Data.Char’
It is a member of the hidden package ‘base-4.12.0.0’.
You can run ‘:set -package base’ to expose it.
If I clone that repo and say stack build
on the command line, I get an error. So the project does not build out of the box, so cannot work in hie.
$ stack build
No packages found in snapshot which provide a "llvm-config" executable, which is a build-tool dependency of llvm-hs
llvm-hs > configure
-- While building package llvm-hs-4.0.1.0 using:
/tmp/stack14812/llvm-hs-4.0.1.0/.stack-work/dist/x86_64-linux-tinfo6/Cabal-1.24.2.0/setup/setup --builddir=.stack-work/dist/x86_64-linux-tinfo6/Cabal-1.24.2.0 configure --user --package-db=clear --package-db=global --package-db=/home/alanz/.stack/snapshots/x86_64-linux-tinfo6/64c75b15ef9ff77a94fea2b04f6f1c62d7431c4ecc3716689f8642d0939ec98f/8.0.2/pkgdb --libdir=/home/alanz/.stack/snapshots/x86_64-linux-tinfo6/64c75b15ef9ff77a94fea2b04f6f1c62d7431c4ecc3716689f8642d0939ec98f/8.0.2/lib --bindir=/home/alanz/.stack/snapshots/x86_64-linux-tinfo6/64c75b15ef9ff77a94fea2b04f6f1c62d7431c4ecc3716689f8642d0939ec98f/8.0.2/bin --datadir=/home/alanz/.stack/snapshots/x86_64-linux-tinfo6/64c75b15ef9ff77a94fea2b04f6f1c62d7431c4ecc3716689f8642d0939ec98f/8.0.2/share --libexecdir=/home/alanz/.stack/snapshots/x86_64-linux-tinfo6/64c75b15ef9ff77a94fea2b04f6f1c62d7431c4ecc3716689f8642d0939ec98f/8.0.2/libexec --sysconfdir=/home/alanz/.stack/snapshots/x86_64-linux-tinfo6/64c75b15ef9ff77a94fea2b04f6f1c62d7431c4ecc3716689f8642d0939ec98f/8.0.2/etc --docdir=/home/alanz/.stack/snapshots/x86_64-linux-tinfo6/64c75b15ef9ff77a94fea2b04f6f1c62d7431c4ecc3716689f8642d0939ec98f/8.0.2/doc/llvm-hs-4.0.1.0 --htmldir=/home/alanz/.stack/snapshots/x86_64-linux-tinfo6/64c75b15ef9ff77a94fea2b04f6f1c62d7431c4ecc3716689f8642d0939ec98f/8.0.2/doc/llvm-hs-4.0.1.0 --haddockdir=/home/alanz/.stack/snapshots/x86_64-linux-tinfo6/64c75b15ef9ff77a94fea2b04f6f1c62d7431c4ecc3716689f8642d0939ec98f/8.0.2/doc/llvm-hs-4.0.1.0 --dependency=Cabal=Cabal-1.24.2.0 --dependency=array=array-0.5.1.1 --dependency=base=base-4.9.1.0 --dependency=bytestring=bytestring-0.10.8.1 --dependency=containers=containers-0.5.7.1 --dependency=llvm-hs-pure=llvm-hs-pure-4.0.0.0-1MCgdEfQEIH8UDePaGXGzF --dependency=mtl=mtl-2.2.1-BLKBelFsPB3BoFeSWSOYj6 --dependency=parsec=parsec-3.1.11-4cWJ4kq7tXA22vdnbgv3it --dependency=template-haskell=template-haskell-2.11.1.0 --dependency=transformers=transformers-0.5.2.0 --dependency=transformers-compat=transformers-compat-0.5.1.4-2tm9ddmq5Qk3kF2emBuYBK --dependency=utf8-string=utf8-string-1.0.1.1-1DpjxLeTvGg7ttZZojxJR5 -f-debug -f-semigroups -fshared-llvm --exact-configuration
Process exited with code: ExitFailure 1
Logs have been written to: /home/alanz/mysrc/github/sdiehl/kaleidoscope/.stack-work/logs/llvm-hs-4.0.1.0.log
[1 of 2] Compiling Main ( /tmp/stack14812/llvm-hs-4.0.1.0/Setup.hs, /tmp/stack14812/llvm-hs-4.0.1.0/.stack-work/dist/x86_64-linux-tinfo6/Cabal-1.24.2.0/setup/Main.o )
[2 of 2] Compiling StackSetupShim ( /home/alanz/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs, /tmp/stack14812/llvm-hs-4.0.1.0/.stack-work/dist/x86_64-linux-tinfo6/Cabal-1.24.2.0/setup/StackSetupShim.o )
Linking /tmp/stack14812/llvm-hs-4.0.1.0/.stack-work/dist/x86_64-linux-tinfo6/Cabal-1.24.2.0/setup/setup ...
setup: The program 'llvm-config' version ==4.0.* is required but it could not
be found.
Progress 1/2
The project requires llvm as a dependency, however that is a separate issue. The problem occurs even with new projects, as mentioned above - the only difference is that it takes issue with a different version of base
Let's stick with example project to avoid additional issues with kaleidoscope
.
@jantonioperez
resolver
field in stack.yaml
of your example project?@jantonioperez I got it to start building with stack.yaml:
resolver: lts-14.15
packages:
- '.'
and kaleidoscope.cabal
...
executable chapter2
default-language: Haskell2010
main-is: Main.hs
other-modules:
Parser
Syntax
Lexer
build-depends:
base >= 4.7 && <5
, haskeline >= 0.7.1.2
, llvm-hs >= 8.0
, llvm-hs-pure >= 8.0
, parsec >= 3.1
, mtl >= 2.1.3
, transformers >= 0.3.0.0 && < 0.6
hs-source-dirs: src/chapter2
...
Give that a try, I wasn't able to fully build it to the end though since I didn't have the llvm-8 libs installed on my machine
I recently installed haskell-ide-engine, but I get the following error when I start up vscode and open a haskell file: