haskell / vscode-haskell

VS Code extension for Haskell, powered by haskell-language-server
https://marketplace.visualstudio.com/items?itemName=haskell.haskell
Other
564 stars 90 forks source link

Haskell extension can't figure out LLVM version on macOS #667

Open stefanscheidt opened 2 years ago

stefanscheidt commented 2 years ago

Your environment

Which OS do you use:

macOS 12.5 (21G72) on Apple Silicon M1

Steps to reproduce

Create simple "hello-cabal" project as described here, open VS Code with Haskell Extension from terminal via code ., opening Main.hs in VSCode

Expected behaviour

HLS should work.

Actual behaviour

HLS Extension shows a problem:

Failed to parse result of calling cabal
Failed command: cabal --builddir=/Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c v2-repl --with-compiler /Users/stefanscheidt/.cache/hie-bios/wrapper-b54f81dea4c0e6d1626911c526bc4e36 --with-hc-pkg /Users/stefanscheidt/.cache/hie-bios/ghc-pkg-6a65c19ae905dbcea0cb8a9889f57773 hello-cabal:exe:hello-cabal
Build profile: -w ghc-8.10.7 -O1
In order, the following will be built (use -v for more details):
 - hello-cabal-0.1.0.0 (lib) (first run)
 - hello-cabal-0.1.0.0 (exe:hello-cabal) (first run)
Preprocessing library for hello-cabal-0.1.0.0..
Building library for hello-cabal-0.1.0.0..
[1 of 1] Compiling MyLib            ( src/MyLib.hs, /Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build/MyLib.o, /Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build/MyLib.dyn_o )

<no location info>: error:
    Warning: Couldn't figure out LLVM version!
             Make sure you have installed LLVM between [9 and 13)
ghc: could not execute: opt
cabal: Failed to build hello-cabal-0.1.0.0 (which is required by
exe:hello-cabal from hello-cabal-0.1.0.0).

Process Environment:
HIE_BIOS_GHC: /Users/stefanscheidt/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/ghc
HIE_BIOS_GHC_ARGS: -B/Users/stefanscheidt/.ghcup/ghc/8.10.7/lib/ghc-8.10.7

In the terminal, cabal build works. For that I had to do a brew install llvm@12 and added /opt/homebrew/opt/llvm@12/bin to PATH (in .zshrc) Until then, a got Couldn't figure out LLVM version! in the Terminal, too

Include debug information

Execute in the root of your project the command haskell-language-server-wrapper --debug . and paste the logs here (you can find the executable location here):

