Search code examples
haskellcompilationhaskell-stackghci

Unable to compile first Haskell Programme in VSCode


I just installed Stack GHCI and Visual Studio Code in my Windows. And I was trying to build and run the first simple Haskell putStrln programme, but with a big compile fail. In VS Code terminal, I entered: PS C:\Users\rmili\Documents> stack new TryHaskell And a new folder "TryHaskell" was created, with the automatically created files "Lib.hs" and "Main.hs"

I tried to build and run the hs files. But I encountered the following errors:

  1. In a new terminal, after I entered PS C:\Users\rmili\Documents\TryHaskell> stack build, this will result in the following error:
    Error Messages:
         "'C:\Users\rmili\AppData\Local\Programs\stack\x86_64-windows\ghc-8.8.4\bin\ghc-pkg.exe'
    exited with an error:
    ghc-pkg.exe: hLock: permission denied (Access is denied.)
    )"
  1. At the top of Main.hs and Lib.hs, the lines module Main where and module Lib both have curly lines underneath, with error message:
    readCreateProcess: stack "exec" "ghc" "--" "-rtsopts=ignore" "-outputdir" "C:\\Users\\rmili\\AppData\\Local\\Temp\\hie-bios-98c9848bfed41b00" "-o" "C:\\Users\\rmili\\AppData\\Local\\hie-bios\\wrapper-4da94d68375fab32d2147da1837e9611.exe" "C:\\Users\\rmili\\AppData\\Local\\hie-bios\\wrapper-4da94d68375fab32d2147da1837e9611.hs" (exit 1): failedcompiler
    Peek Problem (Alt+F8)
    No quick fixes available

My GHCI directory looks fine, as shown below: GHCI Directory

UPDATE: It seemed that antivirus is the problem for me, as whenever I tried to build a new hs file, there will be a pop up from Norton, saying data protector has blocked an action by Haskell server. After I asked Norton to exclude specifically such action, I could successfully compile and run my hs files.

However, the problem is that the curly lines under "module Main where" and "module Lib" remain. How can I remove the curly lines and its associated error messages as shown in point 2) above?


Solution

  • Welcome to Haskell!

    Unfortunately, it seems Haskell on Windows has various "permission denied" bugs. (https://gitlab.haskell.org/ghc/ghc/-/issues/2924). I have no direct workaround to suggest, other than make sure all software is up-to-date, try different configurations, and try and build using ghc directly without stack.

    Other things to try include making sure you are running as Administrator, and disabling your antivirus.