GHC issueshttps://gitlab.haskell.org/ghc/ghc/-/issues2022-08-06T18:35:03Zhttps://gitlab.haskell.org/ghc/ghc/-/issues/17467Hadrian does not track package.conf.d/package.cache2022-08-06T18:35:03ZAlp MestanogullariHadrian does not track package.conf.d/package.cacheWhile @nh2 and @bgamari were discussing a problem, they ended up realizing that deleting `_build/stage0/lib/package.conf.d/package.cache` and issuing a hadrian command to rebuild it and resume the build where it was previously failing re...While @nh2 and @bgamari were discussing a problem, they ended up realizing that deleting `_build/stage0/lib/package.conf.d/package.cache` and issuing a hadrian command to rebuild it and resume the build where it was previously failing results in:
```
ghc: there is no package.cache in _build/stage0/lib/package.conf.d even though package database is not empty
```
It's probably safe to assume that Hadrian does not track the package db cache in any way (not even using `traceWrite` or anything like that). It'd be nice to teach Hadrian enough about those caches for it to be able to regenerate them when needed.9.4.1https://gitlab.haskell.org/ghc/ghc/-/issues/21307ghc reports package-id in unused imports warning instead the package name+ver...2022-04-01T17:27:30ZJavier Neira ghc reports package-id in unused imports warning instead the package name+version+id## Summary
From https://github.com/haskell/cabal/issues/7209#issuecomment-1080118466
ghc reports bad package name in unused imports warning when the package-id name segment does not match the package name
## Steps to reproduce
* `caba...## Summary
From https://github.com/haskell/cabal/issues/7209#issuecomment-1080118466
ghc reports bad package name in unused imports warning when the package-id name segment does not match the package name
## Steps to reproduce
* `cabal build -v3` a project with any dependency containing vowels and `ghc-options: -Wunused-packages -Werror=unused-packages`
* check the ghc call made by cabal pass the package id removing vowels from the package name
* for the `ieee` package it would be like `-package-id -0.7-c9bfa6bf`
* check the v2 store package db has the complete package name for such package id:
```
# ghc-pkg --package-db ~/.cabal/store/ghc-9.2.2/package.db describe ieee | head -n 5
name: ieee
version: 0.7
visibility: public
id: -0.7-c9bfa6bf
key: -0.7-c9bfa6bf
```
* and check the unused package warning uses the package-id instead the full package name plus version:
```
<no location info>: warning: [-Wunused-packages]
The following packages were specified via -package or -package-id flags,
but were not needed for compilation:
- -0.7-c9bfa6bf
```
* the behaviour is not reproduced in windows, where package names are also shortened by cabal in the package id, see https://github.com/haskell/cabal/issues/7209#issuecomment-1080327599
* from the ghc call made by cabal we derive the bug is in the ghc side
## Expected behavior
* the error message should use the full package name + package version from package-db
```
<no location info>: warning: [-Wunused-packages]
The following packages were specified via -package or -package-id flags,
but were not needed for compilation:
- ieee-0.7
```
## Environment
* GHC version used: 8.10.7, 9.2.2
Optional:
* Operating System: macos
* System Architecture: anyñ9.4.1Matthew PickeringMatthew Pickeringhttps://gitlab.haskell.org/ghc/ghc/-/issues/20253Hadrian binary distributions ship `settings`2023-04-04T08:09:40ZBen GamariHadrian binary distributions ship `settings`The binary distributions produced by Hadrian do not make any attempt to generate the `settings` file from the information about the host deduced by the bindist `configure` script. This is wrong. In particular, this was noticed on an olde...The binary distributions produced by Hadrian do not make any attempt to generate the `settings` file from the information about the host deduced by the bindist `configure` script. This is wrong. In particular, this was noticed on an older Darwin machine where the build environment's `cc` supported `-no-pie` but the installation host did not. Consequently, the installed compiler attempted to use `-no-pie` and was broken.9.2.1Ben GamariBen Gamarihttps://gitlab.haskell.org/ghc/ghc/-/issues/5754Cabal cannot register a package in a directory with Unicode chars2019-07-07T18:53:44ZSimon MarlowCabal cannot register a package in a directory with Unicode charsWhile fixing #5697, I tried building and registering a package in a directory with Unicode chars, and cabal-install fails to register it.
This appears to be a regression since 7.0, as it first fails with 7.2 and is still failing in 7.4....While fixing #5697, I tried building and registering a package in a directory with Unicode chars, and cabal-install fails to register it.
This appears to be a regression since 7.0, as it first fails with 7.2 and is still failing in 7.4.
I'm not sure who's fault this is, but since it is GHC-version dependent it could well be ours.
```
c:\simonmar\scratch\áéóíúúíáλ>cabal register --inplace -v
c:\simonmar\ghc-validate\inplace\bin\ghc-stage2.exe --abi-hash -package-name par
allel-3.2.0.0 -hide-all-packages -fbuilding-cabal-package -i -idist\build -i. -i
dist\build\autogen -Idist\build\autogen -Idist\build -optP-include -optPdist\bui
ld\autogen\cabal_macros.h -odir dist\build -hidir dist\build -stubdir dist\build
-package-id array-0.3.0.3-inplace -package-id base-4.4.0.0-inplace -package-id
containers-0.4.2.0-inplace -package-id deepseq-1.2.0.1-inplace -O -feager-blackh
oling -Wall -XCPP -XBangPatterns Control.Seq Control.Parallel Control.Parallel.S
trategies
Registering parallel-3.2.0.0...
c:\simonmar\ghc-validate\inplace\bin\ghc-pkg.exe update - --global --user
cabal: fd:5: hGetContents: invalid argument (invalid UTF-8 byte sequence)
cabal: fd:5: invalid argument
```
I tried with cabal-install 0.8 and 0.10:
```
c:\simonmar\scratch\áéóíúúíáλ>cabal --version
cabal-install version 0.10.2
using version 1.10.2.0 of the Cabal library
c:\simonmar\scratch\áéóíúúíáλ>cabal +RTS --info
[("GHC RTS", "YES")
,("GHC version", "7.0.4")
,("RTS way", "rts_v")
,("Build platform", "i386-unknown-mingw32")
,("Build architecture", "i386")
,("Build OS", "mingw32")
,("Build vendor", "unknown")
,("Host platform", "i386-unknown-mingw32")
,("Host architecture", "i386")
,("Host OS", "mingw32")
,("Host vendor", "unknown")
,("Target platform", "i386-unknown-mingw32")
,("Target architecture", "i386")
,("Target OS", "mingw32")
,("Target vendor", "unknown")
,("Word size", "32")
,("Compiler unregisterised", "NO")
,("Tables next to code", "YES")
]
```
I haven't tried building cabal-install with 7.2 yet.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ---------------- |
| Version | 7.2.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | highest |
| Resolution | Unresolved |
| Component | Package system |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | duncan |
| Operating system | Unknown/Multiple |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Cabal cannot register a package in a directory with Unicode chars","status":"New","operating_system":"Unknown/Multiple","component":"Package system","related":[],"milestone":"7.4.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.2.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":["duncan"],"type":"Bug","description":"While fixing #5697, I tried building and registering a package in a directory with Unicode chars, and cabal-install fails to register it.\r\n\r\nThis appears to be a regression since 7.0, as it first fails with 7.2 and is still failing in 7.4.\r\n\r\nI'm not sure who's fault this is, but since it is GHC-version dependent it could well be ours.\r\n\r\n{{{\r\nc:\\simonmar\\scratch\\áéóíúúíáλ>cabal register --inplace -v\r\nc:\\simonmar\\ghc-validate\\inplace\\bin\\ghc-stage2.exe --abi-hash -package-name par\r\nallel-3.2.0.0 -hide-all-packages -fbuilding-cabal-package -i -idist\\build -i. -i\r\ndist\\build\\autogen -Idist\\build\\autogen -Idist\\build -optP-include -optPdist\\bui\r\nld\\autogen\\cabal_macros.h -odir dist\\build -hidir dist\\build -stubdir dist\\build\r\n -package-id array-0.3.0.3-inplace -package-id base-4.4.0.0-inplace -package-id\r\ncontainers-0.4.2.0-inplace -package-id deepseq-1.2.0.1-inplace -O -feager-blackh\r\noling -Wall -XCPP -XBangPatterns Control.Seq Control.Parallel Control.Parallel.S\r\ntrategies\r\nRegistering parallel-3.2.0.0...\r\nc:\\simonmar\\ghc-validate\\inplace\\bin\\ghc-pkg.exe update - --global --user\r\ncabal: fd:5: hGetContents: invalid argument (invalid UTF-8 byte sequence)\r\ncabal: fd:5: invalid argument\r\n}}}\r\n\r\nI tried with cabal-install 0.8 and 0.10:\r\n\r\n{{{\r\nc:\\simonmar\\scratch\\áéóíúúíáλ>cabal --version\r\ncabal-install version 0.10.2\r\nusing version 1.10.2.0 of the Cabal library\r\n\r\nc:\\simonmar\\scratch\\áéóíúúíáλ>cabal +RTS --info\r\n [(\"GHC RTS\", \"YES\")\r\n ,(\"GHC version\", \"7.0.4\")\r\n ,(\"RTS way\", \"rts_v\")\r\n ,(\"Build platform\", \"i386-unknown-mingw32\")\r\n ,(\"Build architecture\", \"i386\")\r\n ,(\"Build OS\", \"mingw32\")\r\n ,(\"Build vendor\", \"unknown\")\r\n ,(\"Host platform\", \"i386-unknown-mingw32\")\r\n ,(\"Host architecture\", \"i386\")\r\n ,(\"Host OS\", \"mingw32\")\r\n ,(\"Host vendor\", \"unknown\")\r\n ,(\"Target platform\", \"i386-unknown-mingw32\")\r\n ,(\"Target architecture\", \"i386\")\r\n ,(\"Target OS\", \"mingw32\")\r\n ,(\"Target vendor\", \"unknown\")\r\n ,(\"Word size\", \"32\")\r\n ,(\"Compiler unregisterised\", \"NO\")\r\n ,(\"Tables next to code\", \"YES\")\r\n ]\r\n}}}\r\n\r\nI haven't tried building cabal-install with 7.2 yet.\r\n\r\n","type_of_failure":"OtherFailure","blocking":[]} -->7.4.1Simon MarlowSimon Marlowhttps://gitlab.haskell.org/ghc/ghc/-/issues/4843"include" directory missing in the ghc 7.0.1 windows installer2019-07-07T18:58:15Znsch"include" directory missing in the ghc 7.0.1 windows installerThe current windows installer from http://www.haskell.org/ghc/download_ghc_7_0_1\#windows is missing the "include" directory in its root directory.
For example this build fails because it cannot find **HsFFI.h**, which is located in `C:...The current windows installer from http://www.haskell.org/ghc/download_ghc_7_0_1\#windows is missing the "include" directory in its root directory.
For example this build fails because it cannot find **HsFFI.h**, which is located in `C:\Haskell\ghc-7.0.1\lib\include` and not in `C:\\Haskell\\ghc-7.0.1/include`, where GHC is looking for it:
```
configure: creating ./config.status
config.status: creating include/HsDirectoryConfig.h
config.status: include/HsDirectoryConfig.h is unchanged
("C:\\Haskell\\ghc-7.0.1\\mingw\\bin\\gcc.exe",["C:\\Users\\Nils\\AppData\\Local\\Temp\\3048.c","-o","C:\\Users\\Nils\\AppData\\Local\\Temp\
\3048","-D__GLASGOW_HASKELL__=700","-Iinclude","-I.","-IC:\\Haskell\\ghc-7.0.1\\old-time-1.0.0.6\\include","-IC:\\Haskell\\ghc-7.0.1\\Win32-
2.2.0.1\\include","-IC:\\Haskell\\ghc-7.0.1\\bytestring-0.9.1.8\\include","-IC:\\Haskell\\ghc-7.0.1\\base-4.3.0.0\\include","-IC:\\Haskell\\
ghc-7.0.1/include","-IC:\\Haskell\\ghc-7.0.1/include","-LC:\\Haskell\\ghc-7.0.1\\old-time-1.0.0.6","-LC:\\Haskell\\ghc-7.0.1\\old-locale-1.0
.0.2","-LC:\\Haskell\\ghc-7.0.1\\filepath-1.2.0.0","-LC:\\Haskell\\ghc-7.0.1\\Win32-2.2.0.1","-LC:\\Haskell\\ghc-7.0.1\\bytestring-0.9.1.8",
"-LC:\\Haskell\\ghc-7.0.1\\base-4.3.0.0","-LC:\\Haskell\\ghc-7.0.1\\integer-gmp-0.2.0.2","-LC:\\Haskell\\ghc-7.0.1\\ghc-prim-0.2.0.0","-LC:\
\Haskell\\ghc-7.0.1","-LC:\\Haskell\\ghc-7.0.1"])
C:\Haskell\ghc-7.0.1\mingw\bin\gcc.exe returned ExitFailure 1 with error
message:
In file included from C:\Users\Nils\AppData\Local\Temp\3048.c:1:0:
include/HsDirectory.h:19:19: fatal error: HsFFI.h: No such file or directory
compilation terminated.
```
You have to pass `--extra-include-dirs=C:/Haskell/ghc-7.0.1/lib/include` to get it to compile.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.0.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Package system |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"\"include\" directory missing in the ghc 7.0.1 windows installer","status":"New","operating_system":"","component":"Package system","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.0.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"The current windows installer from http://www.haskell.org/ghc/download_ghc_7_0_1#windows is missing the \"include\" directory in its root directory.\r\n\r\nFor example this build fails because it cannot find '''HsFFI.h''', which is located in `C:\\Haskell\\ghc-7.0.1\\lib\\include` and not in `C:\\\\Haskell\\\\ghc-7.0.1/include`, where GHC is looking for it:\r\n\r\n{{{\r\nconfigure: creating ./config.status\r\nconfig.status: creating include/HsDirectoryConfig.h\r\nconfig.status: include/HsDirectoryConfig.h is unchanged\r\n(\"C:\\\\Haskell\\\\ghc-7.0.1\\\\mingw\\\\bin\\\\gcc.exe\",[\"C:\\\\Users\\\\Nils\\\\AppData\\\\Local\\\\Temp\\\\3048.c\",\"-o\",\"C:\\\\Users\\\\Nils\\\\AppData\\\\Local\\\\Temp\\\r\n\\3048\",\"-D__GLASGOW_HASKELL__=700\",\"-Iinclude\",\"-I.\",\"-IC:\\\\Haskell\\\\ghc-7.0.1\\\\old-time-1.0.0.6\\\\include\",\"-IC:\\\\Haskell\\\\ghc-7.0.1\\\\Win32-\r\n2.2.0.1\\\\include\",\"-IC:\\\\Haskell\\\\ghc-7.0.1\\\\bytestring-0.9.1.8\\\\include\",\"-IC:\\\\Haskell\\\\ghc-7.0.1\\\\base-4.3.0.0\\\\include\",\"-IC:\\\\Haskell\\\\\r\nghc-7.0.1/include\",\"-IC:\\\\Haskell\\\\ghc-7.0.1/include\",\"-LC:\\\\Haskell\\\\ghc-7.0.1\\\\old-time-1.0.0.6\",\"-LC:\\\\Haskell\\\\ghc-7.0.1\\\\old-locale-1.0\r\n.0.2\",\"-LC:\\\\Haskell\\\\ghc-7.0.1\\\\filepath-1.2.0.0\",\"-LC:\\\\Haskell\\\\ghc-7.0.1\\\\Win32-2.2.0.1\",\"-LC:\\\\Haskell\\\\ghc-7.0.1\\\\bytestring-0.9.1.8\",\r\n\"-LC:\\\\Haskell\\\\ghc-7.0.1\\\\base-4.3.0.0\",\"-LC:\\\\Haskell\\\\ghc-7.0.1\\\\integer-gmp-0.2.0.2\",\"-LC:\\\\Haskell\\\\ghc-7.0.1\\\\ghc-prim-0.2.0.0\",\"-LC:\\\r\n\\Haskell\\\\ghc-7.0.1\",\"-LC:\\\\Haskell\\\\ghc-7.0.1\"])\r\nC:\\Haskell\\ghc-7.0.1\\mingw\\bin\\gcc.exe returned ExitFailure 1 with error\r\nmessage:\r\nIn file included from C:\\Users\\Nils\\AppData\\Local\\Temp\\3048.c:1:0:\r\ninclude/HsDirectory.h:19:19: fatal error: HsFFI.h: No such file or directory\r\ncompilation terminated.\r\n}}}\r\n\r\nYou have to pass `--extra-include-dirs=C:/Haskell/ghc-7.0.1/lib/include` to get it to compile.","type_of_failure":"OtherFailure","blocking":[]} -->7.0.2https://gitlab.haskell.org/ghc/ghc/-/issues/22333GHC 9.4.2/Cabal 3.8.1.0: `PackageImports` with `reexported-modules`, problem2022-12-15T18:48:30ZMike PilgremGHC 9.4.2/Cabal 3.8.1.0: `PackageImports` with `reexported-modules`, problem## Summary
I have reported the same [issue](https://github.com/haskell/cabal/issues/8548) in the repository of Cabal (the library) and it has been suggested there that it may be a bug in GHC 9.4.2. The problem has been reproduced with S...## Summary
I have reported the same [issue](https://github.com/haskell/cabal/issues/8548) in the repository of Cabal (the library) and it has been suggested there that it may be a bug in GHC 9.4.2. The problem has been reproduced with Stack and Cabal (the tool). The problem is most easily described by the steps to produce it, below.
## Steps to reproduce
I have a library in package `my-package-B` which exposes module `LibB`. I have a library in package `my-package-A` which `build-depends` on `my-package-B` and has `reexported-modules` `LibB`.
Finally, I have an executable in package `my-package-C` which `build-depends` on `my-package-A` (only), and has `Main.hs`:
~~~haskell
{-# LANGUAGE PackageImports #-}
module Main (main) where
import "my-package-A" LibB (someFuncB)
main :: IO ()
main = print someFuncB
~~~
With `stack --resolver ghc-9.2.4 build`, it all builds as expected.
However, with `stack --resolver ghc-9.4.2 build`, and all else equal, the build fails with Cabal message:
~~~text
my-package-C> app\Main.hs:6:1: error:
my-package-C> Could not find module ‘LibB’
my-package-C> Perhaps you meant
my-package-C> LibB (from my-package-A-0.1.0.0, reexporting LibB)
my-package-C> LibA (from my-package-A-0.1.0.0)
my-package-C> |
my-package-C> 6 | import "my-package-A" LibB (someFuncB)
my-package-C> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
~~~
I can't make sense of the error message. I've requested `LibB` be imported from package `my-package-A` and I'm told it can't be found but perhaps I mean `LibB` reexported by `my-package-A`?
However, if I change (only) `Main.hs` to (no package-qualified import):
~~~haskell
module Main (main) where
import LibB (someFuncB)
main :: IO ()
main = print someFuncB
~~~
`stack --resolver ghc-9.4.2 build` now works! That is why I think it is a bug.
## Environment
* GHC 9.4.2
* Windows 11
* x86_649.4.4Matthew PickeringMatthew Pickeringhttps://gitlab.haskell.org/ghc/ghc/-/issues/19650ghci readily resets package state2021-12-14T15:49:44ZNeil Mitchellghci readily resets package state## Summary
Using GHC 9.0.1 and Cabal 3.4.0.0, a lot of "changes" will cause GHC to forget which modules were loaded in ghci. With GHC 8.10 it was a lot more robust. The frequent loss of loaded modules means tools like `ghcid` are a lot ...## Summary
Using GHC 9.0.1 and Cabal 3.4.0.0, a lot of "changes" will cause GHC to forget which modules were loaded in ghci. With GHC 8.10 it was a lot more robust. The frequent loss of loaded modules means tools like `ghcid` are a lot less useful.
## Steps to reproduce
```
$ cabal init
$ cabal repl
```
Now create an empty file `Foo.hs`, and a file `.ghci` with the contents:
```
:load Foo.hs
:set -DMAGIC
```
Using GHC 8.10.3, running `cabal exec ghci` leaves me with a GHCi session with `Foo.hs` loaded. However, with GHC 9.0.1:
```
C:\Neil\temp\ghci-bug>cabal exec ghci
Warning: The package list for 'hackage.haskell.org' is 22 days old.
Run 'cabal update' to get the latest list of available packages.
Resolving dependencies...
Loaded package environment from C:\Neil\temp\ghci-bug\dist-newstyle\tmp\environment.-11172\.ghc.environment.x86_64-mingw32-9.0.1
GHCi, version 9.0.1: https://www.haskell.org/ghc/ :? for help
[1 of 1] Compiling Main ( Foo.hs, interpreted )
Ok, one module loaded.
Loaded package environment from C:\Neil\temp\ghci-bug\dist-newstyle\tmp\environment.-11172\.ghc.environment.x86_64-mingw32-9.0.1
Loaded package environment from C:\Neil\temp\ghci-bug\dist-newstyle\tmp\environment.-11172\.ghc.environment.x86_64-mingw32-9.0.1
package flags have changed, resetting and loading new packages...
Loaded GHCi configuration from C:\Neil\temp\ghci-bug\.ghci
ghci> :show modules
ghci>
```
So something about the environment changed, so it threw away all my loaded modules. In practice, a lot of things seem to make the environment change - turning on/off exceptions on breakpoints does it too. This makes `ghci` a whole lot less useful.
Using `ghci` alone it doesn't seem to reset the modules. However, in practice, using `ghci` alone is now very difficult as it no longer allows global installs. There are also magic environment files which are hard to avoid, so alas, this bug report is in the intersection - but given keeping Cabal constant and changing GHC causes the bug, reporting for GHC 9.0.1.
## Expected behavior
Don't throw away the loaded modules so freely.
## Environment
* GHC version used: GHC 9.0.1
* Operating System: Windows
* System Architecture: x86_649.0.2Matthew PickeringMatthew Pickeringhttps://gitlab.haskell.org/ghc/ghc/-/issues/18070GHC 8.10's API can load interfaces with the wrong package identifier when loo...2020-08-13T22:22:56ZquasicomputationalGHC 8.10's API can load interfaces with the wrong package identifier when looking for pluginsOriginally a doctest bug report: https://github.com/sol/doctest/issues/264
I inlined the relevant code from doctest into the provided reproducer, producing [this reduced reproducer](https://github.com/quasicomputational/test-doctest). R...Originally a doctest bug report: https://github.com/sol/doctest/issues/264
I inlined the relevant code from doctest into the provided reproducer, producing [this reduced reproducer](https://github.com/quasicomputational/test-doctest). Run with `./run-test.sh`.
On my machine, I get an error that looks like this:
```
test-doctest: Bad interface file: [..]/dist-newstyle/build/x86_64-linux/ghc-8.10.1/dummy-plugin-0.1.0.0/build/DummyDefs.hi
Something is amiss; requested module dummy-plugin-0.1.0.0:DummyDefs differs from name found in the interface file ghc-compact-0.1.0.0:DummyDefs (if these names look the same, try again with -dppr-debug)
```
Where does that `ghc-compact` come from? I have no idea. Even more puzzlingly, if I turn up GHC's verbosity, that turns into `process`!
[`test-doctest.hs`](https://github.com/quasicomputational/test-doctest/blob/master/test-doctest.hs) is the (now misleadingly-named) code driving GHC, and as far as I can tell it's not doing anything exotic or bizarre.
[`Haddock.Interface`](https://github.com/haskell/haddock/blob/8c6532636e6bd572455dfcf0b0d6e05f7033d110/haddock-api/src/Haddock/Interface.hs) is the roughly corresponding code in Haddock, which seems to mostly do the same thing - and yet Haddock works and doctest doesn't. I have no idea what the difference is, except that it might be something to do with order-sensitivity in how modules are loaded.
The error doesn't happen on GHC 8.8. I couldn't find anything in the release notes warning me about any changes here, so this is a regression.https://gitlab.haskell.org/ghc/ghc/-/issues/14017"make install" with non-standard umask causes bad permission on package.cache2022-02-11T00:19:09Zdjf"make install" with non-standard umask causes bad permission on package.cacheUsing Debian 8 binary package ghc-8.2.1-x86_64-deb8-linux.tar.xz to install with `configure` and then `su` and `make install`.
If your umask is 0027 rather than the default 0022, a file doesn't get made world-readable. (Other files in t...Using Debian 8 binary package ghc-8.2.1-x86_64-deb8-linux.tar.xz to install with `configure` and then `su` and `make install`.
If your umask is 0027 rather than the default 0022, a file doesn't get made world-readable. (Other files in this directory do though.)
```
$ ls -l /usr/local/lib/ghc-8.2.1/package.conf.d/package.cache
-rw-r----- 1 root staff 161490 Jul 23 10:02 /usr/local/lib/ghc-8.2.1/package.conf.d/package.cache
```
It results in this message when trying to use ghc or ghci:
```
$ ghci
GHCi, version 8.2.1: http://www.haskell.org/ghc/ :? for help
/usr/local/lib/ghc-8.2.1/package.conf.d/package.cache: openBinaryFile: permission denied (Permission denied)
```
(n.b. I have set the version field in this bug to 8.2.1-rc3 for now because 8.2.1 isn't in the list yet.)
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 8.2.1-rc3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | None |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"\"make install\" with non-standard umask causes bad permission on package.cache","status":"New","operating_system":"","component":"None","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"8.2.1-rc3","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"Using Debian 8 binary package ghc-8.2.1-x86_64-deb8-linux.tar.xz to install with `configure` and then `su` and `make install`.\r\n\r\nIf your umask is 0027 rather than the default 0022, a file doesn't get made world-readable. (Other files in this directory do though.)\r\n\r\n{{{\r\n$ ls -l /usr/local/lib/ghc-8.2.1/package.conf.d/package.cache\r\n-rw-r----- 1 root staff 161490 Jul 23 10:02 /usr/local/lib/ghc-8.2.1/package.conf.d/package.cache\r\n}}}\r\n\r\nIt results in this message when trying to use ghc or ghci:\r\n\r\n{{{\r\n$ ghci\r\nGHCi, version 8.2.1: http://www.haskell.org/ghc/ :? for help\r\n/usr/local/lib/ghc-8.2.1/package.conf.d/package.cache: openBinaryFile: permission denied (Permission denied)\r\n}}}\r\n\r\n(n.b. I have set the version field in this bug to 8.2.1-rc3 for now because 8.2.1 isn't in the list yet.)","type_of_failure":"OtherFailure","blocking":[]} -->8.2.3Ben GamariBen Gamarihttps://gitlab.haskell.org/ghc/ghc/-/issues/5704Bug in the handling of wired-in packages (like template-haskell)2019-07-07T18:53:58ZSimon MarlowBug in the handling of wired-in packages (like template-haskell)If you install an older version of a wired-in package (e.g. template-haskell) and then try to use it, GHC will use the newer one as the "wired-in" package rather than the older one.
This happened when trying to build `aeson-0.4.0.0` wit...If you install an older version of a wired-in package (e.g. template-haskell) and then try to use it, GHC will use the newer one as the "wired-in" package rather than the older one.
This happened when trying to build `aeson-0.4.0.0` with ghc 7.4: `aeson` requires `template-haskell-2.6.0.0`, but GHC ships with 2.7.0.0. Cabal installed `template-haskell-2.6.0.0`, but while building `aeson` against it we get:
```
Data/Aeson/TH.hs:181:1:
Bad interface file: /Users/tibbe/.cabal/lib/template-haskell-2.6.0.0/ghc-7.4.0.20111213/Language/Haskell/TH.hi
Something is amiss; requested module template-haskell-2.6.0.0:Language.Haskell.TH differs from name found in the interface file template-haskell:Language.Haskell.TH
```
the bug is that `findWiredInPackage` has picked `template-haskell-2.7.0.0` to be the wired-in package:
```
wired-in package template-haskell mapped to template-haskell-2.7.0.0-inplace
```
whereas we wanted to use `template-haskell-2.6.0.0`.
Not immediately obvious what the fix should be, so I'm making a ticket for this. The workaround is to update the dependency in `aeson` to allow `template-haskell-2.7.0.0`.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.2.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | high |
| Resolution | Unresolved |
| Component | Package system |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Bug in the handling of wired-in packages (like template-haskell)","status":"New","operating_system":"","component":"Package system","related":[],"milestone":"7.4.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.2.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"If you install an older version of a wired-in package (e.g. template-haskell) and then try to use it, GHC will use the newer one as the \"wired-in\" package rather than the older one.\r\n\r\nThis happened when trying to build `aeson-0.4.0.0` with ghc 7.4: `aeson` requires `template-haskell-2.6.0.0`, but GHC ships with 2.7.0.0. Cabal installed `template-haskell-2.6.0.0`, but while building `aeson` against it we get:\r\n\r\n{{{\r\nData/Aeson/TH.hs:181:1:\r\n Bad interface file: /Users/tibbe/.cabal/lib/template-haskell-2.6.0.0/ghc-7.4.0.20111213/Language/Haskell/TH.hi\r\n Something is amiss; requested module template-haskell-2.6.0.0:Language.Haskell.TH differs from name found in the interface file template-haskell:Language.Haskell.TH\r\n}}}\r\n\r\nthe bug is that `findWiredInPackage` has picked `template-haskell-2.7.0.0` to be the wired-in package:\r\n\r\n{{{\r\nwired-in package template-haskell mapped to template-haskell-2.7.0.0-inplace\r\n}}}\r\n\r\nwhereas we wanted to use `template-haskell-2.6.0.0`.\r\n\r\nNot immediately obvious what the fix should be, so I'm making a ticket for this. The workaround is to update the dependency in `aeson` to allow `template-haskell-2.7.0.0`.\r\n","type_of_failure":"OtherFailure","blocking":[]} -->7.4.2Simon MarlowSimon Marlowhttps://gitlab.haskell.org/ghc/ghc/-/issues/4104ghc-pkg refuses to register packages if some include directories don't exist2019-07-07T19:00:32ZMaxime Henrion <mux@FreeBSD.org>ghc-pkg refuses to register packages if some include directories don't existWhen registering a package, ghc-pkg fails with an error if any of the include directories do not exist. This is fine in general, but causes installation failures with gtk2hs. This is because the gtk2hs build tools will add all the direct...When registering a package, ghc-pkg fails with an error if any of the include directories do not exist. This is fine in general, but causes installation failures with gtk2hs. This is because the gtk2hs build tools will add all the directories given by "pkg-config --cflags gtk+-2.0", which typically contains lots of redundant and possibly non-existent directories, depending on your operating system.
Maybe ghc-pkg should just warn instead?
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 6.12.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Package system |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"ghc-pkg refuses to register packages if some include directories don't exist","status":"New","operating_system":"","component":"Package system","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.12.2","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"When registering a package, ghc-pkg fails with an error if any of the include directories do not exist. This is fine in general, but causes installation failures with gtk2hs. This is because the gtk2hs build tools will add all the directories given by \"pkg-config --cflags gtk+-2.0\", which typically contains lots of redundant and possibly non-existent directories, depending on your operating system.\r\n\r\nMaybe ghc-pkg should just warn instead?","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/3930ghci does not consider library-dirs of dependent packages for dlopen()2019-07-07T19:01:27Zduncanghci does not consider library-dirs of dependent packages for dlopen()On OSX, when ghci loads a package (eg `ghci -package gtk`) it uses dlopen on the .dynlib files specified in the package registration. However it appears to look only in the `library-dirs` of the package itself and not of the dependent pa...On OSX, when ghci loads a package (eg `ghci -package gtk`) it uses dlopen on the .dynlib files specified in the package registration. However it appears to look only in the `library-dirs` of the package itself and not of the dependent packages.
This shows up with gtk2hs on OSX when the glib and gtk C libs are in a non-standard location (/opt/local/lib). The glib package registration file uses `library-dirs: /opt/local/lib` and the gtk package depend on the glib package. The gtk package requires the C lib libgthread-2.0.dynlib. This exists in `/opt/local/lib` however when loading the gtk package in ghci, it does not look in `/opt/local/lib`. It only does so if we modify the gtk registration file to specify `library-dirs: /opt/local/lib`.
This behaviour of not using the lib dirs of dependent packages is inconsistent with the static linking case. I suspect this bad behaviour is specific to OSX, because I think this has always worked in the gtk2hs windows installers.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 6.10.4 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Package system |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"ghci does not consider library-dirs of dependent packages for dlopen()","status":"New","operating_system":"","component":"Package system","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.10.4","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"On OSX, when ghci loads a package (eg `ghci -package gtk`) it uses dlopen on the .dynlib files specified in the package registration. However it appears to look only in the `library-dirs` of the package itself and not of the dependent packages.\r\n\r\nThis shows up with gtk2hs on OSX when the glib and gtk C libs are in a non-standard location (/opt/local/lib). The glib package registration file uses `library-dirs: /opt/local/lib` and the gtk package depend on the glib package. The gtk package requires the C lib libgthread-2.0.dynlib. This exists in `/opt/local/lib` however when loading the gtk package in ghci, it does not look in `/opt/local/lib`. It only does so if we modify the gtk registration file to specify `library-dirs: /opt/local/lib`.\r\n\r\nThis behaviour of not using the lib dirs of dependent packages is inconsistent with the static linking case. I suspect this bad behaviour is specific to OSX, because I think this has always worked in the gtk2hs windows installers.","type_of_failure":"OtherFailure","blocking":[]} -->6.12.3https://gitlab.haskell.org/ghc/ghc/-/issues/23131ghc type mismatch due to different package versions2023-10-28T08:03:10ZFrancesco Occhipintighc type mismatch due to different package versions## Summary
We stumbled upon the following:
```
• Couldn't match type ‘bytestring-0.10.8.2:Data.ByteString.Internal.ByteString’
with ‘ByteString’
NB: ‘ByteString’
is defined in ‘Data.ByteString...## Summary
We stumbled upon the following:
```
• Couldn't match type ‘bytestring-0.10.8.2:Data.ByteString.Internal.ByteString’
with ‘ByteString’
NB: ‘ByteString’
is defined in ‘Data.ByteString.Internal.Type’
in package ‘bytestring-0.11.4.0’
‘bytestring-0.10.8.2:Data.ByteString.Internal.ByteString’
is defined in ‘Data.ByteString.Internal’
in package ‘bytestring-0.10.8.2’
Expected type: Field -> Parser Day
Actual type: ByteString -> Parser Day
• In the expression: parseDate
In an equation for ‘parseField’: parseField = parseDate
In the instance declaration for ‘FromField Day’
```
This seems to be due to `cassava` relying on `bytestring` 0.10, while the type in scope and related functions come from an installed `bytestring` 0.11.
Unfortunately, the `PackageImports` syntax does not allow to specify a package version.
We could try to select the desired package by using the compiler's options, but `-hide-all-packages` won't help because it prevents some locally installed packages to access their dependencies. `-hide-package bytestring-0.11.4.2`, on the other hand, fails with the surprising error:
```
<command line>: cannot satisfy -hide-package bytestring-0.11.4.2
(use -v for more information)
```
Since we just want to hide a package, we would expect no errors even if the package was not visible. Anyway this is just some temporary puzzlement, as it turns out that we wrote the version wrong, so the error is arguably helpful.
Once the right version is specified, the compiler starts and mostly works, although it seems to still fail at some stage, between Renamer and Upsweep, with the same problem:
```
Ambiguous module name ‘Data.ByteString.Lazy’:
it was found in multiple packages:
bytestring-0.10.8.2 bytestring-0.11.4.0
```
The compiler version is 8.6.5. Before updating i would be interested to know whether this has been fixed in a later version. Furthermore, since this use case touched a diverse array of limitations, i thought it might be worth issuing anyway.
Here the complete error including some contextual lines:
```
*** Parser [Lumaposta]:
!!! Parser [Lumaposta]: finished in 2.81 milliseconds, allocated 4.923 megabytes
*** Renamer/typechecker [Lumaposta]:
!!! Renamer/typechecker [Lumaposta]: finished in 25.23 milliseconds, allocated 12.681 megabytes
lumaposta.hs:9:1: error:
Ambiguous module name ‘Data.ByteString’:
it was found in multiple packages:
bytestring-0.10.8.2 bytestring-0.11.4.0
|
9 | import Data.ByteString (ByteString)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lumaposta.hs:16:1: error:
Ambiguous module name ‘Data.ByteString’:
it was found in multiple packages:
bytestring-0.10.8.2 bytestring-0.11.4.0
|
16 | import qualified Data.ByteString as ByteString
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lumaposta.hs:17:1: error:
Ambiguous module name ‘Data.ByteString.Lazy’:
it was found in multiple packages:
bytestring-0.10.8.2 bytestring-0.11.4.0
|
17 | import qualified Data.ByteString.Lazy as Lazy
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lumaposta.hs:18:1: error:
Ambiguous module name ‘Data.ByteString.Char8’:
it was found in multiple packages:
bytestring-0.10.8.2 bytestring-0.11.4.0
|
18 | import qualified Data.ByteString.Char8 as Char8
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Upsweep partially successful.
*** Deleting temp files:
Deleting:
link(batch): upsweep (partially) failed OR
Main.main not exported; not linking.
*** Deleting temp files:
Deleting:
*** Deleting temp dirs:
Deleting:
```
## Environment
* GHC version used: 8.6.5Matthew PickeringMatthew Pickeringhttps://gitlab.haskell.org/ghc/ghc/-/issues/19330Improve `ModOrigin: hidden module redefined` crash report2021-02-23T19:54:21ZSergei TrofimovichImprove `ModOrigin: hidden module redefined` crash report## Summary
Sometimes packages clash in module namespace in unobvious ways. GHC has a hard time loading those and it's very hard to figure out what module actually breaks things.
## Steps to reproduce
I don't know precise set of instal...## Summary
Sometimes packages clash in module namespace in unobvious ways. GHC has a hard time loading those and it's very hard to figure out what module actually breaks things.
## Steps to reproduce
I don't know precise set of installed packages needed to trigger the failure, but it looks like that:
```
./setup haddock --hyperlink-source
Preprocessing library for haskell-lsp-types-0.22.0.0..
Running Haddock on library for haskell-lsp-types-0.22.0.0..
Warning: --source-* options are ignored when --hyperlinked-source is enabled.
Haddock coverage:
33% ( 1 / 3) in 'Language.Haskell.LSP.Types.Constants'
Missing documentation for:
Module header
customModifier (src/Language/Haskell/LSP/Types/Constants.hs:13)
src/Language/Haskell/LSP/Types/MarkupContent.hs:15:1: warning: [-Wunused-imports]
The import of ‘Data.Monoid’ is redundant
except perhaps to import instances from ‘Data.Monoid’
To import instances alone, use: import Data.Monoid()
|
15 | import Data.Monoid ((<>))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning: 'Hover' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
Warning: 'ParameterInfo' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
Warning: 'CompletionItem' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
Warning: 'plaintext' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
Warning: 'markdown' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
Warning: 'typescript' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
src/Language/Haskell/LSP/Types/Uri.hs:27:1: warning: [-Wunused-imports]
The import of ‘isPrefixOf’ from module ‘Data.List’ is redundant
|
27 | import Data.List (isPrefixOf, stripPrefix)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning: 'comment' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
Warning: 'region' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
Warning: '_range' is ambiguous. It is defined
* at src/Language/Haskell/LSP/Types/Location.hs:95:7
* at src/Language/Haskell/LSP/Types/Symbol.hs:220:7
You may be able to disambiguate the identifier by qualifying it or
by specifying the type/value namespace explicitly.
Defaulting to the one defined at src/Language/Haskell/LSP/Types/Symbol.hs:220:7
0% ( 0 / 2) in 'Language.Haskell.LSP.Types.Utils'
Missing documentation for:
Module header
rdrop (src/Language/Haskell/LSP/Types/Utils.hs:5)
Warning: '_title' is ambiguous. It is defined
* at src/Language/Haskell/LSP/Types/Window.hs:145:7
* at src/Language/Haskell/LSP/Types/Window.hs:264:4
You may be able to disambiguate the identifier by qualifying it or
by specifying the type/value namespace explicitly.
Defaulting to the one defined at src/Language/Haskell/LSP/Types/Window.hs:264:4
Warning: '_percentage' is ambiguous. It is defined
* at src/Language/Haskell/LSP/Types/Window.hs:367:5
* at src/Language/Haskell/LSP/Types/Window.hs:282:5
You may be able to disambiguate the identifier by qualifying it or
by specifying the type/value namespace explicitly.
Defaulting to the one defined at src/Language/Haskell/LSP/Types/Window.hs:282:5
src/Language/Haskell/LSP/Types/WorkspaceEdit.hs:9:1: warning: [-Wunused-imports]
The import of ‘Data.Monoid’ is redundant
except perhaps to import instances from ‘Data.Monoid’
To import instances alone, use: import Data.Monoid()
|
9 | import Data.Monoid ((<>))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning: 'falsy' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
Warning: 'insertText' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
Warning: 'newText' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
Warning: 'textEdit' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
Warning: 'triggerCharacters' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
Warning: 'falsy' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
Warning: '_command' is ambiguous. It is defined
* at src/Language/Haskell/LSP/Types/Command.hs:41:7
* at src/Language/Haskell/LSP/Types/CodeAction.hs:275:7
You may be able to disambiguate the identifier by qualifying it or
by specifying the type/value namespace explicitly.
Defaulting to the one defined at src/Language/Haskell/LSP/Types/CodeAction.hs:275:7
Warning: 'WorkspaceEdit' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
Warning: 'File' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
Warning: 'Array' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
Warning: 'SignatureInformation' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
Warning: 'true' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
Warning: 'startCharacter' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
Warning: 'endCharacter' is out of scope.
If you qualify the identifier, haddock can try to link it anyway.
0% ( 0 /200) in 'Language.Haskell.LSP.Types.Lens'
Missing documentation for:
Module header
HasDocumentChanges (src/Language/Haskell/LSP/Types/Lens.hs:28)
HasDynamicRegistration (src/Language/Haskell/LSP/Types/Lens.hs:29)
HasValueSet (src/Language/Haskell/LSP/Types/Lens.hs:31)
HasSymbolKind (src/Language/Haskell/LSP/Types/Lens.hs:32)
HasApplyEdit (src/Language/Haskell/LSP/Types/Lens.hs:34)
HasConfiguration (src/Language/Haskell/LSP/Types/Lens.hs:34)
HasDidChangeConfiguration (src/Language/Haskell/LSP/Types/Lens.hs:34)
HasDidChangeWatchedFiles (src/Language/Haskell/LSP/Types/Lens.hs:34)
HasExecuteCommand (src/Language/Haskell/LSP/Types/Lens.hs:34)
HasSymbol (src/Language/Haskell/LSP/Types/Lens.hs:34)
HasWorkspaceEdit (src/Language/Haskell/LSP/Types/Lens.hs:34)
HasWorkspaceFolders (src/Language/Haskell/LSP/Types/Lens.hs:34)
HasDidSave (src/Language/Haskell/LSP/Types/Lens.hs:35)
HasWillSave (src/Language/Haskell/LSP/Types/Lens.hs:35)
HasWillSaveWaitUntil (src/Language/Haskell/LSP/Types/Lens.hs:35)
HasCommitCharactersSupport (src/Language/Haskell/LSP/Types/Lens.hs:37)
HasDeprecatedSupport (src/Language/Haskell/LSP/Types/Lens.hs:37)
HasDocumentationFormat (src/Language/Haskell/LSP/Types/Lens.hs:37)
HasPreselectSupport (src/Language/Haskell/LSP/Types/Lens.hs:37)
HasSnippetSupport (src/Language/Haskell/LSP/Types/Lens.hs:37)
HasTagSupport (src/Language/Haskell/LSP/Types/Lens.hs:37)
HasCompletionItem (src/Language/Haskell/LSP/Types/Lens.hs:39)
HasCompletionItemKind (src/Language/Haskell/LSP/Types/Lens.hs:39)
HasContextSupport (src/Language/Haskell/LSP/Types/Lens.hs:39)
HasContentFormat (src/Language/Haskell/LSP/Types/Lens.hs:40)
HasSignatureInformation (src/Language/Haskell/LSP/Types/Lens.hs:42)
HasHierarchicalDocumentSymbolSupport (src/Language/Haskell/LSP/Types/Lens.hs:46)
HasCodeActionKind (src/Language/Haskell/LSP/Types/Lens.hs:54)
HasCodeActionLiteralSupport (src/Language/Haskell/LSP/Types/Lens.hs:55)
HasPrepareSupport (src/Language/Haskell/LSP/Types/Lens.hs:59)
HasRelatedInformation (src/Language/Haskell/LSP/Types/Lens.hs:60)
HasCodeAction (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasCodeLens (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasColorProvider (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasCompletion (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasDefinition (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasDocumentHighlight (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasDocumentLink (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasDocumentSymbol (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasFoldingRange (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasFormatting (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasHover (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasImplementation (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasOnTypeFormatting (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasPublishDiagnostics (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasRangeFormatting (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasReferences (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasRename (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasSignatureHelp (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasSynchronization (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasTypeDefinition (src/Language/Haskell/LSP/Types/Lens.hs:62)
HasExperimental (src/Language/Haskell/LSP/Types/Lens.hs:63)
HasTextDocument (src/Language/Haskell/LSP/Types/Lens.hs:63)
HasWindow (src/Language/Haskell/LSP/Types/Lens.hs:63)
HasWorkspace (src/Language/Haskell/LSP/Types/Lens.hs:63)
HasCapabilities (src/Language/Haskell/LSP/Types/Lens.hs:67)
HasInitializationOptions (src/Language/Haskell/LSP/Types/Lens.hs:67)
HasProcessId (src/Language/Haskell/LSP/Types/Lens.hs:67)
HasRootPath (src/Language/Haskell/LSP/Types/Lens.hs:67)
HasRootUri (src/Language/Haskell/LSP/Types/Lens.hs:67)
HasTrace (src/Language/Haskell/LSP/Types/Lens.hs:67)
HasRetry (src/Language/Haskell/LSP/Types/Lens.hs:68)
HasAllCommitCharacters (src/Language/Haskell/LSP/Types/Lens.hs:69)
HasResolveProvider (src/Language/Haskell/LSP/Types/Lens.hs:69)
HasTriggerCharacters (src/Language/Haskell/LSP/Types/Lens.hs:69)
HasRetriggerCharacters (src/Language/Haskell/LSP/Types/Lens.hs:70)
HasFirstTriggerCharacter (src/Language/Haskell/LSP/Types/Lens.hs:72)
HasMoreTriggerCharacter (src/Language/Haskell/LSP/Types/Lens.hs:72)
HasCommands (src/Language/Haskell/LSP/Types/Lens.hs:74)
HasIncludeText (src/Language/Haskell/LSP/Types/Lens.hs:75)
HasChange (src/Language/Haskell/LSP/Types/Lens.hs:76)
HasOpenClose (src/Language/Haskell/LSP/Types/Lens.hs:76)
HasSave (src/Language/Haskell/LSP/Types/Lens.hs:76)
HasChangeNotifications (src/Language/Haskell/LSP/Types/Lens.hs:77)
HasSupported (src/Language/Haskell/LSP/Types/Lens.hs:77)
HasCodeActionProvider (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasCodeLensProvider (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasCompletionProvider (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasDefinitionProvider (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasDocumentFormattingProvider (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasDocumentHighlightProvider (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasDocumentLinkProvider (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasDocumentOnTypeFormattingProvider (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasDocumentRangeFormattingProvider (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasDocumentSymbolProvider (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasExecuteCommandProvider (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasFoldingRangeProvider (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasHoverProvider (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasImplementationProvider (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasReferencesProvider (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasRenameProvider (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasSignatureHelpProvider (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasTextDocumentSync (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasTypeDefinitionProvider (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasWorkspaceSymbolProvider (src/Language/Haskell/LSP/Types/Lens.hs:79)
HasId (src/Language/Haskell/LSP/Types/Lens.hs:81)
HasMethod (src/Language/Haskell/LSP/Types/Lens.hs:81)
HasRegisterOptions (src/Language/Haskell/LSP/Types/Lens.hs:81)
HasRegistrations (src/Language/Haskell/LSP/Types/Lens.hs:82)
HasWatchers (src/Language/Haskell/LSP/Types/Lens.hs:83)
HasGlobPattern (src/Language/Haskell/LSP/Types/Lens.hs:84)
HasKind (src/Language/Haskell/LSP/Types/Lens.hs:84)
HasWatchChange (src/Language/Haskell/LSP/Types/Lens.hs:85)
HasWatchCreate (src/Language/Haskell/LSP/Types/Lens.hs:85)
HasWatchDelete (src/Language/Haskell/LSP/Types/Lens.hs:85)
HasDocumentSelector (src/Language/Haskell/LSP/Types/Lens.hs:86)
HasUnregistrations (src/Language/Haskell/LSP/Types/Lens.hs:88)
HasSettings (src/Language/Haskell/LSP/Types/Lens.hs:89)
HasScopeUri (src/Language/Haskell/LSP/Types/Lens.hs:90)
HasSection (src/Language/Haskell/LSP/Types/Lens.hs:90)
HasItems (src/Language/Haskell/LSP/Types/Lens.hs:91)
HasRange (src/Language/Haskell/LSP/Types/Lens.hs:93)
HasRangeLength (src/Language/Haskell/LSP/Types/Lens.hs:93)
HasText (src/Language/Haskell/LSP/Types/Lens.hs:93)
HasContentChanges (src/Language/Haskell/LSP/Types/Lens.hs:94)
HasSyncKind (src/Language/Haskell/LSP/Types/Lens.hs:95)
HasReason (src/Language/Haskell/LSP/Types/Lens.hs:96)
HasUri (src/Language/Haskell/LSP/Types/Lens.hs:99)
HasXtype (src/Language/Haskell/LSP/Types/Lens.hs:99)
HasChanges (src/Language/Haskell/LSP/Types/Lens.hs:100)
HasDiagnostics (src/Language/Haskell/LSP/Types/Lens.hs:101)
HasLanguage (src/Language/Haskell/LSP/Types/Lens.hs:102)
HasValue (src/Language/Haskell/LSP/Types/Lens.hs:102)
HasContents (src/Language/Haskell/LSP/Types/Lens.hs:103)
HasDocumentation (src/Language/Haskell/LSP/Types/Lens.hs:104)
HasLabel (src/Language/Haskell/LSP/Types/Lens.hs:104)
HasParameters (src/Language/Haskell/LSP/Types/Lens.hs:105)
HasActiveParameter (src/Language/Haskell/LSP/Types/Lens.hs:106)
HasActiveSignature (src/Language/Haskell/LSP/Types/Lens.hs:106)
HasSignatures (src/Language/Haskell/LSP/Types/Lens.hs:106)
HasIncludeDeclaration (src/Language/Haskell/LSP/Types/Lens.hs:108)
HasContext (src/Language/Haskell/LSP/Types/Lens.hs:109)
HasPosition (src/Language/Haskell/LSP/Types/Lens.hs:109)
HasWorkDoneToken (src/Language/Haskell/LSP/Types/Lens.hs:109)
HasQuery (src/Language/Haskell/LSP/Types/Lens.hs:111)
HasCommand (src/Language/Haskell/LSP/Types/Lens.hs:113)
HasXdata (src/Language/Haskell/LSP/Types/Lens.hs:113)
HasTarget (src/Language/Haskell/LSP/Types/Lens.hs:116)
HasInsertSpaces (src/Language/Haskell/LSP/Types/Lens.hs:117)
HasTabSize (src/Language/Haskell/LSP/Types/Lens.hs:117)
HasOptions (src/Language/Haskell/LSP/Types/Lens.hs:118)
HasCh (src/Language/Haskell/LSP/Types/Lens.hs:120)
HasNewName (src/Language/Haskell/LSP/Types/Lens.hs:121)
HasArguments (src/Language/Haskell/LSP/Types/Lens.hs:122)
HasEdit (src/Language/Haskell/LSP/Types/Lens.hs:124)
HasApplied (src/Language/Haskell/LSP/Types/Lens.hs:125)
HasParams (src/Language/Haskell/LSP/Types/Lens.hs:127)
HasCharacter (src/Language/Haskell/LSP/Types/Lens.hs:132)
HasLine (src/Language/Haskell/LSP/Types/Lens.hs:132)
HasEnd (src/Language/Haskell/LSP/Types/Lens.hs:133)
HasStart (src/Language/Haskell/LSP/Types/Lens.hs:133)
HasAdditionalTextEdits (src/Language/Haskell/LSP/Types/Lens.hs:137)
HasCommitCharacters (src/Language/Haskell/LSP/Types/Lens.hs:137)
HasDeprecated (src/Language/Haskell/LSP/Types/Lens.hs:137)
HasDetail (src/Language/Haskell/LSP/Types/Lens.hs:137)
HasFilterText (src/Language/Haskell/LSP/Types/Lens.hs:137)
HasInsertText (src/Language/Haskell/LSP/Types/Lens.hs:137)
HasInsertTextFormat (src/Language/Haskell/LSP/Types/Lens.hs:137)
HasPreselect (src/Language/Haskell/LSP/Types/Lens.hs:137)
HasSortText (src/Language/Haskell/LSP/Types/Lens.hs:137)
HasTags (src/Language/Haskell/LSP/Types/Lens.hs:137)
HasTextEdit (src/Language/Haskell/LSP/Types/Lens.hs:137)
HasTriggerCharacter (src/Language/Haskell/LSP/Types/Lens.hs:138)
HasTriggerKind (src/Language/Haskell/LSP/Types/Lens.hs:138)
HasIsIncomplete (src/Language/Haskell/LSP/Types/Lens.hs:139)
HasTitle (src/Language/Haskell/LSP/Types/Lens.hs:146)
HasPattern (src/Language/Haskell/LSP/Types/Lens.hs:149)
HasScheme (src/Language/Haskell/LSP/Types/Lens.hs:149)
HasNewText (src/Language/Haskell/LSP/Types/Lens.hs:152)
HasVersion (src/Language/Haskell/LSP/Types/Lens.hs:153)
HasEdits (src/Language/Haskell/LSP/Types/Lens.hs:154)
HasName (src/Language/Haskell/LSP/Types/Lens.hs:158)
HasAdded (src/Language/Haskell/LSP/Types/Lens.hs:159)
HasRemoved (src/Language/Haskell/LSP/Types/Lens.hs:159)
HasEvent (src/Language/Haskell/LSP/Types/Lens.hs:160)
HasJsonrpc (src/Language/Haskell/LSP/Types/Lens.hs:163)
HasCode (src/Language/Haskell/LSP/Types/Lens.hs:164)
HasMessage (src/Language/Haskell/LSP/Types/Lens.hs:164)
HasResult (src/Language/Haskell/LSP/Types/Lens.hs:165)
HasLanguageId (src/Language/Haskell/LSP/Types/Lens.hs:170)
HasSeverity (src/Language/Haskell/LSP/Types/Lens.hs:178)
HasSource (src/Language/Haskell/LSP/Types/Lens.hs:178)
HasLocation (src/Language/Haskell/LSP/Types/Lens.hs:179)
HasChildren (src/Language/Haskell/LSP/Types/Lens.hs:183)
HasSelectionRange (src/Language/Haskell/LSP/Types/Lens.hs:183)
HasContainerName (src/Language/Haskell/LSP/Types/Lens.hs:184)
HasAlpha (src/Language/Haskell/LSP/Types/Lens.hs:187)
HasBlue (src/Language/Haskell/LSP/Types/Lens.hs:187)
HasGreen (src/Language/Haskell/LSP/Types/Lens.hs:187)
HasRed (src/Language/Haskell/LSP/Types/Lens.hs:187)
HasColor (src/Language/Haskell/LSP/Types/Lens.hs:188)
HasEndCharacter (src/Language/Haskell/LSP/Types/Lens.hs:194)
HasEndLine (src/Language/Haskell/LSP/Types/Lens.hs:194)
HasStartCharacter (src/Language/Haskell/LSP/Types/Lens.hs:194)
HasStartLine (src/Language/Haskell/LSP/Types/Lens.hs:194)
HasActions (src/Language/Haskell/LSP/Types/Lens.hs:200)
HasToken (src/Language/Haskell/LSP/Types/Lens.hs:202)
HasCancellable (src/Language/Haskell/LSP/Types/Lens.hs:203)
HasPercentage (src/Language/Haskell/LSP/Types/Lens.hs:203)
12% ( 35 /277) in 'Language.Haskell.LSP.Types'
Missing documentation for:
Module header
Trace (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:97)
InitializeParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:113)
InitializeError (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:151)
TextDocumentSyncKind (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:184)
CompletionOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:230)
SignatureHelpOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:265)
CodeLensOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:294)
CodeActionOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:317)
DocumentOnTypeFormattingOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:341)
DocumentLinkOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:365)
RenameOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:389)
ExecuteCommandOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:415)
SaveOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:437)
TextDocumentSyncOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:475)
GotoOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:644)
ColorOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:659)
FoldingRangeOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:674)
WorkspaceFolderChangeNotifications (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:689)
WorkspaceFolderOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:695)
WorkspaceOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:711)
InitializeResponseCapabilitiesInner (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:722)
InitializeResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:799)
InitializeRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:801)
InitializedParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:849)
InitializedNotification (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:861)
ShutdownRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:887)
ShutdownResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:888)
ExitNotification (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:914)
TelemetryNotification (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:932)
CustomClientNotification (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:934)
CustomServerNotification (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:935)
CustomClientRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:937)
CustomServerRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:938)
CustomResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:940)
Registration (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:987)
RegistrationParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1002)
RegisterCapabilityResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1012)
TextDocumentRegistrationOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1029)
Unregistration (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1074)
UnregistrationParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1086)
UnregisterCapabilityRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1093)
UnregisterCapabilityResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1095)
DidChangeWatchedFilesRegistrationOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1148)
FileSystemWatcher (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1153)
WatchKind (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1159)
DidChangeConfigurationParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1209)
DidChangeConfigurationNotification (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1218)
ConfigurationItem (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1269)
ConfigurationParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1277)
ConfigurationRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1284)
ConfigurationResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1285)
DidOpenTextDocumentParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1313)
DidOpenTextDocumentNotification (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1320)
TextDocumentContentChangeEvent (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1372)
DidChangeTextDocumentParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1383)
DidChangeTextDocumentNotification (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1391)
TextDocumentChangeRegistrationOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1410)
TextDocumentSaveReason (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1473)
WillSaveTextDocumentParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1492)
WillSaveTextDocumentNotification (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1500)
WillSaveWaitUntilTextDocumentRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1529)
WillSaveWaitUntilTextDocumentResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1530)
DidSaveTextDocumentParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1551)
DidSaveTextDocumentNotification (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1558)
DidCloseTextDocumentParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1588)
DidCloseTextDocumentNotification (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1596)
FileChangeType (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1652)
FileEvent (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1671)
DidChangeWatchedFilesParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1679)
DidChangeWatchedFilesNotification (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1687)
PublishDiagnosticsParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1716)
PublishDiagnosticsNotification (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1725)
ParameterInformation (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1818)
SignatureInformation (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1828)
SignatureHelp (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1837)
SignatureHelpRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1846)
SignatureHelpResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1847)
SignatureHelpRegistrationOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1864)
LocationResponseParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1900)
DefinitionRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1911)
DefinitionResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1912)
TypeDefinitionRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1933)
TypeDefinitionResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1934)
ImplementationRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1956)
ImplementationResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1957)
ReferenceContext (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:1997)
ReferenceParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2005)
ReferencesRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2016)
ReferencesResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2017)
DocumentHighlightKind (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2091)
DocumentHighlight (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2107)
DocumentHighlightRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2115)
DocumentHighlightsResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2116)
WorkspaceSymbolParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2149)
WorkspaceSymbolRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2157)
WorkspaceSymbolsResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2158)
CodeLensParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2214)
CodeLens (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2225)
CodeLensRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2235)
CodeLensResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2236)
CodeLensRegistrationOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2250)
CodeLensResolveRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2281)
CodeLensResolveResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2282)
DocumentLinkParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2337)
DocumentLink (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2345)
DocumentLinkRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2353)
DocumentLinkResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2354)
DocumentLinkResolveRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2377)
DocumentLinkResolveResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2378)
FormattingOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2436)
DocumentFormattingParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2445)
DocumentFormattingRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2454)
DocumentFormattingResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2455)
DocumentRangeFormattingParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2496)
DocumentRangeFormattingRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2506)
DocumentRangeFormattingResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2507)
DocumentOnTypeFormattingParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2565)
DocumentOnTypeFormattingRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2575)
DocumentOnTypeFormattingResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2576)
DocumentOnTypeFormattingRegistrationOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2578)
RenameParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2628)
RenameRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2641)
RenameResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2642)
RangeWithPlaceholder (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2672)
RangeOrRangeWithPlaceholder (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2681)
PrepareRenameRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2686)
PrepareRenameResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2687)
ExecuteCommandParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2740)
ExecuteCommandRequest (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2749)
ExecuteCommandResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2750)
ExecuteCommandRegistrationOptions (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2752)
ApplyWorkspaceEditParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2795)
ApplyWorkspaceEditResponseBody (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2802)
ApplyWorkspaceEditResponse (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2811)
TraceParams (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2817)
TraceNotification (src/Language/Haskell/LSP/Types/DataTypesJSON.hs:2825)
CodeActionKind (src/Language/Haskell/LSP/Types/CodeAction.hs:214)
CodeActionContext (src/Language/Haskell/LSP/Types/CodeAction.hs:245)
CodeActionParams (src/Language/Haskell/LSP/Types/CodeAction.hs:254)
CodeAction (src/Language/Haskell/LSP/Types/CodeAction.hs:264)
CAResult (src/Language/Haskell/LSP/Types/CodeAction.hs:282)
CodeActionRequest (src/Language/Haskell/LSP/Types/CodeAction.hs:293)
CodeActionResponse (src/Language/Haskell/LSP/Types/CodeAction.hs:294)
ColorInformation (src/Language/Haskell/LSP/Types/Color.hs:92)
DocumentColorParams (src/Language/Haskell/LSP/Types/Color.hs:100)
DocumentColorRequest (src/Language/Haskell/LSP/Types/Color.hs:108)
DocumentColorResponse (src/Language/Haskell/LSP/Types/Color.hs:110)
ColorPresentationParams (src/Language/Haskell/LSP/Types/Color.hs:169)
ColorPresentation (src/Language/Haskell/LSP/Types/Color.hs:183)
ColorPresentationRequest (src/Language/Haskell/LSP/Types/Color.hs:201)
ColorPresentationResponse (src/Language/Haskell/LSP/Types/Color.hs:203)
Command (src/Language/Haskell/LSP/Types/Command.hs:38)
CompletionItemKind (src/Language/Haskell/LSP/Types/Completion.hs:23)
CompletionItemTag (src/Language/Haskell/LSP/Types/Completion.hs:105)
InsertTextFormat (src/Language/Haskell/LSP/Types/Completion.hs:305)
CompletionDoc (src/Language/Haskell/LSP/Types/Completion.hs:327)
CompletionItem (src/Language/Haskell/LSP/Types/Completion.hs:338)
CompletionListType (src/Language/Haskell/LSP/Types/Completion.hs:396)
CompletionResponseResult (src/Language/Haskell/LSP/Types/Completion.hs:404)
CompletionContext (src/Language/Haskell/LSP/Types/Completion.hs:437)
CompletionParams (src/Language/Haskell/LSP/Types/Completion.hs:448)
CompletionResponse (src/Language/Haskell/LSP/Types/Completion.hs:461)
CompletionRequest (src/Language/Haskell/LSP/Types/Completion.hs:462)
CompletionRegistrationOptions (src/Language/Haskell/LSP/Types/Completion.hs:484)
CompletionItemResolveRequest (src/Language/Haskell/LSP/Types/Completion.hs:513)
CompletionItemResolveResponse (src/Language/Haskell/LSP/Types/Completion.hs:514)
DiagnosticSeverity (src/Language/Haskell/LSP/Types/Diagnostic.hs:40)
DiagnosticTag (src/Language/Haskell/LSP/Types/Diagnostic.hs:81)
DiagnosticRelatedInformation (src/Language/Haskell/LSP/Types/Diagnostic.hs:124)
NumberOrString (src/Language/Haskell/LSP/Types/Diagnostic.hs:186)
DiagnosticSource (src/Language/Haskell/LSP/Types/Diagnostic.hs:195)
Diagnostic (src/Language/Haskell/LSP/Types/Diagnostic.hs:196)
DocumentFilter (src/Language/Haskell/LSP/Types/DocumentFilter.hs:41)
DocumentSelector (src/Language/Haskell/LSP/Types/DocumentFilter.hs:55)
FoldingRangeParams (src/Language/Haskell/LSP/Types/FoldingRange.hs:14)
FoldingRangeRequest (src/Language/Haskell/LSP/Types/FoldingRange.hs:71)
FoldingRangeResponse (src/Language/Haskell/LSP/Types/FoldingRange.hs:72)
LanguageString (src/Language/Haskell/LSP/Types/Hover.hs:43)
MarkedString (src/Language/Haskell/LSP/Types/Hover.hs:52)
HoverContents (src/Language/Haskell/LSP/Types/Hover.hs:106)
toMarkupContent (src/Language/Haskell/LSP/Types/Hover.hs:136)
Hover (src/Language/Haskell/LSP/Types/Hover.hs:142)
HoverRequest (src/Language/Haskell/LSP/Types/Hover.hs:150)
HoverResponse (src/Language/Haskell/LSP/Types/Hover.hs:151)
Position (src/Language/Haskell/LSP/Types/Location.hs:41)
Range (src/Language/Haskell/LSP/Types/Location.hs:71)
Location (src/Language/Haskell/LSP/Types/Location.hs:92)
ClientMethod (src/Language/Haskell/LSP/Types/Message.hs:72)
ServerMethod (src/Language/Haskell/LSP/Types/Message.hs:214)
RequestMessage (src/Language/Haskell/LSP/Types/Message.hs:279)
ErrorCode (src/Language/Haskell/LSP/Types/Message.hs:327)
ResponseError (src/Language/Haskell/LSP/Types/Message.hs:392)
ResponseMessage (src/Language/Haskell/LSP/Types/Message.hs:425)
ErrorResponse (src/Language/Haskell/LSP/Types/Message.hs:456)
BareResponseMessage (src/Language/Haskell/LSP/Types/Message.hs:460)
NotificationMessage (src/Language/Haskell/LSP/Types/Message.hs:474)
CancelParams (src/Language/Haskell/LSP/Types/Message.hs:511)
CancelNotification (src/Language/Haskell/LSP/Types/Message.hs:518)
CancelNotificationServer (src/Language/Haskell/LSP/Types/Message.hs:519)
DocumentSymbolParams (src/Language/Haskell/LSP/Types/Symbol.hs:103)
SymbolKind (src/Language/Haskell/LSP/Types/Symbol.hs:113)
DSResult (src/Language/Haskell/LSP/Types/Symbol.hs:260)
DocumentSymbolRequest (src/Language/Haskell/LSP/Types/Symbol.hs:272)
DocumentSymbolsResponse (src/Language/Haskell/LSP/Types/Symbol.hs:273)
TextDocumentIdentifier (src/Language/Haskell/LSP/Types/TextDocument.hs:28)
TextDocumentItem (src/Language/Haskell/LSP/Types/TextDocument.hs:66)
TextDocumentPositionParams (src/Language/Haskell/LSP/Types/TextDocument.hs:98)
Uri (src/Language/Haskell/LSP/Types/Uri.hs:41)
uriToFilePath (src/Language/Haskell/LSP/Types/Uri.hs:92)
filePathToUri (src/Language/Haskell/LSP/Types/Uri.hs:120)
NormalizedUri (src/Language/Haskell/LSP/Types/Uri.hs:48)
toNormalizedUri (src/Language/Haskell/LSP/Types/Uri.hs:75)
fromNormalizedUri (src/Language/Haskell/LSP/Types/Uri.hs:81)
toNormalizedFilePath (src/Language/Haskell/LSP/Types/Uri.hs:181)
fromNormalizedFilePath (src/Language/Haskell/LSP/Types/Uri.hs:188)
normalizedFilePathToUri (src/Language/Haskell/LSP/Types/Uri.hs:191)
uriToNormalizedFilePath (src/Language/Haskell/LSP/Types/Uri.hs:194)
platformAwareUriToFilePath (src/Language/Haskell/LSP/Types/Uri.hs:96)
platformAwareFilePathToUri (src/Language/Haskell/LSP/Types/Uri.hs:124)
MessageType (src/Language/Haskell/LSP/Types/Window.hs:63)
ShowMessageParams (src/Language/Haskell/LSP/Types/Window.hs:85)
ShowMessageNotification (src/Language/Haskell/LSP/Types/Window.hs:93)
MessageActionItem (src/Language/Haskell/LSP/Types/Window.hs:143)
ShowMessageRequestParams (src/Language/Haskell/LSP/Types/Window.hs:151)
ShowMessageRequest (src/Language/Haskell/LSP/Types/Window.hs:160)
ShowMessageResponse (src/Language/Haskell/LSP/Types/Window.hs:161)
LogMessageParams (src/Language/Haskell/LSP/Types/Window.hs:192)
LogMessageNotification (src/Language/Haskell/LSP/Types/Window.hs:201)
WorkDoneProgressCreateParams (src/Language/Haskell/LSP/Types/Window.hs:475)
WorkDoneProgressCreateRequest (src/Language/Haskell/LSP/Types/Window.hs:482)
TextEdit (src/Language/Haskell/LSP/Types/WorkspaceEdit.hs:42)
TextDocumentVersion (src/Language/Haskell/LSP/Types/WorkspaceEdit.hs:69)
VersionedTextDocumentIdentifier (src/Language/Haskell/LSP/Types/WorkspaceEdit.hs:71)
TextDocumentEdit (src/Language/Haskell/LSP/Types/WorkspaceEdit.hs:106)
WorkspaceEditMap (src/Language/Haskell/LSP/Types/WorkspaceEdit.hs:144)
WorkspaceEdit (src/Language/Haskell/LSP/Types/WorkspaceEdit.hs:146)
WorkspaceFolder (src/Language/Haskell/LSP/Types/WorkspaceFolders.hs:52)
WorkspaceFoldersRequest (src/Language/Haskell/LSP/Types/WorkspaceFolders.hs:62)
WorkspaceFoldersResponse (src/Language/Haskell/LSP/Types/WorkspaceFolders.hs:63)
DidChangeWorkspaceFoldersParams (src/Language/Haskell/LSP/Types/WorkspaceFolders.hs:120)
DidChangeWorkspaceFoldersNotification (src/Language/Haskell/LSP/Types/WorkspaceFolders.hs:128)
haddock: panic! (the 'impossible' happened)
(GHC version 8.10.3:
ModOrigin: hidden module redefined
Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug
```
## Expected behavior
I'd like error message to hint at module name, say
```
haddock: panic! (the 'impossible' happened)
(GHC version 8.10.3:
ModOrigin: hidden module <$MODNAME> redefined
```
## Environment
* GHC version used: 8.10.3https://gitlab.haskell.org/ghc/ghc/-/issues/19286ghc and ghci don't read the default package environment file on Windows2021-12-09T20:47:10Zdanidiazghc and ghci don't read the default package environment file on Windows## Summary
According to the [package environments section](https://downloads.haskell.org/ghc/latest/docs/html/users_guide/packages.html#package-environments) of the User Guide, `ghc` and `ghci` invocations should use the `$HOME/.ghc/arc...## Summary
According to the [package environments section](https://downloads.haskell.org/ghc/latest/docs/html/users_guide/packages.html#package-environments) of the User Guide, `ghc` and `ghci` invocations should use the `$HOME/.ghc/arch-os-version/environments/default` package environment file if it exists and no specific options have been given to the contrary.
This works correctly on Linux, but the file is not being found on Windows.
On my machine, the default package environment is located at `C:\Users\myuser\.ghc\x86_64-mingw32-8.10.3\environments\default`.
## Steps to reproduce
Create a package environment file in the default location. The simplest way is to install a library with [`cabal install --lib`](https://cabal.readthedocs.io/en/3.4/cabal-commands.html#cabal-v2-install):
`cabal install --lib sop-core`
Then, in an empty folder, start `ghci`, then try to `import Data.SOP.NP`.
Also create a `Main.hs` which imports `Data.SOP.NP` and try to compile with `ghc`.
## Expected behavior
Neither `ghci` nor `ghc` should complain about not finding the module.
`ghci` should show a `Loaded package environment from...` message when starting up.
## Environment
* GHC version used: 8.10.3
* Operating System: Windows 10https://gitlab.haskell.org/ghc/ghc/-/issues/16318Explicitly passing -package-env causes "Loaded package environment from .ghc....2020-08-10T14:07:24ZRyan ScottExplicitly passing -package-env causes "Loaded package environment from .ghc.environment" message to be printed twice```
$ /opt/ghc/8.6.3/bin/ghc -package-env .ghc.environment.x86_64-linux-8.6.3 -e "putStrLn \"Hello\""
Loaded package environment from .ghc.environment.x86_64-linux-8.6.3
Loaded package environment from .ghc.environment.x86_64-linux-8.6.3...```
$ /opt/ghc/8.6.3/bin/ghc -package-env .ghc.environment.x86_64-linux-8.6.3 -e "putStrLn \"Hello\""
Loaded package environment from .ghc.environment.x86_64-linux-8.6.3
Loaded package environment from .ghc.environment.x86_64-linux-8.6.3
Hello
```
This is a regression from GHC 8.4.4:
```
$ /opt/ghc/8.4.4/bin/ghc -package-env .ghc.environment.x86_64-linux-8.4.4 -e "putStrLn \"Hello\""
Loaded package environment from .ghc.environment.x86_64-linux-8.4.4
Hello
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 8.6.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | GHCi |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | hvr |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Explicitly passing -package-env causes \"Loaded package environment from .ghc.environment\" message to be printed twice","status":"New","operating_system":"","component":"GHCi","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"8.6.3","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":["hvr"],"type":"Bug","description":"{{{\r\n$ /opt/ghc/8.6.3/bin/ghc -package-env .ghc.environment.x86_64-linux-8.6.3 -e \"putStrLn \\\"Hello\\\"\"\r\nLoaded package environment from .ghc.environment.x86_64-linux-8.6.3\r\nLoaded package environment from .ghc.environment.x86_64-linux-8.6.3\r\nHello\r\n}}}\r\n\r\nThis is a regression from GHC 8.4.4:\r\n\r\n{{{\r\n$ /opt/ghc/8.4.4/bin/ghc -package-env .ghc.environment.x86_64-linux-8.4.4 -e \"putStrLn \\\"Hello\\\"\"\r\nLoaded package environment from .ghc.environment.x86_64-linux-8.4.4\r\nHello\r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->Artem PelenitsynArtem Pelenitsynhttps://gitlab.haskell.org/ghc/ghc/-/issues/12485-package-db flags now need to be sorted by dependency order2019-07-07T18:26:24Zniteria-package-db flags now need to be sorted by dependency orderAfter 39b71e81ec1044518f065d0055676d713521e483 putting the -package-db flags in the wrong order will result in a compile error:
```
<command line>: cannot satisfy -package-id b-1-XXX:
b-1-XXX is unusable due to missing or recursive ...After 39b71e81ec1044518f065d0055676d713521e483 putting the -package-db flags in the wrong order will result in a compile error:
```
<command line>: cannot satisfy -package-id b-1-XXX:
b-1-XXX is unusable due to missing or recursive dependencies:
a-1-XXX
(use -v for more information)
```
See attached file for a repro.
It's reproduces in 8.0.1 and HEAD. Doesn't reproduce in GHC 7.10.3 or after reverting the above mentioned commit.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 8.0.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Package system |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | ezyang |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"-package-db flags now need to be sorted by dependency order","status":"New","operating_system":"","component":"Package system","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"8.0.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":["ezyang"],"type":"Bug","description":"After 39b71e81ec1044518f065d0055676d713521e483 putting the -package-db flags in the wrong order will result in a compile error:\r\n{{{\r\n<command line>: cannot satisfy -package-id b-1-XXX:\r\n b-1-XXX is unusable due to missing or recursive dependencies:\r\n a-1-XXX\r\n (use -v for more information)\r\n}}}\r\n\r\nSee attached file for a repro.\r\n\r\nIt's reproduces in 8.0.1 and HEAD. Doesn't reproduce in GHC 7.10.3 or after reverting the above mentioned commit.","type_of_failure":"OtherFailure","blocking":[]} -->8.0.3https://gitlab.haskell.org/ghc/ghc/-/issues/12154GHC 8.0.1 x64 Windows installer doesn't honor custom install location2019-07-07T18:27:26ZscsGHC 8.0.1 x64 Windows installer doesn't honor custom install locationThe GHC Windows installer has (thankfully!) the option for a preferred custom install location, in my case 'c:\\devel\\Haskell\\8' (beside 'c:\\devel\\Haskell\\WinHugs' etc.) However, it obstinately installs into 'c:\\Program Files\\Hask...The GHC Windows installer has (thankfully!) the option for a preferred custom install location, in my case 'c:\\devel\\Haskell\\8' (beside 'c:\\devel\\Haskell\\WinHugs' etc.) However, it obstinately installs into 'c:\\Program Files\\Haskell Platform\\yada yada...' The _uninstaller_ operates with the custom location, and the uninstallation therefore fails.
Potential triggers: disallowing the installer to muck with the environment path and registry (I set these myself, thank you very much).
Workaround: GHC is thankfully still self contained, and moving the installation to the preferred location suffices.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 8.0.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Package system |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"GHC 8.0.1 x64 Windows installer doesn't honor custom install location","status":"New","operating_system":"","component":"Package system","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"8.0.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"The GHC Windows installer has (thankfully!) the option for a preferred custom install location, in my case 'c:\\devel\\Haskell\\8' (beside 'c:\\devel\\Haskell\\WinHugs' etc.) However, it obstinately installs into 'c:\\Program Files\\Haskell Platform\\yada yada...' The _uninstaller_ operates with the custom location, and the uninstallation therefore fails.\r\n\r\nPotential triggers: disallowing the installer to muck with the environment path and registry (I set these myself, thank you very much).\r\n\r\nWorkaround: GHC is thankfully still self contained, and moving the installation to the preferred location suffices.","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/11696Windows Install Makes Unnecessary/Incorrect PATH Changes2019-07-07T18:29:03ZAlexAndrewsWindows Install Makes Unnecessary/Incorrect PATH ChangesI installed haskell 7.10.3 (32-bit) under Windows XP SP3 into a folder on my L: drive. However, the installation process added a number of non-existent directories to my PATH variables:
User environment variable PATH:
> C:\\Documents a...I installed haskell 7.10.3 (32-bit) under Windows XP SP3 into a folder on my L: drive. However, the installation process added a number of non-existent directories to my PATH variables:
User environment variable PATH:
> C:\\Documents and Settings\\\<username\>\\Application Data\\cabal\\bin
System environment variable PATH:
> C:\\Program Files\\Haskell\\bin
If these directories need to be in the PATH variables, they should be created by the installer and, if so, since I installed haskell to my L: drive, surely these should be created on my L: drive (or the user should be prompted for their location)?
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.10.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Package system |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Windows Install Makes Unnecessary/Incorrect PATH Changes","status":"New","operating_system":"","component":"Package system","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.10.3","keywords":["environment","install","path","variable"],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"I installed haskell 7.10.3 (32-bit) under Windows XP SP3 into a folder on my L: drive. However, the installation process added a number of non-existent directories to my PATH variables:\r\n\r\nUser environment variable PATH:\r\n\r\n C:\\Documents and Settings\\<username>\\Application Data\\cabal\\bin\r\n\r\nSystem environment variable PATH:\r\n\r\n C:\\Program Files\\Haskell\\bin\r\n\r\nIf these directories need to be in the PATH variables, they should be created by the installer and, if so, since I installed haskell to my L: drive, surely these should be created on my L: drive (or the user should be prompted for their location)?","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/11504Can't install haskell-platform in OpenBSD2019-07-07T18:30:09ZAchifaifaCan't install haskell-platform in OpenBSDI'm trying to install the haskell platform in openbsd. This is the output I get
` Can't install freeglut-2.8.0 because of libraries
|library GL.13.0 not found
| not found anywhere
|library X11.15.1 not found
| not found anywhere
|librar...I'm trying to install the haskell platform in openbsd. This is the output I get
` Can't install freeglut-2.8.0 because of libraries
|library GL.13.0 not found
| not found anywhere
|library X11.15.1 not found
| not found anywhere
|library Xdamage.3.1 not found
| not found anywhere
|library Xext.12.0 not found
| not found anywhere
|library Xfixes.5.1 not found
| not found anywhere
|library Xi.11.1 not found
| not found anywhere
|library Xrandr.6.1 not found
| not found anywhere
|library Xrender.5.0 not found
| not found anywhere
|library Xxf86vm.5.0 not found
| not found anywhere
|library drm.3.1 not found
| not found anywhere
|library xcb.2.4 not found
| not found anywhere
Can't install hs-GLUT-2.1.2.1p11: can't resolve freeglut-2.8.0
Can't install haskell-platform-2012.4.0.0p0: can't resolve hs-GLUT-2.1.2.1p11 `
I'm installing it on a laptop without a desktop environment or X server, so I'm not sure if the problem is that I don't have a X/GL installation or if the installer can't locate some packages in the source.
I'm a total newbie to both OpenBSD and Haskell, so I know nothing that could help with this. Let me know if you need any extra information about the issue.