Debug output: ``` No 'hie.yaml' found. Try to discover the project type! Run entered for haskell-language-server-wrapper(haskell-language-server-wrapper) Version 1.7.0.0 aarch64 ghc-9.2.2 Current directory: /Users/stefanscheidt/Code/Learning/Haskell/hello-cabal Operating system: darwin Arguments: ["--debug","."] Cradle directory: /Users/stefanscheidt/Code/Learning/Haskell/hello-cabal Cradle type: Cabal Tool versions found on the $PATH cabal: 3.6.2.0 stack: 2.7.5 ghc: 8.10.7 Consulting the cradle to get project GHC version... Project GHC version: 8.10.7 haskell-language-server exe candidates: ["haskell-language-server-8.10.7","haskell-language-server"] Launching haskell-language-server exe at:/Users/stefanscheidt/.ghcup/bin/haskell-language-server-8.10.7 2022-08-05T21:07:01.460232Z | Info | No log file specified; using stderr. 2022-08-05T21:07:01.460489Z | Info | haskell-language-server version: 1.7.0.0 (GHC: 8.10.7) (PATH: /Users/stefanscheidt/.ghcup/hls/1.7.0.0/lib/haskell-language-server-1.7.0.0/bin/haskell-language-server-8.10.7) 2022-08-05T21:07:01.460846Z | Info | Directory: /Users/stefanscheidt/Code/Learning/Haskell/hello-cabal 2022-08-05T21:07:01.461006Z | Info | Logging heap statistics every 60.00s ghcide setup tester in /Users/stefanscheidt/Code/Learning/Haskell/hello-cabal. Report bugs at https://github.com/haskell/haskell-language-server/issues Step 1/4: Finding files to test in /Users/stefanscheidt/Code/Learning/Haskell/hello-cabal Found 2 files Step 2/4: Looking for hie.yaml files that control setup Found 1 cradle () Step 3/4: Initializing the IDE 2022-08-05T21:07:01.463101Z | Debug | Initializing exports map from hiedb 2022-08-05T21:07:01.463332Z | Debug | Shake session initialized Step 4/4: Type checking the files 2022-08-05T21:07:01.463379Z | Debug | Done initializing exports map from hiedb. Size: 0 2022-08-05T21:07:01.463919Z | Info | Cradle path: src/MyLib.hs 2022-08-05T21:07:01.463963Z | Warning | No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for src/MyLib.hs. Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie). You should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error. 2022-08-05T21:07:01.465660Z | Debug | Cradle: Cradle {cradleRootDir = "/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal", cradleOptsProg = CradleAction: Cabal} 2022-08-05 23:07:01.821242 [ThreadId 42] INFO hie-bios: Build profile: -w ghc-8.10.7 -O1 2022-08-05 23:07:01.821684 [ThreadId 42] INFO hie-bios: In order, the following will be built (use -v for more details): 2022-08-05 23:07:01.821705 [ThreadId 42] INFO hie-bios: - hello-cabal-0.1.0.0 (lib) (first run) 2022-08-05 23:07:01.865833 [ThreadId 42] INFO hie-bios: Preprocessing library for hello-cabal-0.1.0.0.. 2022-08-05T21:07:02.295702Z | Debug | Session loading result: Right (ComponentOptions {componentOptions = ["-fbuilding-cabal-package","-O0","-outputdir","/Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build","-odir","/Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build","-hidir","/Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build","-stubdir","/Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build","-i","-i/Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build","-isrc","-i/Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build/autogen","-i/Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build/global-autogen","-I/Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build/autogen","-I/Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build/global-autogen","-I/Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build","-optP-include","-optP/Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build/autogen/cabal_macros.h","-this-unit-id","hello-cabal-0.1.0.0-inplace","-hide-all-packages","-Wmissing-home-modules","-no-user-package-db","-package-db","/Users/stefanscheidt/.cabal/store/ghc-8.10.7/package.db","-package-db","/Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/packagedb/ghc-8.10.7","-package-db","/Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/package.conf.inplace","-package-id","base-4.14.3.0","-XHaskell2010","MyLib","-hide-all-packages"], componentRoot = "/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal", componentDependencies = ["hello-cabal.cabal","cabal.project","cabal.project.local"]},"/Users/stefanscheidt/.ghcup/ghc/8.10.7/lib/ghc-8.10.7") 2022-08-05T21:07:02.338412Z | Info | Interface files cache directory: /Users/stefanscheidt/.cache/ghcide/hello-cabal-0.1.0.0-inplace-49911b2222638d588f95afbea26ded335c3265d7 2022-08-05T21:07:02.338554Z | Info | Making new HscEnv. In-place unit ids: [hello-cabal-0.1.0.0-inplace] 2022-08-05T21:07:02.342362Z | Debug | New component cache HscEnvEq: (([],Just HscEnvEq 5),fromList [("cabal.project",Nothing),("cabal.project.local",Nothing),("hello-cabal.cabal",Just 2022-08-05 18:20:51.23484617 UTC)]) 2022-08-05T21:07:02.343252Z | Debug | Known files updated: fromList [(TargetFile NormalizedFilePath "/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/src/MyLib.hs",fromList ["/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/src/MyLib.hs"]),(TargetModule MyLib,fromList ["/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/src/MyLib.hs"])] 2022-08-05T21:07:02.343437Z | Debug | Finished build session AsyncCancelled 2022-08-05T21:07:02.343472Z | Debug | Restarting build session due to new component Action Queue: [User TypeCheck] Keys: [GetKnownTargets; , GhcSessionIO; ] Aborting previous build session took 0.00s 2022-08-05T21:07:02.343704Z | Debug | Getting hlint ideas for NormalizedFilePath "/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/app/Main.hs" 2022-08-05T21:07:02.344496Z | Debug | Getting hlint ideas for NormalizedFilePath "/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/src/MyLib.hs" 2022-08-05T21:07:02.422707Z | Info | Cradle path: app/Main.hs 2022-08-05T21:07:02.424039Z | Warning | No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for app/Main.hs. Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie). You should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error. 2022-08-05T21:07:02.425814Z | Debug | Cradle: Cradle {cradleRootDir = "/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal", cradleOptsProg = CradleAction: Cabal} 2022-08-05 23:07:02.78264 [ThreadId 122] INFO hie-bios: Build profile: -w ghc-8.10.7 -O1 2022-08-05 23:07:02.782737 [ThreadId 122] INFO hie-bios: In order, the following will be built (use -v for more details): 2022-08-05 23:07:02.782756 [ThreadId 122] INFO hie-bios: - hello-cabal-0.1.0.0 (lib) (first run) 2022-08-05 23:07:02.782774 [ThreadId 122] INFO hie-bios: - hello-cabal-0.1.0.0 (exe:hello-cabal) (first run) 2022-08-05 23:07:02.826696 [ThreadId 122] INFO hie-bios: Preprocessing library for hello-cabal-0.1.0.0.. 2022-08-05 23:07:02.826817 [ThreadId 122] INFO hie-bios: Building library for hello-cabal-0.1.0.0.. 2022-08-05 23:07:02.884995 [ThreadId 122] INFO hie-bios: [1 of 1] Compiling MyLib ( src/MyLib.hs, /Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build/MyLib.o, /Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build/MyLib.dyn_o ) 2022-08-05 23:07:02.917357 [ThreadId 120] INFO hie-bios: 2022-08-05 23:07:02.917426 [ThreadId 120] INFO hie-bios: : error: 2022-08-05 23:07:02.917451 [ThreadId 120] INFO hie-bios: Warning: Couldn't figure out LLVM version! 2022-08-05 23:07:02.917467 [ThreadId 120] INFO hie-bios: Make sure you have installed LLVM between [9 and 13) 2022-08-05 23:07:02.921826 [ThreadId 120] INFO hie-bios: ghc: could not execute: opt 2022-08-05 23:07:02.929924 [ThreadId 120] INFO hie-bios: cabal: Failed to build hello-cabal-0.1.0.0 (which is required by 2022-08-05 23:07:02.929987 [ThreadId 120] INFO hie-bios: exe:hello-cabal from hello-cabal-0.1.0.0). 2022-08-05 23:07:02.930004 [ThreadId 120] INFO hie-bios: 2022-08-05T21:07:02.937502Z | Debug | Session loading result: Left [CradleError {cradleErrorDependencies = ["hello-cabal.cabal","cabal.project","cabal.project.local"], cradleErrorExitCode = ExitFailure 1, cradleErrorStderr = ["Failed to parse result of calling cabal","Failed command: cabal --builddir=/Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c v2-repl --with-compiler /Users/stefanscheidt/.cache/hie-bios/wrapper-b54f81dea4c0e6d1626911c526bc4e36 --with-hc-pkg /Users/stefanscheidt/.cache/hie-bios/ghc-pkg-6a65c19ae905dbcea0cb8a9889f57773 hello-cabal:exe:hello-cabal","Build profile: -w ghc-8.10.7 -O1\nIn order, the following will be built (use -v for more details):\n - hello-cabal-0.1.0.0 (lib) (first run)\n - hello-cabal-0.1.0.0 (exe:hello-cabal) (first run)\nPreprocessing library for hello-cabal-0.1.0.0..\nBuilding library for hello-cabal-0.1.0.0..\n[1 of 1] Compiling MyLib ( src/MyLib.hs, /Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build/MyLib.o, /Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build/MyLib.dyn_o )\n","\n: error:\n Warning: Couldn't figure out LLVM version!\n Make sure you have installed LLVM between [9 and 13)\nghc: could not execute: opt\ncabal: Failed to build hello-cabal-0.1.0.0 (which is required by\nexe:hello-cabal from hello-cabal-0.1.0.0).\n\n","","Process Environment:","HIE_BIOS_GHC: /Users/stefanscheidt/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/ghc","HIE_BIOS_GHC_ARGS: -B/Users/stefanscheidt/.ghcup/ghc/8.10.7/lib/ghc-8.10.7"]}] 2022-08-05T21:07:02.938616Z | Info | updateFileDiagnostics published different from new diagnostics - file diagnostics: File: /Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/app/Main.hs Hidden: no Range: 1:1-2:1 Source: cradle Severity: DsError Message: Failed to parse result of calling cabal Failed command: cabal --builddir=/Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c v2-repl --with-compiler /Users/stefanscheidt/.cache/hie-bios/wrapper-b54f81dea4c0e6d1626911c526bc4e36 --with-hc-pkg /Users/stefanscheidt/.cache/hie-bios/ghc-pkg-6a65c19ae905dbcea0cb8a9889f57773 hello-cabal:exe:hello-cabal Build profile: -w ghc-8.10.7 -O1 In order, the following will be built (use -v for more details): - hello-cabal-0.1.0.0 (lib) (first run) - hello-cabal-0.1.0.0 (exe:hello-cabal) (first run) Preprocessing library for hello-cabal-0.1.0.0.. Building library for hello-cabal-0.1.0.0.. [1 of 1] Compiling MyLib ( src/MyLib.hs, /Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build/MyLib.o, /Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build/MyLib.dyn_o ) : error: Warning: Couldn't figure out LLVM version! Make sure you have installed LLVM between [9 and 13) ghc: could not execute: opt cabal: Failed to build hello-cabal-0.1.0.0 (which is required by exe:hello-cabal from hello-cabal-0.1.0.0). Process Environment: HIE_BIOS_GHC: /Users/stefanscheidt/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/ghc HIE_BIOS_GHC_ARGS: -B/Users/stefanscheidt/.ghcup/ghc/8.10.7/lib/ghc-8.10.7 2022-08-05T21:07:02.954621Z | Debug | Finished: User TypeCheck Took: 0.61s 2022-08-05T21:07:02.955586Z | Debug | Finished: GetHie Took: 0.00s 2022-08-05T21:07:02.955836Z | Debug | Finished: GenerateCore Took: 0.00s 2022-08-05T21:07:02.956034Z | Debug | LOOKUP UP PERSISTENT FOR: GetModSummaryWithoutTimestamps 2022-08-05T21:07:02.956320Z | Debug | LOOKUP UP PERSISTENT FOR: GhcSessionDeps Files that failed: * /Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/app/Main.hs Completed (1 file worked, 1 file failed) ```

