haskell / haskell-language-server

Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine.
Apache License 2.0
2.66k stars 355 forks source link

Issues upgrading to recent hls commit and ghc 9.2.5 for company codebase #3345

Closed codygman closed 1 year ago

codygman commented 1 year ago

This is going to be a tracking issue for some things blocking my company from upgrading to ghc 9.2.5 because HLS at 85f788135175a007d3db4ac911c4115b30ab9d87 isn't working with it.

First I'll list out the issues and then I'll replace the text with a link to existing issues or create new ones where appropriate.

Note replicate my experience with this vscode devcontainer by cloning this repo and see issues I've managed to reproduce from the company codebase in a minimal environment with few moving pieces.

seem to prevent normal usage

HLS binary does not support template Haskell

This issue is well-known and has a well-known fixe... the problem is in our docker container we compile hls with ghcup as follows:

ghcup --verbose compile hls --cabal-update --ghc "$GHC_VERSION" --git-describe-version --git-ref "$HLS_VERSION" -- --flags=-dynamic --ghc-options='+RTS -M2G -RTS' --index-state='2022-11-11T21:44:45Z'; \

To my understanding, compiling with the above should avoid this template haskell support issue.

aside: The RTS options were necessary for our CI to not run out of memory.

error:

This HLS binary does not support Template Haskell. Follow the [instructions](https://haskell-language-server.readthedocs.io/en/latest/troubleshooting.html#static-binaries) to build an HLS binary with support for Template Haskell.

Cannot derive instance via ‘"Evoke"’ (see evoke library)

Full error:

• Cannot derive instance via ‘"Evoke"’
    Class ‘ToJSON’ expects an argument of kind ‘*’,
    but ‘"Evoke"’ has kind ‘ghc-prim-0.8.0:GHC.Types.Symbol’
• In the data declaration for ‘Person’typecheck

For code from reproduction repo here

This one is strange because:

explicit-fixity: InternalError: ExplicitFixity: Unable to get fixity

This one is new to me and I have no idea why I'd get this error or what could be causing it.

seem to be non-critical

Here is a full log most of the above issues were derived from

Cloning this repo and opening the devcontainer in vscode should reproduce this log for you (roughly):

full log ``` 2022-11-18 18:13:06.1290000 [client] INFO Finding haskell-language-server 2022-11-18 18:13:06.1400000 [client] INFO Searching for server executables haskell-language-server-wrapper,haskell-language-server in $PATH 2022-11-18 18:13:06.1400000 [client] INFO $PATH environment variable: /home/haskell/.vscode-server/bin/74b1f979648cc44d385a2286793c226e611f59e7/bin/remote-cli:/home/haskell/.local/bin:/home/haskell/.local/bin:/home/haskell/.cabal/bin:/home/haskell/.ghcup/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 2022-11-18 18:13:06.1450000 [client] INFO Found server executable in $PATH: haskell-language-server-wrapper 2022-11-18 18:13:06.1520000 [client] INFO Activating the language server in working dir: /workspaces/smurf (the workspace folder) 2022-11-18 18:13:06.1520000 [client] INFO run command: haskell-language-server-wrapper --lsp 2022-11-18 18:13:06.1520000 [client] INFO debug command: haskell-language-server-wrapper --lsp 2022-11-18 18:13:06.1520000 [client] INFO server environment variables: 2022-11-18 18:13:06.1560000 [client] INFO Starting language server Found "/workspaces/smurf/hie.yaml" for "/workspaces/smurf/a" Run entered for haskell-language-server-wrapper(haskell-language-server-wrapper) Version 1.8.0.0 aarch64 ghc-9.2.5 Current directory: /workspaces/smurf Operating system: linux Arguments: ["--lsp"] Cradle directory: /workspaces/smurf Cradle type: Cabal Tool versions found on the $PATH cabal: 3.8.1.0 stack: 2.9.1 ghc: 9.2.5 Consulting the cradle to get project GHC version... Project GHC version: 9.2.5 haskell-language-server exe candidates: ["haskell-language-server-9.2.5","haskell-language-server"] Launching haskell-language-server exe at:/home/haskell/.ghcup/bin/haskell-language-server-9.2.5 2022-11-18T18:13:07.884335Z | Info | No log file specified; using stderr. 2022-11-18T18:13:07.885188Z | Info | haskell-language-server version: 1.8.0.0 (GHC: 9.2.5) (PATH: /home/haskell/.ghcup/bin/haskell-language-server-9.2.5~1.8.0.0-75-g85f78813) 2022-11-18T18:13:07.885815Z | Info | Directory: /workspaces/smurf 2022-11-18T18:13:07.886028Z | Info | Starting (haskell-language-server) LSP server... GhcideArguments {argsCommand = LSP, argsCwd = Nothing, argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsDebugOn = False, argsLogFile = Nothing, argsThreads = 0, argsProjectGhcVersion = False} PluginIds: [ pragmas , LSPRecorderCallback , rename , ghcide-completions , class , refineImports , splice , changeTypeSignature , qualifyImportedNames , alternateNumberFormat , hlint , explicit-fields , ghcide-code-actions-fill-holes , floskell , ghcide-extend-import-action , codeRange , importLens , retrie , ghcide-type-lenses , ghcide-code-actions-imports-exports , ghcide-hover-and-symbols , eval , gadt , fourmolu , callHierarchy , stylish-haskell , ghcide-code-actions-type-signatures , ghcide-code-actions-bindings , moduleName , ormolu , ghcide-core , explicit-fixity ] 2022-11-18T18:13:07.889500Z | Info | Logging heap statistics every 60.00s 2022-11-18T18:13:07.893945Z | Info | Starting LSP server... If you are seeing this in a terminal, you probably should have run WITHOUT the --lsp option! PluginIds: [ pragmas , LSPRecorderCallback , rename , ghcide-completions , class , refineImports , splice , changeTypeSignature , qualifyImportedNames , alternateNumberFormat , hlint , explicit-fields , ghcide-code-actions-fill-holes , floskell , ghcide-extend-import-action , codeRange , importLens , retrie , ghcide-type-lenses , ghcide-code-actions-imports-exports , ghcide-hover-and-symbols , eval , gadt , fourmolu , callHierarchy , stylish-haskell , ghcide-code-actions-type-signatures , ghcide-code-actions-bindings , moduleName , ormolu , ghcide-core , explicit-fixity ] 2022-11-18T18:13:07.894398Z | Info | Starting server 2022-11-18T18:13:07.898278Z | Info | Started LSP server in 0.00s 2022-11-18T18:13:08.398557Z | Info | Registering IDE configuration: IdeConfiguration {workspaceFolders = fromList [NormalizedUri 8557734226357445104 "file:///workspaces/smurf"], clientSettings = hashed Nothing} [Info - 6:13:08 PM] haskell-language-server version: 1.8.0.0 (GHC: 9.2.5) (PATH: /home/haskell/.ghcup/bin/haskell-language-server-9.2.5~1.8.0.0-75-g85f78813) [Info - 6:13:08 PM] Directory: /workspaces/smurf [Info - 6:13:08 PM] Starting (haskell-language-server) LSP server... GhcideArguments {argsCommand = LSP, argsCwd = Nothing, argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsDebugOn = False, argsLogFile = Nothing, argsThreads = 0, argsProjectGhcVersion = False} PluginIds: [ pragmas , LSPRecorderCallback , rename , ghcide-completions , class , refineImports , splice , changeTypeSignature , qualifyImportedNames , alternateNumberFormat , hlint , explicit-fields , ghcide-code-actions-fill-holes , floskell , ghcide-extend-import-action , codeRange , importLens , retrie , ghcide-type-lenses , ghcide-code-actions-imports-exports , ghcide-hover-and-symbols , eval , gadt , fourmolu , callHierarchy , stylish-haskell , ghcide-code-actions-type-signatures , ghcide-code-actions-bindings , moduleName , ormolu , ghcide-core , explicit-fixity ] [Info - 6:13:08 PM] Logging heap statistics every 60.00s [Info - 6:13:08 PM] Starting LSP server... If you are seeing this in a terminal, you probably should have run WITHOUT the --lsp option! PluginIds: [ pragmas , LSPRecorderCallback , rename , ghcide-completions , class , refineImports , splice , changeTypeSignature , qualifyImportedNames , alternateNumberFormat , hlint , explicit-fields , ghcide-code-actions-fill-holes , floskell , ghcide-extend-import-action , codeRange , importLens , retrie , ghcide-type-lenses , ghcide-code-actions-imports-exports , ghcide-hover-and-symbols , eval , gadt , fourmolu , callHierarchy , stylish-haskell , ghcide-code-actions-type-signatures , ghcide-code-actions-bindings , moduleName , ormolu , ghcide-core , explicit-fixity ] [Info - 6:13:08 PM] Starting server [Info - 6:13:08 PM] Started LSP server in 0.00s [Info - 6:13:08 PM] Registering IDE configuration: IdeConfiguration {workspaceFolders = fromList [NormalizedUri 8557734226357445104 "file:///workspaces/smurf"], clientSettings = hashed Nothing} 2022-11-18T18:13:08.414808Z | Info | Cradle path: app/Main.hs [Info - 6:13:08 PM] Cradle path: app/Main.hs 2022-11-18T18:13:09.440659Z | Info | Interface files cache directory: /home/haskell/.cache/ghcide/main-a5280b13b0de5ce4b9140f306eeb3c64a5f1826e 2022-11-18T18:13:09.441042Z | Info | Making new HscEnv. In-place unit ids: [main] [Info - 6:13:09 PM] Interface files cache directory: /home/haskell/.cache/ghcide/main-a5280b13b0de5ce4b9140f306eeb3c64a5f1826e [Info - 6:13:09 PM] Making new HscEnv. In-place unit ids: [main] 2022-11-18T18:13:10.701445Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:13:10.701484Z | Warning | codeRange: bad dependency: GetCodeRange 2022-11-18T18:13:10.701611Z | Warning | retrie: InternalError: typecheck [Warn - 6:13:10 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:13:10 PM] codeRange: bad dependency: GetCodeRange [Warn - 6:13:10 PM] retrie: InternalError: typecheck 2022-11-18T18:13:10.771876Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:13:10 PM] class: InternalError: Unable to typecheck 2022-11-18T18:13:10.973200Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:13:10.973408Z | Warning | retrie: InternalError: typecheck [Warn - 6:13:10 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:13:10 PM] retrie: InternalError: typecheck 2022-11-18T18:13:26.146126Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:13:26.146302Z | Warning | retrie: InternalError: typecheck [Warn - 6:13:26 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:13:26 PM] retrie: InternalError: typecheck 2022-11-18T18:13:28.014789Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:13:28 PM] class: InternalError: Unable to typecheck 2022-11-18T18:13:36.853234Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:13:36.853356Z | Warning | retrie: InternalError: typecheck [Warn - 6:13:36 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:13:36 PM] retrie: InternalError: typecheck 2022-11-18T18:13:37.080770Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:13:37.080981Z | Warning | retrie: InternalError: typecheck [Warn - 6:13:37 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:13:37 PM] retrie: InternalError: typecheck 2022-11-18T18:13:37.933943Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:13:37 PM] class: InternalError: Unable to typecheck 2022-11-18T18:13:38.906681Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:13:38 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:13:40.191747Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:13:40.191963Z | Warning | retrie: InternalError: typecheck [Warn - 6:13:40 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:13:40 PM] retrie: InternalError: typecheck 2022-11-18T18:13:41.816403Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:13:41 PM] class: InternalError: Unable to typecheck 2022-11-18T18:13:42.126545Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:13:42 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:13:42.470660Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:13:42.470968Z | Warning | retrie: InternalError: typecheck [Warn - 6:13:42 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:13:42 PM] retrie: InternalError: typecheck 2022-11-18T18:13:43.212518Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:13:43.212947Z | Warning | retrie: InternalError: typecheck [Warn - 6:13:43 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:13:43 PM] retrie: InternalError: typecheck 2022-11-18T18:13:43.380467Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:13:43 PM] class: InternalError: Unable to typecheck 2022-11-18T18:13:43.538791Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:13:43 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:13:53.989943Z | Info | Cradle path: app/Main.hs [Info - 6:13:53 PM] Cradle path: app/Main.hs 2022-11-18T18:13:59.127657Z | Info | Interface files cache directory: /home/haskell/.cache/ghcide/main-6ecb8e928f362b7a63296497b8341682da0e538f 2022-11-18T18:13:59.127888Z | Info | Making new HscEnv. In-place unit ids: [main] [Info - 6:13:59 PM] Interface files cache directory: /home/haskell/.cache/ghcide/main-6ecb8e928f362b7a63296497b8341682da0e538f [Info - 6:13:59 PM] Making new HscEnv. In-place unit ids: [main] 2022-11-18T18:13:59.389612Z | Info | Typechecking reverse dependencies for NormalizedFilePath "/workspaces/smurf/app/Main.hs": [ ] 2022-11-18T18:13:59.389718Z | Info | Typechecking reverse dependencies for NormalizedFilePath "/workspaces/smurf/app/Main.hs": [ ] [Info - 6:13:59 PM] Typechecking reverse dependencies for NormalizedFilePath "/workspaces/smurf/app/Main.hs": [ ] [Info - 6:13:59 PM] Typechecking reverse dependencies for NormalizedFilePath "/workspaces/smurf/app/Main.hs": [ ] 2022-11-18T18:13:59.468621Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:13:59.468621Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:13:59.468747Z | Warning | retrie: InternalError: typecheck [Warn - 6:13:59 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:13:59 PM] explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:13:59.468820Z | Warning | retrie: InternalError: typecheck [Warn - 6:13:59 PM] retrie: InternalError: typecheck [Warn - 6:13:59 PM] retrie: InternalError: typecheck 2022-11-18T18:13:59.469831Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:13:59.469888Z | Warning | retrie: InternalError: typecheck 2022-11-18T18:13:59.469931Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:13:59 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:13:59 PM] retrie: InternalError: typecheck [Warn - 6:13:59 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:13:59.471766Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:13:59 PM] class: InternalError: Unable to typecheck 2022-11-18T18:14:02.264851Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:14:02.264949Z | Warning | retrie: InternalError: typecheck [Warn - 6:14:02 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:14:02 PM] retrie: InternalError: typecheck 2022-11-18T18:14:07.339725Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:14:07.340349Z | Warning | retrie: InternalError: typecheck [Warn - 6:14:07 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:14:07 PM] retrie: InternalError: typecheck 2022-11-18T18:14:07.904586Z | Info | Live bytes: 167.07MB Heap size: 704.64MB [Info - 6:14:07 PM] Live bytes: 167.07MB Heap size: 704.64MB 2022-11-18T18:14:08.334811Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:14:08.334919Z | Warning | retrie: InternalError: typecheck [Warn - 6:14:08 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:14:08 PM] retrie: InternalError: typecheck 2022-11-18T18:14:09.074554Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:14:09 PM] class: InternalError: Unable to typecheck 2022-11-18T18:14:15.744179Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:14:15.744476Z | Warning | retrie: InternalError: typecheck [Warn - 6:14:15 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:14:15 PM] retrie: InternalError: typecheck 2022-11-18T18:14:20.654537Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:14:20.655032Z | Warning | retrie: InternalError: typecheck [Warn - 6:14:20 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:14:20 PM] retrie: InternalError: typecheck 2022-11-18T18:14:25.979552Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:14:25.980723Z | Warning | retrie: InternalError: typecheck [Warn - 6:14:25 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:14:25 PM] retrie: InternalError: typecheck 2022-11-18T18:14:52.438143Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:14:52.438581Z | Warning | retrie: InternalError: typecheck [Warn - 6:14:52 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:14:52 PM] retrie: InternalError: typecheck 2022-11-18T18:14:52.776805Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:14:52 PM] class: InternalError: Unable to typecheck 2022-11-18T18:14:53.316749Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:14:53 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:14:58.537412Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:14:58.537809Z | Warning | retrie: InternalError: typecheck [Warn - 6:14:58 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:14:58 PM] retrie: InternalError: typecheck 2022-11-18T18:14:58.881223Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:14:58.881684Z | Warning | retrie: InternalError: typecheck [Warn - 6:14:58 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:14:58 PM] retrie: InternalError: typecheck 2022-11-18T18:14:59.029392Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:14:59 PM] class: InternalError: Unable to typecheck 2022-11-18T18:15:00.513569Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:15:00 PM] class: InternalError: Unable to typecheck 2022-11-18T18:15:00.838794Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:15:00 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:15:01.417836Z | Warning | changeTypeSignature: InternalError: Could not get Parsed Module 2022-11-18T18:15:01.418297Z | Warning | alternateNumberFormat: InternalError: Could not Collect Literals 2022-11-18T18:15:01.418361Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:15:01.418417Z | Warning | retrie: InternalError: typecheck 2022-11-18T18:15:01.418476Z | Warning | gadt: InternalError: Unable to get ParsedModuleWithComments [Warn - 6:15:01 PM] changeTypeSignature: InternalError: Could not get Parsed Module [Warn - 6:15:01 PM] alternateNumberFormat: InternalError: Could not Collect Literals [Warn - 6:15:01 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:15:01 PM] retrie: InternalError: typecheck [Warn - 6:15:01 PM] gadt: InternalError: Unable to get ParsedModuleWithComments 2022-11-18T18:15:01.582326Z | Warning | ormolu: InvalidParams: ormoluCmd: OrmoluParsingFailed (RealSrcSpan SrcSpanOneLine "/workspaces/smurf/app/Main.hs" 33 1 7 Nothing) "parse error on input `import'" [Warn - 6:15:01 PM] ormolu: InvalidParams: ormoluCmd: OrmoluParsingFailed (RealSrcSpan SrcSpanOneLine "/workspaces/smurf/app/Main.hs" 33 1 7 Nothing) "parse error on input `import'" [Error - 6:15:01 PM] Request textDocument/formatting failed. Message: ormoluCmd: OrmoluParsingFailed (RealSrcSpan SrcSpanOneLine "/workspaces/smurf/app/Main.hs" 33 1 7 Nothing) "parse error on input `import'" Code: -32602 2022-11-18T18:15:01.693531Z | Info | Typechecking reverse dependencies for NormalizedFilePath "/workspaces/smurf/app/Main.hs": [ ] [Info - 6:15:01 PM] Typechecking reverse dependencies for NormalizedFilePath "/workspaces/smurf/app/Main.hs": [ ] 2022-11-18T18:15:01.731959Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:15:01 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:15:01.748355Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:15:01 PM] class: InternalError: Unable to typecheck 2022-11-18T18:15:03.075708Z | Warning | changeTypeSignature: InternalError: Could not get Parsed Module 2022-11-18T18:15:03.076013Z | Warning | alternateNumberFormat: InternalError: Could not Collect Literals 2022-11-18T18:15:03.076072Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:15:03.076116Z | Warning | retrie: InternalError: typecheck 2022-11-18T18:15:03.076160Z | Warning | gadt: InternalError: Unable to get ParsedModuleWithComments [Warn - 6:15:03 PM] changeTypeSignature: InternalError: Could not get Parsed Module [Warn - 6:15:03 PM] alternateNumberFormat: InternalError: Could not Collect Literals [Warn - 6:15:03 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:15:03 PM] retrie: InternalError: typecheck [Warn - 6:15:03 PM] gadt: InternalError: Unable to get ParsedModuleWithComments 2022-11-18T18:15:06.380425Z | Warning | changeTypeSignature: InternalError: Could not get Parsed Module 2022-11-18T18:15:06.380602Z | Warning | alternateNumberFormat: InternalError: Could not Collect Literals 2022-11-18T18:15:06.380681Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:15:06.380748Z | Warning | retrie: InternalError: typecheck 2022-11-18T18:15:06.380810Z | Warning | gadt: InternalError: Unable to get ParsedModuleWithComments [Warn - 6:15:06 PM] changeTypeSignature: InternalError: Could not get Parsed Module [Warn - 6:15:06 PM] alternateNumberFormat: InternalError: Could not Collect Literals [Warn - 6:15:06 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:15:06 PM] retrie: InternalError: typecheck [Warn - 6:15:06 PM] gadt: InternalError: Unable to get ParsedModuleWithComments 2022-11-18T18:15:06.835263Z | Warning | changeTypeSignature: InternalError: Could not get Parsed Module 2022-11-18T18:15:06.835677Z | Warning | alternateNumberFormat: InternalError: Could not Collect Literals 2022-11-18T18:15:06.835775Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:15:06.835852Z | Warning | retrie: InternalError: typecheck 2022-11-18T18:15:06.835918Z | Warning | gadt: InternalError: Unable to get ParsedModuleWithComments [Warn - 6:15:06 PM] changeTypeSignature: InternalError: Could not get Parsed Module [Warn - 6:15:06 PM] alternateNumberFormat: InternalError: Could not Collect Literals [Warn - 6:15:06 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:15:06 PM] retrie: InternalError: typecheck [Warn - 6:15:06 PM] gadt: InternalError: Unable to get ParsedModuleWithComments 2022-11-18T18:15:07.907814Z | Info | Live bytes: 191.57MB Heap size: 704.64MB [Info - 6:15:07 PM] Live bytes: 191.57MB Heap size: 704.64MB 2022-11-18T18:15:08.698184Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:15:08 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:15:08.716056Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:15:08 PM] class: InternalError: Unable to typecheck 2022-11-18T18:15:09.275045Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:15:09 PM] class: InternalError: Unable to typecheck 2022-11-18T18:15:09.710086Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:15:09 PM] class: InternalError: Unable to typecheck 2022-11-18T18:15:09.876078Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:15:09.876443Z | Warning | retrie: InternalError: typecheck [Warn - 6:15:09 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:15:09 PM] retrie: InternalError: typecheck 2022-11-18T18:15:10.170124Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:15:10 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:15:13.606898Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:15:13 PM] class: InternalError: Unable to typecheck 2022-11-18T18:15:14.066164Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:15:14 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:15:15.427182Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:15:15 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:15:15.482000Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:15:15 PM] class: InternalError: Unable to typecheck 2022-11-18T18:15:15.842647Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:15:15 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:15:15.902619Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:15:15 PM] class: InternalError: Unable to typecheck 2022-11-18T18:15:16.126013Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:15:16 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:15:16.174095Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:15:16 PM] class: InternalError: Unable to typecheck 2022-11-18T18:15:16.601516Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:15:16 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:15:16.659419Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:15:16 PM] class: InternalError: Unable to typecheck 2022-11-18T18:15:17.233461Z | Info | Typechecking reverse dependencies for NormalizedFilePath "/workspaces/smurf/app/Main.hs": [ ] [Info - 6:15:17 PM] Typechecking reverse dependencies for NormalizedFilePath "/workspaces/smurf/app/Main.hs": [ ] 2022-11-18T18:15:17.403622Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:15:17 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:15:17.457364Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:15:17 PM] class: InternalError: Unable to typecheck 2022-11-18T18:15:17.609536Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:15:17.609803Z | Warning | retrie: InternalError: typecheck [Warn - 6:15:17 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:15:17 PM] retrie: InternalError: typecheck 2022-11-18T18:15:20.635784Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:15:20.636190Z | Warning | retrie: InternalError: typecheck [Warn - 6:15:20 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:15:20 PM] retrie: InternalError: typecheck 2022-11-18T18:15:22.315751Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:15:22.316474Z | Warning | retrie: InternalError: typecheck [Warn - 6:15:22 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:15:22 PM] retrie: InternalError: typecheck 2022-11-18T18:15:23.302182Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:15:23.302277Z | Warning | retrie: InternalError: typecheck [Warn - 6:15:23 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:15:23 PM] retrie: InternalError: typecheck 2022-11-18T18:15:24.354962Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:15:24 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:15:24.407330Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:15:24 PM] class: InternalError: Unable to typecheck 2022-11-18T18:15:24.853049Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:15:24 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:15:24.903420Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:15:24 PM] class: InternalError: Unable to typecheck 2022-11-18T18:15:25.068877Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:15:25.069880Z | Warning | retrie: InternalError: typecheck [Warn - 6:15:25 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:15:25 PM] retrie: InternalError: typecheck 2022-11-18T18:15:27.152230Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:15:27.152659Z | Warning | retrie: InternalError: typecheck [Warn - 6:15:27 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:15:27 PM] retrie: InternalError: typecheck 2022-11-18T18:15:28.068981Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:15:28.069439Z | Warning | retrie: InternalError: typecheck [Warn - 6:15:28 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:15:28 PM] retrie: InternalError: typecheck 2022-11-18T18:15:29.041625Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:15:29.042151Z | Warning | retrie: InternalError: typecheck [Warn - 6:15:29 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:15:29 PM] retrie: InternalError: typecheck 2022-11-18T18:15:31.525385Z | Info | Typechecking reverse dependencies for NormalizedFilePath "/workspaces/smurf/app/Main.hs": [ ] [Info - 6:15:31 PM] Typechecking reverse dependencies for NormalizedFilePath "/workspaces/smurf/app/Main.hs": [ ] 2022-11-18T18:16:07.945962Z | Info | Live bytes: 208.00MB Heap size: 704.64MB [Info - 6:16:07 PM] Live bytes: 208.00MB Heap size: 704.64MB 2022-11-18T18:16:58.875102Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:16:58 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:16:58.927579Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:16:58 PM] class: InternalError: Unable to typecheck 2022-11-18T18:16:59.386802Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:16:59 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:16:59.442114Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:16:59 PM] class: InternalError: Unable to typecheck 2022-11-18T18:16:59.684560Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:16:59 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:16:59.738028Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:16:59 PM] class: InternalError: Unable to typecheck 2022-11-18T18:16:59.801465Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:16:59.801806Z | Warning | retrie: InternalError: pos [Warn - 6:16:59 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:16:59 PM] retrie: InternalError: pos 2022-11-18T18:17:00.030233Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:17:00 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:17:00.460738Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:17:00 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:17:00.522977Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:17:00 PM] class: InternalError: Unable to typecheck 2022-11-18T18:17:00.545289Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:17:00.545550Z | Warning | retrie: InternalError: pos [Warn - 6:17:00 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:17:00 PM] retrie: InternalError: pos 2022-11-18T18:17:00.842724Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:17:00 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:17:00.902275Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:17:00 PM] class: InternalError: Unable to typecheck 2022-11-18T18:17:01.474626Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:17:01 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:17:01.537261Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:17:01 PM] class: InternalError: Unable to typecheck 2022-11-18T18:17:02.483676Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:17:02 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:17:03.099594Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:17:03 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:17:03.153131Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:17:03 PM] class: InternalError: Unable to typecheck 2022-11-18T18:17:03.315701Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:17:03.315912Z | Warning | retrie: InternalError: pos [Warn - 6:17:03 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:17:03 PM] retrie: InternalError: pos 2022-11-18T18:17:03.813758Z | Info | Typechecking reverse dependencies for NormalizedFilePath "/workspaces/smurf/app/Main.hs": [ ] [Info - 6:17:03 PM] Typechecking reverse dependencies for NormalizedFilePath "/workspaces/smurf/app/Main.hs": [ ] 2022-11-18T18:17:03.926723Z | Warning | codeRange: bad dependency: GetCodeRange [Warn - 6:17:03 PM] codeRange: bad dependency: GetCodeRange 2022-11-18T18:17:03.977750Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:17:03 PM] class: InternalError: Unable to typecheck 2022-11-18T18:17:04.199742Z | Warning | explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:17:04 PM] explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:17:05.133251Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:17:05.133442Z | Warning | retrie: InternalError: pos [Warn - 6:17:05 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:17:05 PM] retrie: InternalError: pos 2022-11-18T18:17:05.657259Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:17:05.657706Z | Warning | retrie: InternalError: pos [Warn - 6:17:05 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:17:05 PM] retrie: InternalError: pos 2022-11-18T18:17:07.952918Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:17:07 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:17:09.482612Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:17:09.482762Z | Warning | retrie: InternalError: pos [Warn - 6:17:09 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:17:09 PM] retrie: InternalError: pos 2022-11-18T18:17:10.342336Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:17:10.342794Z | Warning | retrie: InternalError: pos [Warn - 6:17:10 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:17:10 PM] retrie: InternalError: pos 2022-11-18T18:18:07.985474Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:18:07 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:18:13.914390Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:18:13 PM] class: InternalError: Unable to typecheck 2022-11-18T18:19:08.018045Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:19:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:19:52.872668Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:19:52 PM] class: InternalError: Unable to typecheck 2022-11-18T18:20:08.042334Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:20:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:21:08.103559Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:21:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:22:08.143113Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:22:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:23:08.149770Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:23:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:24:08.208606Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:24:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:25:08.276519Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:25:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:26:08.331872Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:26:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:27:08.374446Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:27:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:28:08.428811Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:28:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:29:08.460097Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:29:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:30:08.525754Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:30:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:31:08.592063Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:31:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:32:08.599825Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:32:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:33:08.620947Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:33:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:34:08.630695Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:34:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:35:08.639049Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:35:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:36:08.699996Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:36:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:36:19.789057Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:36:19 PM] class: InternalError: Unable to typecheck 2022-11-18T18:36:21.841161Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:36:21 PM] class: InternalError: Unable to typecheck 2022-11-18T18:36:21.841895Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:36:21.841959Z | Warning | retrie: InternalError: pos [Warn - 6:36:21 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:36:21 PM] retrie: InternalError: pos 2022-11-18T18:36:22.201799Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:36:22.201924Z | Warning | retrie: InternalError: pos [Warn - 6:36:22 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:36:22 PM] retrie: InternalError: pos 2022-11-18T18:36:22.346124Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:36:22.346217Z | Warning | retrie: InternalError: pos [Warn - 6:36:22 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:36:22 PM] retrie: InternalError: pos 2022-11-18T18:36:22.355516Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:36:22.355610Z | Warning | retrie: InternalError: pos [Warn - 6:36:22 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:36:22 PM] retrie: InternalError: pos 2022-11-18T18:37:08.760140Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:37:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:37:35.720783Z | Warning | class: InternalError: Unable to typecheck [Warn - 6:37:35 PM] class: InternalError: Unable to typecheck 2022-11-18T18:37:35.723775Z | Warning | explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:37:35 PM] explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:37:35.966153Z | Warning | explicit-fields: InternalError: Unable to TypeCheck 2022-11-18T18:37:35.966254Z | Warning | retrie: InternalError: pos [Warn - 6:37:35 PM] explicit-fields: InternalError: Unable to TypeCheck [Warn - 6:37:35 PM] retrie: InternalError: pos 2022-11-18T18:38:08.793702Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:38:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:39:08.855462Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:39:08 PM] Live bytes: 141.41MB Heap size: 773.85MB 2022-11-18T18:40:08.902624Z | Info | Live bytes: 141.41MB Heap size: 773.85MB [Info - 6:40:08 PM] Live bytes: 141.41MB Heap size: 773.85MB ```
hasufell commented 1 year ago

If you disable dynamic linking, then TH is not supported.

codygman commented 1 year ago

@hasufell Does --flags=-dynamic in my ghcup compile command above disable dynamic linking?

hasufell commented 1 year ago

@hasufell Does --flags=-dynamic in my ghcup compile command above disable dynamic linking?

Yes.

https://github.com/haskell/haskell-language-server/blob/9e5fc880d1bcf45bdcda1160a1f2a67408bbf410/haskell-language-server.cabal#L209-L212

codygman commented 1 year ago

@hasufell Oh I understand -dynamic means "minus dynamic" and isn't just passing through more command line flags.

It looks like we compile with this because otherwise we get errors mounting our cabal store as a docker volume.

I suppose that means we either need to abandon cabal store as a docker volume or go without hls.

codygman commented 1 year ago

It looks like we compile with this because otherwise we get errors mounting our cabal store as a docker volume.

We'd like to keep using the cabal store as a docker volume... so is there a way we can tell HLS to use another store for its "core libraries"?

Removing -dynamic and trying to mount our own cabal store as a docker volume results in:

$ docker run \
  --interactive \
  --rm \
  --volume $PWD/cabal-store:/cabal-store \
  73c51e02927a \
  sh -c 'ldd /home/haskell/.ghcup/bin/haskell-language-server-9.2.5 | grep "not found" | wc -l'
226
hasufell commented 1 year ago

You can bundle HLS libraries like we do in the bindists and build your own bindists. See the GNUMakefile in this repo and the bindist/ subdir (especially the bindist/ghcs files).

codygman commented 1 year ago

@hasufell I'll take a look again later, but I'm new to the bindist concept and searches only bring up a gentoo tool called bindist.

As a result reading over those files and their many variables made it hard for me to develop a concrete understanding of what exactly is happening there.

Then researching bindist didn't come up with much. This seems like one of those "everyone should already know so no one wrote the concept down" type things which I'm lucky enough to not know.

Thanks for your help though.

hasufell commented 1 year ago

No, bindist has nothing to do with gentoo. Those are simply .tar bundles of binaries.

codygman commented 1 year ago

I'm closing this because we successfully upgraded to ghc 9.4.4 and hls 1.9.1.0. There are still some issues but I'll create those separately