Paste the contents of extension specific log, you can check instructions about how to find it here

Extension log: ``` 2022-08-05 20:53:24.1260000 [client] DEBUG Environment variables: 2022-08-05 20:53:24.1260000 [client] DEBUG PATH: /Users/stefanscheidt/.local/bin:/Users/stefanscheidt/local/bin:/usr/local/bin:/usr/local/sbin:/Users/stefanscheidt/.sdkman/candidates/scalacli/current/bin:/Users/stefanscheidt/.sdkman/candidates/sbt/current/bin:/Users/stefanscheidt/.sdkman/candidates/maven/current/bin:/Users/stefanscheidt/.sdkman/candidates/kotlin/current/bin:/Users/stefanscheidt/.sdkman/candidates/java/current/bin:/Users/stefanscheidt/.sdkman/candidates/gradle/current/bin:/Users/stefanscheidt/.pyenv/shims:/Users/stefanscheidt/.pyenv/bin:/Users/stefanscheidt/.cabal/bin:/Users/stefanscheidt/.ghcup/bin:/opt/homebrew/opt/llvm@12/bin:/opt/homebrew/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/stefanscheidt/.cargo/bin 2022-08-05 20:53:24.1260000 [client] INFO Finding haskell-language-server 2022-08-05 20:53:24.1270000 [client] INFO Checking for ghcup installation 2022-08-05 20:53:24.1300000 [client] INFO found ghcup at ghcup 2022-08-05 20:53:24.1300000 [client] INFO Executing 'ghcup --no-verbose upgrade' in cwd '/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal' 2022-08-05 20:53:24.3230000 [client] DEBUG Execution of 'ghcup --no-verbose upgrade' terminated with code 0 2022-08-05 20:53:24.3230000 [client] INFO Checking for ghcup installation 2022-08-05 20:53:24.3260000 [client] INFO found ghcup at ghcup 2022-08-05 20:53:24.3260000 [client] INFO Executing 'ghcup --no-verbose list -t hls -c installed -r' in cwd '/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal' 2022-08-05 20:53:24.3720000 [client] DEBUG Execution of 'ghcup --no-verbose list -t hls -c installed -r' terminated with code 0 2022-08-05 20:53:24.3720000 [client] INFO Checking for ghcup installation 2022-08-05 20:53:24.3740000 [client] INFO found ghcup at ghcup 2022-08-05 20:53:24.3740000 [client] INFO Executing 'ghcup --no-verbose list -t cabal -c installed -r' in cwd '/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal' 2022-08-05 20:53:24.4190000 [client] DEBUG Execution of 'ghcup --no-verbose list -t cabal -c installed -r' terminated with code 0 2022-08-05 20:53:24.4190000 [client] INFO Checking for ghcup installation 2022-08-05 20:53:24.4230000 [client] INFO found ghcup at ghcup 2022-08-05 20:53:24.4230000 [client] INFO Executing 'ghcup --no-verbose list -t stack -c installed -r' in cwd '/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal' 2022-08-05 20:53:24.4720000 [client] DEBUG Execution of 'ghcup --no-verbose list -t stack -c installed -r' terminated with code 0 2022-08-05 20:53:24.4740000 [client] INFO Checking for ghcup installation 2022-08-05 20:53:24.4760000 [client] INFO found ghcup at ghcup 2022-08-05 20:53:24.4770000 [client] INFO Executing 'ghcup --no-verbose whereis hls 1.7.0.0' in cwd '/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal' 2022-08-05 20:53:24.4970000 [client] DEBUG Execution of 'ghcup --no-verbose whereis hls 1.7.0.0' terminated with code 0 2022-08-05 20:53:24.4970000 [client] INFO Checking for ghcup installation 2022-08-05 20:53:24.4990000 [client] INFO found ghcup at ghcup 2022-08-05 20:53:24.4990000 [client] INFO Executing 'ghcup --no-verbose whereis cabal 3.6.2.0' in cwd '/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal' 2022-08-05 20:53:24.5190000 [client] DEBUG Execution of 'ghcup --no-verbose whereis cabal 3.6.2.0' terminated with code 0 2022-08-05 20:53:24.5190000 [client] INFO Checking for ghcup installation 2022-08-05 20:53:24.5210000 [client] INFO found ghcup at ghcup 2022-08-05 20:53:24.5210000 [client] INFO Executing 'ghcup --no-verbose whereis stack 2.7.5' in cwd '/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal' 2022-08-05 20:53:24.5520000 [client] DEBUG Execution of 'ghcup --no-verbose whereis stack 2.7.5' terminated with code 0 2022-08-05 20:53:24.5540000 [client] INFO Checking for ghcup installation 2022-08-05 20:53:24.5560000 [client] INFO found ghcup at ghcup 2022-08-05 20:53:24.5560000 [client] INFO Executing 'ghcup --no-verbose run --hls 1.7.0.0 --cabal 3.6.2.0 --stack 2.7.5 --install' in cwd '/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal' 2022-08-05 20:53:24.6020000 [client] DEBUG Execution of 'ghcup --no-verbose run --hls 1.7.0.0 --cabal 3.6.2.0 --stack 2.7.5 --install' terminated with code 0 2022-08-05 20:53:24.6020000 [client] INFO Working out the project GHC version. This might take a while... 2022-08-05 20:53:24.6020000 [client] INFO Executing 'haskell-language-server-wrapper --project-ghc-version' in cwd '/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal' 2022-08-05 20:53:26.2340000 [client] DEBUG Execution of 'haskell-language-server-wrapper --project-ghc-version' terminated with code 0 2022-08-05 20:53:26.2340000 [client] INFO The GHC version for the project or file: 8.10.7 2022-08-05 20:53:26.4580000 [client] INFO Platform constants: Darwin, A_ARM64 2022-08-05 20:53:26.4580000 [client] DEBUG HLS 1.4.0 compatible with GHC Versions: 8.10.7 2022-08-05 20:53:26.4580000 [client] DEBUG HLS 1.5.0 compatible with GHC Versions: 8.10.7 2022-08-05 20:53:26.4580000 [client] DEBUG HLS 1.5.1 compatible with GHC Versions: 8.10.7 2022-08-05 20:53:26.4580000 [client] DEBUG HLS 1.6.0.0 compatible with GHC Versions: 8.10.7 2022-08-05 20:53:26.4580000 [client] DEBUG HLS 1.6.1.0 compatible with GHC Versions: 8.10.7 2022-08-05 20:53:26.4580000 [client] DEBUG HLS 1.7.0.0 compatible with GHC Versions: 8.10.7,9.0.2,9.2.1,9.2.2 2022-08-05 20:53:26.4590000 [client] INFO Checking for ghcup installation 2022-08-05 20:53:26.4630000 [client] INFO found ghcup at ghcup 2022-08-05 20:53:26.4640000 [client] INFO Executing 'ghcup --no-verbose list -t hls -c installed -r' in cwd '/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal' 2022-08-05 20:53:26.5310000 [client] DEBUG Execution of 'ghcup --no-verbose list -t hls -c installed -r' terminated with code 0 2022-08-05 20:53:26.5310000 [client] INFO Checking for ghcup installation 2022-08-05 20:53:26.5330000 [client] INFO found ghcup at ghcup 2022-08-05 20:53:26.5330000 [client] INFO Executing 'ghcup --no-verbose whereis bindir' in cwd '/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal' 2022-08-05 20:53:26.5540000 [client] DEBUG Execution of 'ghcup --no-verbose whereis bindir' terminated with code 0 2022-08-05 20:53:26.5540000 [client] INFO Checking for ghcup installation 2022-08-05 20:53:26.5560000 [client] INFO found ghcup at ghcup 2022-08-05 20:53:26.5560000 [client] INFO Executing 'ghcup --no-verbose whereis hls 1.7.0.0' in cwd '/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal' 2022-08-05 20:53:26.5770000 [client] DEBUG Execution of 'ghcup --no-verbose whereis hls 1.7.0.0' terminated with code 0 2022-08-05 20:53:26.5770000 [client] INFO Checking for ghcup installation 2022-08-05 20:53:26.5780000 [client] INFO found ghcup at ghcup 2022-08-05 20:53:26.5790000 [client] INFO Executing 'ghcup --no-verbose whereis ghc 8.10.7' in cwd '/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal' 2022-08-05 20:53:26.5990000 [client] DEBUG Execution of 'ghcup --no-verbose whereis ghc 8.10.7' terminated with code 0 2022-08-05 20:53:26.5990000 [client] INFO Checking for ghcup installation 2022-08-05 20:53:26.6010000 [client] INFO found ghcup at ghcup 2022-08-05 20:53:26.6010000 [client] INFO Executing 'ghcup --no-verbose run --hls 1.7.0.0 --cabal 3.6.2.0 --stack 2.7.5 --ghc 8.10.7 --install' in cwd '/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal' 2022-08-05 20:53:26.6590000 [client] DEBUG Execution of 'ghcup --no-verbose run --hls 1.7.0.0 --cabal 3.6.2.0 --stack 2.7.5 --ghc 8.10.7 --install' terminated with code 0 2022-08-05 20:53:26.6590000 [client] INFO Activating the language server in working dir: /Users/stefanscheidt/Code/Learning/Haskell/hello-cabal (the workspace folder) 2022-08-05 20:53:26.6600000 [client] INFO run command: /Users/stefanscheidt/.ghcup/tmp/ghcup-ghc-8.10.7_cabal-3.6.2.0_hls-1.7.0.0_stack-2.7.5/haskell-language-server-wrapper --lsp -d 2022-08-05 20:53:26.6600000 [client] INFO debug command: /Users/stefanscheidt/.ghcup/tmp/ghcup-ghc-8.10.7_cabal-3.6.2.0_hls-1.7.0.0_stack-2.7.5/haskell-language-server-wrapper --lsp -d 2022-08-05 20:53:26.6600000 [client] INFO server environment variables: 2022-08-05 20:53:26.6600000 [client] INFO PATH=/Users/stefanscheidt/.ghcup/tmp/ghcup-ghc-8.10.7_cabal-3.6.2.0_hls-1.7.0.0_stack-2.7.5:/opt/homebrew/opt/llvm@12/bin:/Users/stefanscheidt/.local/bin:/Users/stefanscheidt/local/bin:/usr/local/bin:/usr/local/sbin:/Users/stefanscheidt/.sdkman/candidates/scalacli/current/bin:/Users/stefanscheidt/.sdkman/candidates/sbt/current/bin:/Users/stefanscheidt/.sdkman/candidates/maven/current/bin:/Users/stefanscheidt/.sdkman/candidates/kotlin/current/bin:/Users/stefanscheidt/.sdkman/candidates/java/current/bin:/Users/stefanscheidt/.sdkman/candidates/gradle/current/bin:/Users/stefanscheidt/.pyenv/shims:/Users/stefanscheidt/.pyenv/bin:/Users/stefanscheidt/.cabal/bin:/Users/stefanscheidt/.ghcup/bin:/opt/homebrew/opt/llvm@12/bin:/opt/homebrew/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/stefanscheidt/.cargo/bin 2022-08-05 20:53:26.6600000 [client] DEBUG document selector patten: /Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/**/* 2022-08-05 20:53:26.6610000 [client] INFO Starting language server No 'hie.yaml' found. Try to discover the project type! Run entered for haskell-language-server-wrapper(haskell-language-server-wrapper) Version 1.7.0.0 aarch64 ghc-9.2.2 Current directory: /Users/stefanscheidt/Code/Learning/Haskell/hello-cabal Operating system: darwin Arguments: ["--lsp","-d"] Cradle directory: /Users/stefanscheidt/Code/Learning/Haskell/hello-cabal Cradle type: Cabal Tool versions found on the $PATH cabal: 3.6.2.0 stack: 2.7.5 ghc: 8.10.7 Consulting the cradle to get project GHC version... Project GHC version: 8.10.7 haskell-language-server exe candidates: ["haskell-language-server-8.10.7","haskell-language-server"] Launching haskell-language-server exe at:/Users/stefanscheidt/.ghcup/tmp/ghcup-ghc-8.10.7_cabal-3.6.2.0_hls-1.7.0.0_stack-2.7.5/haskell-language-server-8.10.7 2022-08-05T20:53:30.568531Z | Info | No log file specified; using stderr. 2022-08-05T20:53:30.568780Z | Info | haskell-language-server version: 1.7.0.0 (GHC: 8.10.7) (PATH: /Users/stefanscheidt/.ghcup/hls/1.7.0.0/lib/haskell-language-server-1.7.0.0/bin/haskell-language-server-8.10.7) 2022-08-05T20:53:30.569087Z | Info | Directory: /Users/stefanscheidt/Code/Learning/Haskell/hello-cabal 2022-08-05T20:53:30.569221Z | Info | Starting (haskell-language-server) LSP server... GhcideArguments {argsCommand = LSP, argsCwd = Nothing, argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsDebugOn = True, argsLogFile = Nothing, argsThreads = 0, argsProjectGhcVersion = False} PluginIds: [ pragmas , floskell , fourmolu , tactics , ormolu , stylish-haskell , rename , retrie , brittany , callHierarchy , class , haddockComments , eval , importLens , qualifyImportedNames , refineImports , moduleName , hlint , splice , alternateNumberFormat , selectionRange , changeTypeSignature , ghcide-hover-and-symbols , ghcide-code-actions-imports-exports , ghcide-code-actions-type-signatures , ghcide-code-actions-bindings , ghcide-code-actions-fill-holes , ghcide-completions , ghcide-type-lenses , ghcide-core , LSPRecorderCallback ] 2022-08-05T20:53:30.570735Z | Info | Logging heap statistics every 60.00s 2022-08-05T20:53:30.607063Z | Info | Staring LSP server... If you are seeing this in a terminal, you probably should have run WITHOUT the --lsp option! 2022-08-05T20:53:30.608226Z | Info | Started LSP server in 0.00s 2022-08-05T20:53:31.020447Z | Debug | Setting initial dynflags... 2022-08-05T20:53:31.021881Z | Debug | shouldRunSubset: True 2022-08-05T20:53:31.021966Z | Debug | Initializing exports map from hiedb 2022-08-05T20:53:31.022186Z | Info | Registering IDE configuration: IdeConfiguration {workspaceFolders = fromList [NormalizedUri (-2163893293831948536) "file:///Users/stefanscheidt/Code/Learning/Haskell/hello-cabal"], clientSettings = hashed Nothing} 2022-08-05T20:53:31.024143Z | Debug | Done initializing exports map from hiedb. Size: 0 2022-08-05T20:53:31.025305Z | Debug | Shake session initialized 2022-08-05T20:53:31.025448Z | Debug | Configuration changed: Object (fromList [("haskell",Object (fromList [("checkProject",Bool True),("formattingProvider",String "ormolu"),("ghcupExecutablePath",String ""),("indentationRules",Object (fromList [("enabled",Bool True)])),("logFile",String ""),("manageHLS",String "GHCup"),("maxCompletions",Number 40.0),("metadataURL",String ""),("openDocumentationInHackage",Bool True),("openSourceInHackage",Bool True),("plugin",Object (fromList [("alternateNumberFormat",Object (fromList [("globalOn",Bool True)])),("callHierarchy",Object (fromList [("globalOn",Bool True)])),("changeTypeSignature",Object (fromList [("globalOn",Bool True)])),("class",Object (fromList [("globalOn",Bool True)])),("eval",Object (fromList [("config",Object (fromList [("diff",Bool True),("exception",Bool False)])),("globalOn",Bool True)])),("ghcide-code-actions-bindings",Object (fromList [("globalOn",Bool True)])),("ghcide-code-actions-fill-holes",Object (fromList [("globalOn",Bool True)])),("ghcide-code-actions-imports-exports",Object (fromList [("globalOn",Bool True)])),("ghcide-code-actions-type-signatures",Object (fromList [("globalOn",Bool True)])),("ghcide-completions",Object (fromList [("config",Object (fromList [("autoExtendOn",Bool True),("snippetsOn",Bool True)])),("globalOn",Bool True)])),("ghcide-hover-and-symbols",Object (fromList [("hoverOn",Bool True),("symbolsOn",Bool True)])),("ghcide-type-lenses",Object (fromList [("config",Object (fromList [("mode",String "always")])),("globalOn",Bool True)])),("haddockComments",Object (fromList [("globalOn",Bool True)])),("hlint",Object (fromList [("codeActionsOn",Bool True),("config",Object (fromList [("flags",Array [])])),("diagnosticsOn",Bool True)])),("importLens",Object (fromList [("codeActionsOn",Bool True),("codeLensOn",Bool True)])),("moduleName",Object (fromList [("globalOn",Bool True)])),("pragmas",Object (fromList [("codeActionsOn",Bool True),("completionOn",Bool True)])),("qualifyImportedNames",Object (fromList [("globalOn",Bool True)])),("refineImports",Object (fromList [("codeActionsOn",Bool True),("codeLensOn",Bool True)])),("rename",Object (fromList [("config",Object (fromList [("crossModule",Bool False)])),("globalOn",Bool True)])),("retrie",Object (fromList [("globalOn",Bool True)])),("splice",Object (fromList [("globalOn",Bool True)])),("tactics",Object (fromList [("codeActionsOn",Bool True),("codeLensOn",Bool True),("config",Object (fromList [("auto_gas",Number 4.0),("hole_severity",Null),("max_use_ctor_actions",Number 5.0),("proofstate_styling",Bool True),("timeout_duration",Number 2.0)])),("hoverOn",Bool True)]))])),("promptBeforeDownloads",String "true"),("releasesDownloadStoragePath",String ""),("releasesURL",String ""),("serverEnvironment",Object (fromList [("PATH",String "/opt/homebrew/opt/llvm@12/bin:$PATH")])),("serverExecutablePath",String ""),("serverExtraArgs",String ""),("toolchain",Object (fromList [])),("trace",Object (fromList [("client",String "debug"),("server",String "messages")])),("upgradeGHCup",Bool True)]))]) 2022-08-05T20:53:31.025745Z | Debug | Finished build session AsyncCancelled 2022-08-05T20:53:31.025762Z | Debug | Restarting build session due to config change Action Queue: [] Keys: [GetClientSettings; ] Aborting previous build session took 0.00s [Info - 10:53:31 PM] haskell-language-server version: 1.7.0.0 (GHC: 8.10.7) (PATH: /Users/stefanscheidt/.ghcup/hls/1.7.0.0/lib/haskell-language-server-1.7.0.0/bin/haskell-language-server-8.10.7) 2022-08-05T20:53:31.026009Z | Debug | Set files of interest to: fromList [(NormalizedFilePath "/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/app/Main.hs",Modified {firstOpen = True})] 2022-08-05T20:53:31.026612Z | Debug | Finished build session AsyncCancelled 2022-08-05T20:53:31.026615Z | Debug | Restarting build session due to /Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/app/Main.hs (modified) Action Queue: [] Keys: [ GetModificationTime; /Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/app/Main.hs , IsFileOfInterest; /Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/app/Main.hs , GetClientSettings; ] Aborting previous build session took 0.00s 2022-08-05T20:53:31.026719Z | Debug | Opened text document: file:///Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/app/Main.hs 2022-08-05T20:53:31.027036Z | Debug | Getting hlint ideas for NormalizedFilePath "/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/app/Main.hs" 2022-08-05T20:53:31.027364Z | Info | Cradle path: app/Main.hs 2022-08-05T20:53:31.027444Z | Warning | No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for app/Main.hs. Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie). You should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error. [Info - 10:53:31 PM] Directory: /Users/stefanscheidt/Code/Learning/Haskell/hello-cabal [Info - 10:53:31 PM] Starting (haskell-language-server) LSP server... GhcideArguments {argsCommand = LSP, argsCwd = Nothing, argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsDebugOn = True, argsLogFile = Nothing, argsThreads = 0, argsProjectGhcVersion = False} PluginIds: [ pragmas , floskell , fourmolu , tactics , ormolu , stylish-haskell , rename , retrie , brittany , callHierarchy , class , haddockComments , eval , importLens , qualifyImportedNames , refineImports , moduleName , hlint , splice , alternateNumberFormat , selectionRange , changeTypeSignature , ghcide-hover-and-symbols , ghcide-code-actions-imports-exports , ghcide-code-actions-type-signatures , ghcide-code-actions-bindings , ghcide-code-actions-fill-holes , ghcide-completions , ghcide-type-lenses , ghcide-core , LSPRecorderCallback ] [Info - 10:53:31 PM] Logging heap statistics every 60.00s [Info - 10:53:31 PM] Staring LSP server... If you are seeing this in a terminal, you probably should have run WITHOUT the --lsp option! [Info - 10:53:31 PM] Started LSP server in 0.00s Setting initial dynflags... shouldRunSubset: True Initializing exports map from hiedb [Info - 10:53:31 PM] Registering IDE configuration: IdeConfiguration {workspaceFolders = fromList [NormalizedUri (-2163893293831948536) "file:///Users/stefanscheidt/Code/Learning/Haskell/hello-cabal"], clientSettings = hashed Nothing} Done initializing exports map from hiedb. Size: 0 Shake session initialized Configuration changed: Object (fromList [("haskell",Object (fromList [("checkProject",Bool True),("formattingProvider",String "ormolu"),("ghcupExecutablePath",String ""),("indentationRules",Object (fromList [("enabled",Bool True)])),("logFile",String ""),("manageHLS",String "GHCup"),("maxCompletions",Number 40.0),("metadataURL",String ""),("openDocumentationInHackage",Bool True),("openSourceInHackage",Bool True),("plugin",Object (fromList [("alternateNumberFormat",Object (fromList [("globalOn",Bool True)])),("callHierarchy",Object (fromList [("globalOn",Bool True)])),("changeTypeSignature",Object (fromList [("globalOn",Bool True)])),("class",Object (fromList [("globalOn",Bool True)])),("eval",Object (fromList [("config",Object (fromList [("diff",Bool True),("exception",Bool False)])),("globalOn",Bool True)])),("ghcide-code-actions-bindings",Object (fromList [("globalOn",Bool True)])),("ghcide-code-actions-fill-holes",Object (fromList [("globalOn",Bool True)])),("ghcide-code-actions-imports-exports",Object (fromList [("globalOn",Bool True)])),("ghcide-code-actions-type-signatures",Object (fromList [("globalOn",Bool True)])),("ghcide-completions",Object (fromList [("config",Object (fromList [("autoExtendOn",Bool True),("snippetsOn",Bool True)])),("globalOn",Bool True)])),("ghcide-hover-and-symbols",Object (fromList [("hoverOn",Bool True),("symbolsOn",Bool True)])),("ghcide-type-lenses",Object (fromList [("config",Object (fromList [("mode",String "always")])),("globalOn",Bool True)])),("haddockComments",Object (fromList [("globalOn",Bool True)])),("hlint",Object (fromList [("codeActionsOn",Bool True),("config",Object (fromList [("flags",Array [])])),("diagnosticsOn",Bool True)])),("importLens",Object (fromList [("codeActionsOn",Bool True),("codeLensOn",Bool True)])),("moduleName",Object (fromList [("globalOn",Bool True)])),("pragmas",Object (fromList [("codeActionsOn",Bool True),("completionOn",Bool True)])),("qualifyImportedNames",Object (fromList [("globalOn",Bool True)])),("refineImports",Object (fromList [("codeActionsOn",Bool True),("codeLensOn",Bool True)])),("rename",Object (fromList [("config",Object (fromList [("crossModule",Bool False)])),("globalOn",Bool True)])),("retrie",Object (fromList [("globalOn",Bool True)])),("splice",Object (fromList [("globalOn",Bool True)])),("tactics",Object (fromList [("codeActionsOn",Bool True),("codeLensOn",Bool True),("config",Object (fromList [("auto_gas",Number 4.0),("hole_severity",Null),("max_use_ctor_actions",Number 5.0),("proofstate_styling",Bool True),("timeout_duration",Number 2.0)])),("hoverOn",Bool True)]))])),("promptBeforeDownloads",String "true"),("releasesDownloadStoragePath",String ""),("releasesURL",String ""),("serverEnvironment",Object (fromList [("PATH",String "/opt/homebrew/opt/llvm@12/bin:$PATH")])),("serverExecutablePath",String ""),("serverExtraArgs",String ""),("toolchain",Object (fromList [])),("trace",Object (fromList [("client",String "debug"),("server",String "messages")])),("upgradeGHCup",Bool True)]))]) Finished build session AsyncCancelled Restarting build session due to config change Action Queue: [] Keys: [GetClientSettings; ] Aborting previous build session took 0.00s Set files of interest to: fromList [(NormalizedFilePath "/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/app/Main.hs",Modified {firstOpen = True})] Finished build session AsyncCancelled Restarting build session due to /Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/app/Main.hs (modified) Action Queue: [] Keys: [ GetModificationTime; /Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/app/Main.hs , IsFileOfInterest; /Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/app/Main.hs , GetClientSettings; ] Aborting previous build session took 0.00s Opened text document: file:///Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/app/Main.hs Getting hlint ideas for NormalizedFilePath "/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/app/Main.hs" [Info - 10:53:31 PM] Cradle path: app/Main.hs [Warn - 10:53:31 PM] No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for app/Main.hs. Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie). You should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error. 2022-08-05T20:53:31.029854Z | Debug | Cradle: Cradle {cradleRootDir = "/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal", cradleOptsProg = CradleAction: Cabal} Cradle: Cradle {cradleRootDir = "/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal", cradleOptsProg = CradleAction: Cabal} 2022-08-05 22:53:31.405271 [ThreadId 100] INFO hie-bios: Build profile: -w ghc-8.10.7 -O1 2022-08-05 22:53:31.407397 [ThreadId 100] INFO hie-bios: In order, the following will be built (use -v for more details): 2022-08-05 22:53:31.407434 [ThreadId 100] INFO hie-bios: - hello-cabal-0.1.0.0 (lib) (first run) 2022-08-05 22:53:31.407462 [ThreadId 100] INFO hie-bios: - hello-cabal-0.1.0.0 (exe:hello-cabal) (first run) 2022-08-05 22:53:31.448348 [ThreadId 100] INFO hie-bios: Preprocessing library for hello-cabal-0.1.0.0.. 2022-08-05 22:53:31.44847 [ThreadId 100] INFO hie-bios: Building library for hello-cabal-0.1.0.0.. 2022-08-05 22:53:31.506358 [ThreadId 100] INFO hie-bios: [1 of 1] Compiling MyLib ( src/MyLib.hs, /Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build/MyLib.o, /Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build/MyLib.dyn_o ) 2022-08-05 22:53:31.528952 [ThreadId 98] INFO hie-bios: 2022-08-05 22:53:31.529034 [ThreadId 98] INFO hie-bios: : error: 2022-08-05 22:53:31.529056 [ThreadId 98] INFO hie-bios: Warning: Couldn't figure out LLVM version! 2022-08-05 22:53:31.529074 [ThreadId 98] INFO hie-bios: Make sure you have installed LLVM between [9 and 13) 2022-08-05 22:53:31.533603 [ThreadId 98] INFO hie-bios: ghc: could not execute: opt 2022-08-05 22:53:31.561435 [ThreadId 98] INFO hie-bios: cabal: Failed to build hello-cabal-0.1.0.0 (which is required by 2022-08-05 22:53:31.561495 [ThreadId 98] INFO hie-bios: exe:hello-cabal from hello-cabal-0.1.0.0). 2022-08-05 22:53:31.561521 [ThreadId 98] INFO hie-bios: 2022-08-05T20:53:31.571935Z | Debug | Session loading result: Left [CradleError {cradleErrorDependencies = ["hello-cabal.cabal","cabal.project","cabal.project.local"], cradleErrorExitCode = ExitFailure 1, cradleErrorStderr = ["Failed to parse result of calling cabal","Failed command: cabal --builddir=/Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c v2-repl --with-compiler /Users/stefanscheidt/.cache/hie-bios/wrapper-b54f81dea4c0e6d1626911c526bc4e36 --with-hc-pkg /Users/stefanscheidt/.cache/hie-bios/ghc-pkg-6a65c19ae905dbcea0cb8a9889f57773 hello-cabal:exe:hello-cabal","Build profile: -w ghc-8.10.7 -O1\nIn order, the following will be built (use -v for more details):\n - hello-cabal-0.1.0.0 (lib) (first run)\n - hello-cabal-0.1.0.0 (exe:hello-cabal) (first run)\nPreprocessing library for hello-cabal-0.1.0.0..\nBuilding library for hello-cabal-0.1.0.0..\n[1 of 1] Compiling MyLib ( src/MyLib.hs, /Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build/MyLib.o, /Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build/MyLib.dyn_o )\n","\n: error:\n Warning: Couldn't figure out LLVM version!\n Make sure you have installed LLVM between [9 and 13)\nghc: could not execute: opt\ncabal: Failed to build hello-cabal-0.1.0.0 (which is required by\nexe:hello-cabal from hello-cabal-0.1.0.0).\n\n","","Process Environment:","HIE_BIOS_GHC: /Users/stefanscheidt/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/ghc","HIE_BIOS_GHC_ARGS: -B/Users/stefanscheidt/.ghcup/ghc/8.10.7/lib/ghc-8.10.7"]}] Session loading result: Left [CradleError {cradleErrorDependencies = ["hello-cabal.cabal","cabal.project","cabal.project.local"], cradleErrorExitCode = ExitFailure 1, cradleErrorStderr = ["Failed to parse result of calling cabal","Failed command: cabal --builddir=/Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c v2-repl --with-compiler /Users/stefanscheidt/.cache/hie-bios/wrapper-b54f81dea4c0e6d1626911c526bc4e36 --with-hc-pkg /Users/stefanscheidt/.cache/hie-bios/ghc-pkg-6a65c19ae905dbcea0cb8a9889f57773 hello-cabal:exe:hello-cabal","Build profile: -w ghc-8.10.7 -O1\nIn order, the following will be built (use -v for more details):\n - hello-cabal-0.1.0.0 (lib) (first run)\n - hello-cabal-0.1.0.0 (exe:hello-cabal) (first run)\nPreprocessing library for hello-cabal-0.1.0.0..\nBuilding library for hello-cabal-0.1.0.0..\n[1 of 1] Compiling MyLib ( src/MyLib.hs, /Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build/MyLib.o, /Users/stefanscheidt/.cache/hie-bios/dist-hello-cabal-b49d5427e1331885a092143adbfd1f2c/build/aarch64-osx/ghc-8.10.7/hello-cabal-0.1.0.0/build/MyLib.dyn_o )\n","\n: error:\n Warning: Couldn't figure out LLVM version!\n Make sure you have installed LLVM between [9 and 13)\nghc: could not execute: opt\ncabal: Failed to build hello-cabal-0.1.0.0 (which is required by\nexe:hello-cabal from hello-cabal-0.1.0.0).\n\n","","Process Environment:","HIE_BIOS_GHC: /Users/stefanscheidt/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/ghc","HIE_BIOS_GHC_ARGS: -B/Users/stefanscheidt/.ghcup/ghc/8.10.7/lib/ghc-8.10.7"]}] 2022-08-05T20:53:31.572831Z | Debug | LOOKUP UP PERSISTENT FOR: GetParsedModule 2022-08-05T20:53:31.572878Z | Debug | Finished: Outline Took: 0.53s 2022-08-05T20:53:31.573078Z | Debug | LOOKUP UP PERSISTENT FOR: GetModSummaryWithoutTimestamps 2022-08-05T20:53:31.573139Z | Debug | LOOKUP UP PERSISTENT FOR: GhcSessionDeps LOOKUP UP PERSISTENT FOR: GetParsedModule Finished: Outline Took: 0.53s LOOKUP UP PERSISTENT FOR: GetModSummaryWithoutTimestamps LOOKUP UP PERSISTENT FOR: GhcSessionDeps 2022-08-05T20:53:32.349202Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:127:15 "fp" "/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/app/Main.hs" 2022-08-05T20:53:32.349308Z | Debug | Finished: codeLens.GhcSession Took: 0.00s src/Ide/Plugin/Eval/CodeLens.hs:127:15 "fp" "/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/app/Main.hs" 2022-08-05T20:53:32.349596Z | Debug | LOOKUP UP PERSISTENT FOR: GetParsedModuleWithComments Finished: codeLens.GhcSession Took: 0.00s 2022-08-05T20:53:32.349636Z | Debug | Finished: ModuleName.ghcSession Took: 0.00s LOOKUP UP PERSISTENT FOR: GetParsedModuleWithComments 2022-08-05T20:53:32.349648Z | Debug | Finished: Wingman.getIdeDynflags.GetModSummaryWithoutTimestamps Took: 0.00s Finished: ModuleName.ghcSession Took: 0.00s 2022-08-05T20:53:32.349672Z | Debug | LOOKUP UP PERSISTENT FOR: MinimalImports 2022-08-05T20:53:32.349687Z | Debug | Finished: codeLens.TypeCheck Took: 0.00s Finished: Wingman.getIdeDynflags.GetModSummaryWithoutTimestamps Took: 0.00s 2022-08-05T20:53:32.349714Z | Debug | LOOKUP UP PERSISTENT FOR: GetEvalComments LOOKUP UP PERSISTENT FOR: MinimalImports 2022-08-05T20:53:32.349905Z | Debug | Finished: codeLens.GetBindings Took: 0.00s Finished: codeLens.TypeCheck Took: 0.00s 2022-08-05T20:53:32.349951Z | Debug | Finished: Took: 0.00s 2022-08-05T20:53:32.349991Z | Debug | LOOKUP UP PERSISTENT FOR: RefineImports LOOKUP UP PERSISTENT FOR: GetEvalComments 2022-08-05T20:53:32.349993Z | Debug | Finished: codeLens.GetGlobalBindingTypeSigs Took: 0.00s Finished: codeLens.GetBindings Took: 0.00s Finished: Took: 0.00s LOOKUP UP PERSISTENT FOR: RefineImports Finished: codeLens.GetGlobalBindingTypeSigs Took: 0.00s 2022-08-05T20:53:32.350086Z | Debug | Finished: eval.GetParsedModuleWithComments Took: 0.00s 2022-08-05T20:53:32.350288Z | Debug | Finished: RefineImports Took: 0.00s Finished: eval.GetParsedModuleWithComments Took: 0.00s Finished: RefineImports Took: 0.00s 2022-08-05T20:53:44.458989Z | Debug | src/Ide/Plugin/Eval/CodeLens.hs:127:15 "fp" "/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/app/Main.hs" 2022-08-05T20:53:44.459234Z | Debug | Finished: RefineImports Took: 0.00s src/Ide/Plugin/Eval/CodeLens.hs:127:15 "fp" "/Users/stefanscheidt/Code/Learning/Haskell/hello-cabal/app/Main.hs" 2022-08-05T20:53:44.459238Z | Debug | Finished: Wingman.getIdeDynflags.GetModSummaryWithoutTimestamps Took: 0.00s 2022-08-05T20:53:44.459276Z | Debug | Finished: Took: 0.00s 2022-08-05T20:53:44.459295Z | Debug | Finished: codeLens.GhcSession Took: 0.00s 2022-08-05T20:53:44.459325Z | Debug | Finished: codeLens.TypeCheck Took: 0.00s 2022-08-05T20:53:44.459348Z | Debug | Finished: codeLens.GetBindings Took: 0.00s Finished: RefineImports Took: 0.00s 2022-08-05T20:53:44.459352Z | Debug | Finished: ModuleName.ghcSession Took: 0.00s 2022-08-05T20:53:44.459365Z | Debug | Finished: eval.GetParsedModuleWithComments Took: 0.00s Finished: Wingman.getIdeDynflags.GetModSummaryWithoutTimestamps Took: 0.00s 2022-08-05T20:53:44.459403Z | Debug | Finished: codeLens.GetGlobalBindingTypeSigs Took: 0.00s Finished: Took: 0.00s Finished: codeLens.GhcSession Took: 0.00s Finished: codeLens.TypeCheck Took: 0.00s Finished: codeLens.GetBindings Took: 0.00s Finished: ModuleName.ghcSession Took: 0.00s Finished: eval.GetParsedModuleWithComments Took: 0.00s Finished: codeLens.GetGlobalBindingTypeSigs Took: 0.00s 2022-08-05T20:54:30.572036Z | Info | Live bytes: 0.00MB Heap size: 0.00MB [Info - 10:54:30 PM] Live bytes: 0.00MB Heap size: 0.00MB 2022-08-05T20:55:30.573875Z | Info | Live bytes: 0.00MB Heap size: 0.00MB [Info - 10:55:30 PM] Live bytes: 0.00MB Heap size: 0.00MB 2022-08-05T20:56:30.575122Z | Info | Live bytes: 0.00MB Heap size: 0.00MB [Info - 10:56:30 PM] Live bytes: 0.00MB Heap size: 0.00MB 2022-08-05T20:57:30.577202Z | Info | Live bytes: 0.00MB Heap size: 0.00MB [Info - 10:57:30 PM] Live bytes: 0.00MB Heap size: 0.00MB 2022-08-05T20:58:30.579089Z | Info | Live bytes: 0.00MB Heap size: 0.00MB [Info - 10:58:30 PM] Live bytes: 0.00MB Heap size: 0.00MB 2022-08-05T20:59:30.580896Z | Info | Live bytes: 0.00MB Heap size: 0.00MB [Info - 10:59:30 PM] Live bytes: 0.00MB Heap size: 0.00MB 2022-08-05T21:00:30.582956Z | Info | Live bytes: 0.00MB Heap size: 0.00MB [Info - 11:00:30 PM] Live bytes: 0.00MB Heap size: 0.00MB 2022-08-05T21:01:30.585406Z | Info | Live bytes: 0.00MB Heap size: 0.00MB [Info - 11:01:30 PM] Live bytes: 0.00MB Heap size: 0.00MB 2022-08-05T21:02:30.587069Z | Info | Live bytes: 0.00MB Heap size: 0.00MB [Info - 11:02:30 PM] Live bytes: 0.00MB Heap size: 0.00MB ```
stefanscheidt commented 2 years ago

The issues does not occur when using GHC 9.2.2 instead of GHC 8.10.7.

fendor commented 2 years ago

Hi! Thank you for the bug report.

Is this specific to the haskell extension? E.g. can build your project with cabal and ghc-8.10.7 in the terminal?

Very curious, the PATH seems to be correct, and the cli invocation succeeds...

Ok, I am theory crafting right now, maybe the location of opt is determined from the location of GHC (which is something we override) passed to cabal for 8.10.7? I can try to reproduce, locally.

stefanscheidt commented 2 years ago

First: Thanks for the super quick response! Second: Just to make sure: It works on the command line when adding /opt/homebrew/opt/llvm@12/bin to the PATH, which I did in .zshrc. I opened the project in VS Code via code .. As a maybe irrelevant info: on Intel hardware, homebrew stuff resides in /usr/local, if this makes any difference.

When using GHC 9.2.2, everything (cabal build and cabal run) works fine (as far as I can see) on the command line and in VS Code even without adding /opt/homebrew/opt/llvm@12/bin to the PATH.

FYI: I'm a total beginner in Haskell and the whole tooling stuff (ghcup, ghc, ghci, hls, cabal, stack) and my experience is only based on GHCUp First steps, thus I may not be able to provide deeper info. I was using GHC 8.10.7 instead of 9.2.2 as it was listed as recommended by ghcup.

fendor commented 2 years ago

Your information is quite thorough, thank you very much!

Ah, interesting, the PATH variable shown in the vscode extension output looks like this:

/Users/stefanscheidt/.ghcup/tmp/ghcup-ghc-8.10.7_cabal-3.6.2.0_hls-1.7.0.0_stack-2.7.5
/opt/homebrew/opt/llvm@12/bin
/Users/stefanscheidt/.local/bin
/Users/stefanscheidt/local/bin
/usr/local/bin
/usr/local/sbin
/Users/stefanscheidt/.sdkman/candidates/scalacli/current/bin
/Users/stefanscheidt/.sdkman/candidates/sbt/current/bin
/Users/stefanscheidt/.sdkman/candidates/maven/current/bin
/Users/stefanscheidt/.sdkman/candidates/kotlin/current/bin
/Users/stefanscheidt/.sdkman/candidates/java/current/bin
/Users/stefanscheidt/.sdkman/candidates/gradle/current/bin
/Users/stefanscheidt/.pyenv/shims
/Users/stefanscheidt/.pyenv/bin
/Users/stefanscheidt/.cabal/bin
/Users/stefanscheidt/.ghcup/bin
/opt/homebrew/opt/llvm@12/bin
/opt/homebrew/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/bin
/opt/homebrew/bin
/opt/homebrew/sbin
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/Users/stefanscheidt/.cargo/bin

so the PATH /opt/llvm@12/bin seems to be missing.

Maybe you can fix it by adding that path to your PATH variable? Like here: https://github.com/haskell/vscode-haskell#stackcabalghc-can-not-be-found

{
  "haskell.serverEnvironment": {
    "PATH": "/opt/llvm@12/bin:$PATH"
  }
}

You can modify the serverEnvironment by opening settings > Haskell > serverEnvironment.

stefanscheidt commented 2 years ago

Hi. Sorry, but there is no path /opt/llvm@12/bin. llvm ver. 12 is installed to /opt/homebrew/opt/llvm@12, and /opt/homebrew/opt/llvm@12/bin is on the path.

By the way I already tried to add /opt/homebrew/opt/llvm@12 to the server environment path explicitly with no success.

fendor commented 2 years ago

Ah, I just misread the path you showed, because it line-breaks on my screen in an unfortunate way. Ok, then you will have to wait for me to reproduce it, no idea what is going wrong :)

stefanscheidt commented 2 years ago

OK. Thank you so much for your effort!

curiosdevcookie commented 2 years ago

PATH="/opt/homebrew/Cellar/llvm@12/12.0.1_1/bin:$PATH"

… did it for me :-D

sprinklight commented 1 year ago

Hello, I met this question too, and I solved it. For some reasons I switch to ghc 8.10.x and I have checked that I installed llvm@12 by command brew list, and I export PATH to the .zshrc , but ghc still throw error. LINK Eventually, I found this discussion did work, adding -fllvm to ghc-option succeed.