GHC issueshttps://gitlab.haskell.org/ghc/ghc/-/issues2019-07-07T18:39:46Zhttps://gitlab.haskell.org/ghc/ghc/-/issues/9625ghc: panic using --enable-executable-dynamic2019-07-07T18:39:46ZCoreyOConnorghc: panic using --enable-executable-dynamic(from: https://github.com/haskell/cabal/issues/2039)
Using --enable-executable-dynamic leads to a ghc panic.
Reproduction steps:
```
1. git clone https://github.com/coreyoconnor/executable-dynamic-issue
2. cabal configure --enable-tes...(from: https://github.com/haskell/cabal/issues/2039)
Using --enable-executable-dynamic leads to a ghc panic.
Reproduction steps:
```
1. git clone https://github.com/coreyoconnor/executable-dynamic-issue
2. cabal configure --enable-tests --enable-executable-dynamic
3. cabal test
```
Expected results: Test executes and passes.
Actual results:
```
ghc: panic! (the 'impossible' happened) (GHC version 7.8.2 for x86_64-unknown-linux): Don't understand library name verify-foo
```
Actual results varies based on the name of "verify-foo" test suite. Other names tried: "verifyFoo", "VerifyFoo". All of which also fail.
Removing "--enable-executable-dynamic" results in a pass regardless of test suite name.
Reproduced on GHC 7.8.2, GHC 7.8.3, Cabal 1.18, Cabal 1.20. Ubuntu.https://gitlab.haskell.org/ghc/ghc/-/issues/9375Support for module thinning/renaming on command line2019-07-07T18:40:40ZEdward Z. YangSupport for module thinning/renaming on command lineIn #8407, we added the capability for packages to reexport modules from other packages. This ticket is for the dual operation: during the compilation of a module, rather than being forced dump all of the exposed modules of package foo wh...In #8407, we added the capability for packages to reexport modules from other packages. This ticket is for the dual operation: during the compilation of a module, rather than being forced dump all of the exposed modules of package foo when I say `-package foo`, I should be able to selectively pick which modules I make visible (thinning) and rename them, if I like. For now, the proposed syntax is for all package flags, I can now write `-package "foo (A as B, C)"`.
This feature has special implications for how the package database hiding/showing works. Currently, if I write `-package foo-0.1`, this will automatically go ahead and un-expose any other packages named `foo` that I may have loaded. But if I write `-package foo-0.1 (Foo as Foo1) -package foo-0.2 (Foo as Foo2)`, I probably didn't actually want to hide the old instance of `foo-0.1` when I exposed `foo-0.2`. More generally, rather than thinking of package configuration as flipping exposed/not-exposed bits on and off of an in-memory package database, we would rather think of it as setting up a mapping of module names to their implementations, and only reporting a conflict when there is an inconsistent module mapping.
Since this is a change of behavior, I propose two sets of semantics, controlled by a flag `-backpack` (but really, I mostly care about the second set). Flag naming can be negotiated.
In the \*\*absence\*\* of `-backpack`, thinning/renaming works by modifying the exposed/reexported module fields of the matched packages in the database. However, the old hiding behavior still applies, so this functionality would primarily be useful if two separate packages exported a module with the same name, and you still wanted to use both of them. So, the original example would not do what you want, but `-package mtl (Control.Monad.Trans as MtlTrans) -package transformers (Control.Monad.Trans as TransformersTrans)` would DTRT.
- \*With\*\* the `-backpack` flag, no auto-hiding of packages occurs (this affects flags with thinning and renaming). Furthermore, the package database is cleared, as would be done with `-hide-all-packages`. We replace the old resolution algorithm with the new one, which processes each flag one-by-one while building a module mapping, picking a package which is consistent with the currently selected set of packages. This consistency is done by looking at the current module mapping and ensuring all of the modules the package would bring into scope are consistent with the modules we have already. Both example shown before would work; furthermore, `-package foo -package foo` would also continue to work, since `foo`'s exports are consistent with itself. However, `-package foo-0.1 -package foo-0.2` would be rejected (whereas now it is accepted.)
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.8.2 |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Package system |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Support for module thinning/renaming on command line","status":"New","operating_system":"","component":"Package system","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"OwnedBy","contents":"ezyang"},"version":"7.8.2","keywords":["backpack"],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"FeatureRequest","description":"In #8407, we added the capability for packages to reexport modules from other packages. This ticket is for the dual operation: during the compilation of a module, rather than being forced dump all of the exposed modules of package foo when I say `-package foo`, I should be able to selectively pick which modules I make visible (thinning) and rename them, if I like. For now, the proposed syntax is for all package flags, I can now write `-package \"foo (A as B, C)\"`.\r\n\r\nThis feature has special implications for how the package database hiding/showing works. Currently, if I write `-package foo-0.1`, this will automatically go ahead and un-expose any other packages named `foo` that I may have loaded. But if I write `-package foo-0.1 (Foo as Foo1) -package foo-0.2 (Foo as Foo2)`, I probably didn't actually want to hide the old instance of `foo-0.1` when I exposed `foo-0.2`. More generally, rather than thinking of package configuration as flipping exposed/not-exposed bits on and off of an in-memory package database, we would rather think of it as setting up a mapping of module names to their implementations, and only reporting a conflict when there is an inconsistent module mapping.\r\n\r\nSince this is a change of behavior, I propose two sets of semantics, controlled by a flag `-backpack` (but really, I mostly care about the second set). Flag naming can be negotiated.\r\n\r\nIn the **absence** of `-backpack`, thinning/renaming works by modifying the exposed/reexported module fields of the matched packages in the database. However, the old hiding behavior still applies, so this functionality would primarily be useful if two separate packages exported a module with the same name, and you still wanted to use both of them. So, the original example would not do what you want, but `-package mtl (Control.Monad.Trans as MtlTrans) -package transformers (Control.Monad.Trans as TransformersTrans)` would DTRT.\r\n\r\n**With** the `-backpack` flag, no auto-hiding of packages occurs (this affects flags with thinning and renaming). Furthermore, the package database is cleared, as would be done with `-hide-all-packages`. We replace the old resolution algorithm with the new one, which processes each flag one-by-one while building a module mapping, picking a package which is consistent with the currently selected set of packages. This consistency is done by looking at the current module mapping and ensuring all of the modules the package would bring into scope are consistent with the modules we have already. Both example shown before would work; furthermore, `-package foo -package foo` would also continue to work, since `foo`'s exports are consistent with itself. However, `-package foo-0.1 -package foo-0.2` would be rejected (whereas now it is accepted.)","type_of_failure":"OtherFailure","blocking":[]} -->Edward Z. YangEdward Z. Yanghttps://gitlab.haskell.org/ghc/ghc/-/issues/9331Release Cabal 1.22 before GHC 7.10 release2019-07-07T18:40:51ZEdward Z. YangRelease Cabal 1.22 before GHC 7.10 releaseJust a tracking bug so we don't forget.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.9 |
| Type ...Just a tracking bug so we don't forget.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.9 |
| Type | Task |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Package system |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Release Cabal 1.22 before GHC 7.10 release","status":"New","operating_system":"","component":"Package system","related":[],"milestone":"7.10.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.9","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Task","description":"Just a tracking bug so we don't forget.","type_of_failure":"OtherFailure","blocking":[]} -->7.10.1https://gitlab.haskell.org/ghc/ghc/-/issues/9265Create PackageKey to replace PackageId, including version dependency information2019-07-07T18:41:08ZEdward Z. YangCreate PackageKey to replace PackageId, including version dependency information[Multipleinstalledinstancesofapackage](commentary/packages/multi-instances) has been a long sought after feature to alleviate Cabal hell, and was the subject of an [GSoC project](wiki:Commentary/GSoCMultipleInstances) that ultimately nev...[Multipleinstalledinstancesofapackage](commentary/packages/multi-instances) has been a long sought after feature to alleviate Cabal hell, and was the subject of an [GSoC project](wiki:Commentary/GSoCMultipleInstances) that ultimately never got merged into HEAD.
This ticket is our latest attack on the problem, summarized as: add a version dependency hash to the `PackageId` (NOT the `InstalledPackageId`) associated with packages in the database. This approach is distinguished from the prior attempts as follows:
- We make no attempt to support multiple installations of different ways or ABI-compatible versions of a library (e.g. with/without optimizations.) This corresponds to supporting multiple InstalledPackageIds in a database; in our case, we're supporting multiple `PackageId`.
- We do not have to deal with conflicting "instances" in GHC's package resolver: multiple instances can be simultaneously loaded and used in a single compiled program. This is because PackageIds are baked into the exported linker symbols, so different versions will have different names and can peacefully coexist.
- We do not have to deal with the delicate ordering problem of calculating an ABI hash when configuring a package, which is prior to when we actually know it (ABI hash is only known after compilation), because our hash is based ONLY on dependency resolution choice.
- In absence of preference for previously installed packages, our Cabal dependency resolution stays exactly the same: Cabal picks versions, and from these choices we calculate the dependency hashes. With preference, we will have to do a little more work.
- We do not attempt to garbage collect old packages. Because we are not dependent on ABI, there is not an explosion of installed pacakges from package development; new installed packages only occur when version numbers are bumped up, or packages are installed in a combinatorially different fashion.7.10.1Edward Z. YangEdward Z. Yanghttps://gitlab.haskell.org/ghc/ghc/-/issues/9060`cabal` linking error with GHC 7.8.22019-07-07T18:42:06Zpseudonom`cabal` linking error with GHC 7.8.2First reported on [GitHub](https://github.com/haskell/cabal/issues/1830).
Trying
```
rm -r .ghc .cabal
cabal update
cabal install cabal-install # Update from 1.16.0.2 to 1.20.0.0
cabal install polyparse
```
with GHC 7.8.2 throws the f...First reported on [GitHub](https://github.com/haskell/cabal/issues/1830).
Trying
```
rm -r .ghc .cabal
cabal update
cabal install cabal-install # Update from 1.16.0.2 to 1.20.0.0
cabal install polyparse
```
with GHC 7.8.2 throws the following error:
```
[18 of 18] Compiling Text.ParserCombinators.HuttonMeijer ( src/Text/ParserCombinators/HuttonMeijer.hs, dist/build/Text/ParserCombinators/HuttonMeijer.o )
src/Text/ParserCombinators/HuttonMeijer.hs:53:10: Warning:
‘Parser’ is an instance of Monad but not Applicative - this will become an error in GHC 7.10, under the Applicative-Monad Proposal.
src/Text/ParserCombinators/HuttonMeijer.hs:63:10: Warning:
‘Parser’ is an instance of MonadPlus but not Alternative - this will become an error in GHC 7.10, under the Applicative-Monad Proposal.
Linking...
/usr/bin/ar -r dist/build/libHSpolyparse-1.9.a-12038/libHSpolyparse-1.9.a dist/build/Text/ParserCombinators/HuttonMeijer.o dist/build/Text/ParserCombinators/HuttonMeijerWallace.o dist/build/Text/ParserCombinators/Poly.o dist/build/Text/ParserCombinators/Poly/Base.o dist/build/Text/ParserCombinators/Poly/Result.o dist/build/Text/ParserCombinators/Poly/Parser.o dist/build/Text/ParserCombinators/Poly/Plain.o dist/build/Text/ParserCombinators/Poly/Lazy.o dist/build/Text/ParserCombinators/Poly/StateParser.o dist/build/Text/ParserCombinators/Poly/State.o dist/build/Text/ParserCombinators/Poly/StateLazy.o dist/build/Text/ParserCombinators/Poly/Lex.o dist/build/Text/Parse.o dist/build/Text/ParserCombinators/Poly/ByteString.o dist/build/Text/ParserCombinators/Poly/ByteStringChar.o dist/build/Text/Parse/ByteString.o dist/build/Text/ParserCombinators/Poly/Text.o dist/build/Text/ParserCombinators/Poly/StateText.o
/usr/bin/ar: creating dist/build/libHSpolyparse-1.9.a-12038/libHSpolyparse-1.9.a
/usr/bin/strip dist/build/libHSpolyparse-1.9.a-12038/libHSpolyparse-1.9.a --strip-unneeded
/usr/bin/ghc -shared -dynamic -package-name polyparse-1.9 -no-auto-link-packages -package-db dist/package.conf.inplace -package-id base-4.7.0.0-018311399e3b6350d5be3a16b144df9b -package-id bytestring-0.10.4.0-7de5230c6d895786641a4de344336838 -package-id text-1.1.1.1-dd6849c4a01e66d368eb3b161ca67182 dist/build/Text/ParserCombinators/HuttonMeijer.dyn_o dist/build/Text/ParserCombinators/HuttonMeijerWallace.dyn_o dist/build/Text/ParserCombinators/Poly.dyn_o dist/build/Text/ParserCombinators/Poly/Base.dyn_o dist/build/Text/ParserCombinators/Poly/Result.dyn_o dist/build/Text/ParserCombinators/Poly/Parser.dyn_o dist/build/Text/ParserCombinators/Poly/Plain.dyn_o dist/build/Text/ParserCombinators/Poly/Lazy.dyn_o dist/build/Text/ParserCombinators/Poly/StateParser.dyn_o dist/build/Text/ParserCombinators/Poly/State.dyn_o dist/build/Text/ParserCombinators/Poly/StateLazy.dyn_o dist/build/Text/ParserCombinators/Poly/Lex.dyn_o dist/build/Text/Parse.dyn_o dist/build/Text/ParserCombinators/Poly/ByteString.dyn_o dist/build/Text/ParserCombinators/Poly/ByteStringChar.dyn_o dist/build/Text/Parse/ByteString.dyn_o dist/build/Text/ParserCombinators/Poly/Text.dyn_o dist/build/Text/ParserCombinators/Poly/StateText.dyn_o -o dist/build/libHSpolyparse-1.9-ghc7.8.2.so
/usr/bin/ld: cannot find -lHStext-1.1.1.1-ghc7.8.2
collect2: error: ld returned 1 exit status
Failed to install polyparse-1.9
Updating world file...
cabal: Error: some packages failed to install:
polyparse-1.9 failed during the building phase. The exception was:
ExitFailure 1
```
It happens with other packages as well. `hashable`, for example. The `text` that `polyparse` fails on is installed as a transitive dependency of `cabal-install`:
```
...
[43 of 43] Compiling Data.Text.Read ( Data/Text/Read.hs, dist/build/Data/Text/Read.o )
Building C Sources...
creating dist/build
/usr/bin/ghc -c -odir dist/build -Idist/build -Iinclude -optc-O2 -package-db dist/package.conf.inplace -package-id array-0.5.0.0-9f212a0e8caa74d931af75060b4de2ab -package-id base-4.7.0.0-018311399e3b6350d5be3a16b144df9b -package-id bytestring-0.10.4.0-7de5230c6d895786641a4de344336838 -package-id deepseq-1.3.0.2-7160f83fdfe69b3794a2d7a3ad8d4c19 -package-id ghc-prim-0.3.1.0-948744e1f99cc8bcc7c7d3ba60c7c2d8 -package-id integer-gmp-0.5.1.0-dc47f6b546fc171f67a7f7d311684a99 cbits/cbits.c
Linking...
/usr/bin/ar -r dist/build/libHStext-1.1.1.1.a dist/build/Data/Text.o dist/build/Data/Text/Array.o dist/build/Data/Text/Encoding.o dist/build/Data/Text/Encoding/Error.o dist/build/Data/Text/Foreign.o dist/build/Data/Text/IO.o dist/build/Data/Text/Internal.o dist/build/Data/Text/Internal/Builder.o dist/build/Data/Text/Internal/Builder/Functions.o dist/build/Data/Text/Internal/Builder/Int/Digits.o dist/build/Data/Text/Internal/Builder/RealFloat/Functions.o dist/build/Data/Text/Internal/Encoding/Fusion.o dist/build/Data/Text/Internal/Encoding/Fusion/Common.o dist/build/Data/Text/Internal/Encoding/Utf16.o dist/build/Data/Text/Internal/Encoding/Utf32.o dist/build/Data/Text/Internal/Encoding/Utf8.o dist/build/Data/Text/Internal/Functions.o dist/build/Data/Text/Internal/Fusion.o dist/build/Data/Text/Internal/Fusion/CaseMapping.o dist/build/Data/Text/Internal/Fusion/Common.o dist/build/Data/Text/Internal/Fusion/Size.o dist/build/Data/Text/Internal/Fusion/Types.o dist/build/Data/Text/Internal/IO.o dist/build/Data/Text/Internal/Lazy.o dist/build/Data/Text/Internal/Lazy/Encoding/Fusion.o dist/build/Data/Text/Internal/Lazy/Fusion.o dist/build/Data/Text/Internal/Lazy/Search.o dist/build/Data/Text/Internal/Private.o dist/build/Data/Text/Internal/Read.o dist/build/Data/Text/Internal/Search.o dist/build/Data/Text/Internal/Unsafe.o dist/build/Data/Text/Internal/Unsafe/Char.o dist/build/Data/Text/Internal/Unsafe/Shift.o dist/build/Data/Text/Lazy.o dist/build/Data/Text/Lazy/Builder.o dist/build/Data/Text/Lazy/Builder/Int.o dist/build/Data/Text/Lazy/Builder/RealFloat.o dist/build/Data/Text/Lazy/Encoding.o dist/build/Data/Text/Lazy/IO.o dist/build/Data/Text/Lazy/Internal.o dist/build/Data/Text/Lazy/Read.o dist/build/Data/Text/Read.o dist/build/Data/Text/Unsafe.o dist/build/cbits/cbits.o
/usr/bin/ar: creating dist/build/libHStext-1.1.1.1.a
/usr/bin/ld -x -r -o dist/build/HStext-1.1.1.1.o dist/build/Data/Text.o dist/build/Data/Text/Array.o dist/build/Data/Text/Encoding.o dist/build/Data/Text/Encoding/Error.o dist/build/Data/Text/Foreign.o dist/build/Data/Text/IO.o dist/build/Data/Text/Internal.o dist/build/Data/Text/Internal/Builder.o dist/build/Data/Text/Internal/Builder/Functions.o dist/build/Data/Text/Internal/Builder/Int/Digits.o dist/build/Data/Text/Internal/Builder/RealFloat/Functions.o dist/build/Data/Text/Internal/Encoding/Fusion.o dist/build/Data/Text/Internal/Encoding/Fusion/Common.o dist/build/Data/Text/Internal/Encoding/Utf16.o dist/build/Data/Text/Internal/Encoding/Utf32.o dist/build/Data/Text/Internal/Encoding/Utf8.o dist/build/Data/Text/Internal/Functions.o dist/build/Data/Text/Internal/Fusion.o dist/build/Data/Text/Internal/Fusion/CaseMapping.o dist/build/Data/Text/Internal/Fusion/Common.o dist/build/Data/Text/Internal/Fusion/Size.o dist/build/Data/Text/Internal/Fusion/Types.o dist/build/Data/Text/Internal/IO.o dist/build/Data/Text/Internal/Lazy.o dist/build/Data/Text/Internal/Lazy/Encoding/Fusion.o dist/build/Data/Text/Internal/Lazy/Fusion.o dist/build/Data/Text/Internal/Lazy/Search.o dist/build/Data/Text/Internal/Private.o dist/build/Data/Text/Internal/Read.o dist/build/Data/Text/Internal/Search.o dist/build/Data/Text/Internal/Unsafe.o dist/build/Data/Text/Internal/Unsafe/Char.o dist/build/Data/Text/Internal/Unsafe/Shift.o dist/build/Data/Text/Lazy.o dist/build/Data/Text/Lazy/Builder.o dist/build/Data/Text/Lazy/Builder/Int.o dist/build/Data/Text/Lazy/Builder/RealFloat.o dist/build/Data/Text/Lazy/Encoding.o dist/build/Data/Text/Lazy/IO.o dist/build/Data/Text/Lazy/Internal.o dist/build/Data/Text/Lazy/Read.o dist/build/Data/Text/Read.o dist/build/Data/Text/Unsafe.o dist/build/cbits/cbits.o
In-place registering text-1.1.1.1...
/usr/bin/ghc-pkg update - --global --user --package-db=dist/package.conf.inplace
directory dist/doc/html/text does exist: False
creating /home/intrados/.cabal/share/doc/text-1.1.1.1
Installing LICENSE to /home/intrados/.cabal/share/doc/text-1.1.1.1/LICENSE
Installing library in /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2
creating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data
creating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2
creating /home/intrados/.cabal/lib/text-1.1.1.1
creating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2
creating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data
creating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text
creating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Encoding
creating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal
creating
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Builder
creating
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Builder/Int
creating
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Builder/RealFloat
creating
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Encoding
creating
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Encoding/Fusion
creating
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Fusion
creating
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Lazy/Encoding
creating
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Lazy
creating
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Lazy/Encoding
creating
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Lazy
creating
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Unsafe
creating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy
creating
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy/Builder
Installing dist/build/Data/Text.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text.hi
Installing dist/build/Data/Text/Array.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Array.hi
Installing dist/build/Data/Text/Encoding.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Encoding.hi
Installing dist/build/Data/Text/Encoding/Error.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Encoding/Error.hi
Installing dist/build/Data/Text/Foreign.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Foreign.hi
Installing dist/build/Data/Text/IO.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/IO.hi
Installing dist/build/Data/Text/Internal.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal.hi
Installing dist/build/Data/Text/Internal/Builder.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Builder.hi
Installing dist/build/Data/Text/Internal/Builder/Functions.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Builder/Functions.hi
Installing dist/build/Data/Text/Internal/Builder/Int/Digits.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Builder/Int/Digits.hi
Installing dist/build/Data/Text/Internal/Builder/RealFloat/Functions.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Builder/RealFloat/Functions.hi
Installing dist/build/Data/Text/Internal/Encoding/Fusion.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Encoding/Fusion.hi
Installing dist/build/Data/Text/Internal/Encoding/Fusion/Common.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Encoding/Fusion/Common.hi
Installing dist/build/Data/Text/Internal/Encoding/Utf16.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Encoding/Utf16.hi
Installing dist/build/Data/Text/Internal/Encoding/Utf32.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Encoding/Utf32.hi
Installing dist/build/Data/Text/Internal/Encoding/Utf8.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Encoding/Utf8.hi
Installing dist/build/Data/Text/Internal/Functions.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Functions.hi
Installing dist/build/Data/Text/Internal/Fusion.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Fusion.hi
Installing dist/build/Data/Text/Internal/Fusion/CaseMapping.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Fusion/CaseMapping.hi
Installing dist/build/Data/Text/Internal/Fusion/Common.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Fusion/Common.hi
Installing dist/build/Data/Text/Internal/Fusion/Size.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Fusion/Size.hi
Installing dist/build/Data/Text/Internal/Fusion/Types.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Fusion/Types.hi
Installing dist/build/Data/Text/Internal/IO.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/IO.hi
Installing dist/build/Data/Text/Internal/Lazy.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Lazy.hi
Installing dist/build/Data/Text/Internal/Lazy/Encoding/Fusion.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Lazy/Encoding/Fusion.hi
Installing dist/build/Data/Text/Internal/Lazy/Fusion.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Lazy/Fusion.hi
Installing dist/build/Data/Text/Internal/Lazy/Search.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Lazy/Search.hi
Installing dist/build/Data/Text/Internal/Private.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Private.hi
Installing dist/build/Data/Text/Internal/Read.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Read.hi
Installing dist/build/Data/Text/Internal/Search.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Search.hi
Installing dist/build/Data/Text/Internal/Unsafe.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Unsafe.hi
Installing dist/build/Data/Text/Internal/Unsafe/Char.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Unsafe/Char.hi
Installing dist/build/Data/Text/Internal/Unsafe/Shift.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Unsafe/Shift.hi
Installing dist/build/Data/Text/Lazy.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy.hi
Installing dist/build/Data/Text/Lazy/Builder.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy/Builder.hi
Installing dist/build/Data/Text/Lazy/Builder/Int.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy/Builder/Int.hi
Installing dist/build/Data/Text/Lazy/Builder/RealFloat.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy/Builder/RealFloat.hi
Installing dist/build/Data/Text/Lazy/Encoding.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy/Encoding.hi
Installing dist/build/Data/Text/Lazy/IO.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy/IO.hi
Installing dist/build/Data/Text/Lazy/Internal.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy/Internal.hi
Installing dist/build/Data/Text/Lazy/Read.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy/Read.hi
Installing dist/build/Data/Text/Read.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Read.hi
Installing dist/build/Data/Text/Unsafe.hi to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Unsafe.hi
creating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2
Installing dist/build/libHStext-1.1.1.1.a to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/libHStext-1.1.1.1.a
creating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2
Installing dist/build/HStext-1.1.1.1.o to
/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/HStext-1.1.1.1.o
/usr/bin/ghc --abi-hash -fbuilding-cabal-package -O -odir dist/build -hidir dist/build -stubdir dist/build -i -idist/build -i. -idist/build/autogen -Idist/build/autogen -Idist/build -Iinclude -optP-DINTEGER_GMP -optP-DHAVE_DEEPSEQ -optP-include -optPdist/build/autogen/cabal_macros.h -package-name text-1.1.1.1 -hide-all-packages -package-id array-0.5.0.0-9f212a0e8caa74d931af75060b4de2ab -package-id base-4.7.0.0-018311399e3b6350d5be3a16b144df9b -package-id bytestring-0.10.4.0-7de5230c6d895786641a4de344336838 -package-id deepseq-1.3.0.2-7160f83fdfe69b3794a2d7a3ad8d4c19 -package-id ghc-prim-0.3.1.0-948744e1f99cc8bcc7c7d3ba60c7c2d8 -package-id integer-gmp-0.5.1.0-dc47f6b546fc171f67a7f7d311684a99 -XHaskell98 Data.Text Data.Text.Array Data.Text.Encoding Data.Text.Encoding.Error Data.Text.Foreign Data.Text.IO Data.Text.Internal Data.Text.Internal.Builder Data.Text.Internal.Builder.Functions Data.Text.Internal.Builder.Int.Digits Data.Text.Internal.Builder.RealFloat.Functions Data.Text.Internal.Encoding.Fusion Data.Text.Internal.Encoding.Fusion.Common Data.Text.Internal.Encoding.Utf16 Data.Text.Internal.Encoding.Utf32 Data.Text.Internal.Encoding.Utf8 Data.Text.Internal.Functions Data.Text.Internal.Fusion Data.Text.Internal.Fusion.CaseMapping Data.Text.Internal.Fusion.Common Data.Text.Internal.Fusion.Size Data.Text.Internal.Fusion.Types Data.Text.Internal.IO Data.Text.Internal.Lazy Data.Text.Internal.Lazy.Encoding.Fusion Data.Text.Internal.Lazy.Fusion Data.Text.Internal.Lazy.Search Data.Text.Internal.Private Data.Text.Internal.Read Data.Text.Internal.Search Data.Text.Internal.Unsafe Data.Text.Internal.Unsafe.Char Data.Text.Internal.Unsafe.Shift Data.Text.Lazy Data.Text.Lazy.Builder Data.Text.Lazy.Builder.Int Data.Text.Lazy.Builder.RealFloat Data.Text.Lazy.Encoding Data.Text.Lazy.IO Data.Text.Lazy.Internal Data.Text.Lazy.Read Data.Text.Read Data.Text.Unsafe -Wall -fwarn-tabs -funbox-strict-fields -O2
Registering text-1.1.1.1...
/usr/bin/ghc-pkg update - --global --user
Installed text-1.1.1.1
```
The same procedure succeeds with a clean GHC 7.6.3.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.8.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":"`cabal` linking error with GHC 7.8.2","status":"New","operating_system":"","component":"Package system","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.8.2","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"First reported on [https://github.com/haskell/cabal/issues/1830 GitHub].\r\n\r\nTrying\r\n\r\n{{{\r\nrm -r .ghc .cabal\r\ncabal update\r\ncabal install cabal-install # Update from 1.16.0.2 to 1.20.0.0\r\ncabal install polyparse\r\n}}}\r\n\r\nwith GHC 7.8.2 throws the following error:\r\n\r\n{{{\r\n[18 of 18] Compiling Text.ParserCombinators.HuttonMeijer ( src/Text/ParserCombinators/HuttonMeijer.hs, dist/build/Text/ParserCombinators/HuttonMeijer.o )\r\n\r\nsrc/Text/ParserCombinators/HuttonMeijer.hs:53:10: Warning:\r\n ‘Parser’ is an instance of Monad but not Applicative - this will become an error in GHC 7.10, under the Applicative-Monad Proposal.\r\n\r\nsrc/Text/ParserCombinators/HuttonMeijer.hs:63:10: Warning:\r\n ‘Parser’ is an instance of MonadPlus but not Alternative - this will become an error in GHC 7.10, under the Applicative-Monad Proposal.\r\nLinking...\r\n/usr/bin/ar -r dist/build/libHSpolyparse-1.9.a-12038/libHSpolyparse-1.9.a dist/build/Text/ParserCombinators/HuttonMeijer.o dist/build/Text/ParserCombinators/HuttonMeijerWallace.o dist/build/Text/ParserCombinators/Poly.o dist/build/Text/ParserCombinators/Poly/Base.o dist/build/Text/ParserCombinators/Poly/Result.o dist/build/Text/ParserCombinators/Poly/Parser.o dist/build/Text/ParserCombinators/Poly/Plain.o dist/build/Text/ParserCombinators/Poly/Lazy.o dist/build/Text/ParserCombinators/Poly/StateParser.o dist/build/Text/ParserCombinators/Poly/State.o dist/build/Text/ParserCombinators/Poly/StateLazy.o dist/build/Text/ParserCombinators/Poly/Lex.o dist/build/Text/Parse.o dist/build/Text/ParserCombinators/Poly/ByteString.o dist/build/Text/ParserCombinators/Poly/ByteStringChar.o dist/build/Text/Parse/ByteString.o dist/build/Text/ParserCombinators/Poly/Text.o dist/build/Text/ParserCombinators/Poly/StateText.o\r\n/usr/bin/ar: creating dist/build/libHSpolyparse-1.9.a-12038/libHSpolyparse-1.9.a\r\n/usr/bin/strip dist/build/libHSpolyparse-1.9.a-12038/libHSpolyparse-1.9.a --strip-unneeded\r\n/usr/bin/ghc -shared -dynamic -package-name polyparse-1.9 -no-auto-link-packages -package-db dist/package.conf.inplace -package-id base-4.7.0.0-018311399e3b6350d5be3a16b144df9b -package-id bytestring-0.10.4.0-7de5230c6d895786641a4de344336838 -package-id text-1.1.1.1-dd6849c4a01e66d368eb3b161ca67182 dist/build/Text/ParserCombinators/HuttonMeijer.dyn_o dist/build/Text/ParserCombinators/HuttonMeijerWallace.dyn_o dist/build/Text/ParserCombinators/Poly.dyn_o dist/build/Text/ParserCombinators/Poly/Base.dyn_o dist/build/Text/ParserCombinators/Poly/Result.dyn_o dist/build/Text/ParserCombinators/Poly/Parser.dyn_o dist/build/Text/ParserCombinators/Poly/Plain.dyn_o dist/build/Text/ParserCombinators/Poly/Lazy.dyn_o dist/build/Text/ParserCombinators/Poly/StateParser.dyn_o dist/build/Text/ParserCombinators/Poly/State.dyn_o dist/build/Text/ParserCombinators/Poly/StateLazy.dyn_o dist/build/Text/ParserCombinators/Poly/Lex.dyn_o dist/build/Text/Parse.dyn_o dist/build/Text/ParserCombinators/Poly/ByteString.dyn_o dist/build/Text/ParserCombinators/Poly/ByteStringChar.dyn_o dist/build/Text/Parse/ByteString.dyn_o dist/build/Text/ParserCombinators/Poly/Text.dyn_o dist/build/Text/ParserCombinators/Poly/StateText.dyn_o -o dist/build/libHSpolyparse-1.9-ghc7.8.2.so\r\n/usr/bin/ld: cannot find -lHStext-1.1.1.1-ghc7.8.2\r\ncollect2: error: ld returned 1 exit status\r\nFailed to install polyparse-1.9\r\nUpdating world file...\r\ncabal: Error: some packages failed to install:\r\npolyparse-1.9 failed during the building phase. The exception was:\r\nExitFailure 1\r\n}}}\r\n\r\nIt happens with other packages as well. {{{hashable}}}, for example. The {{{text}}} that {{{polyparse}}} fails on is installed as a transitive dependency of {{{cabal-install}}}:\r\n\r\n{{{\r\n...\r\n[43 of 43] Compiling Data.Text.Read ( Data/Text/Read.hs, dist/build/Data/Text/Read.o )\r\nBuilding C Sources...\r\ncreating dist/build\r\n/usr/bin/ghc -c -odir dist/build -Idist/build -Iinclude -optc-O2 -package-db dist/package.conf.inplace -package-id array-0.5.0.0-9f212a0e8caa74d931af75060b4de2ab -package-id base-4.7.0.0-018311399e3b6350d5be3a16b144df9b -package-id bytestring-0.10.4.0-7de5230c6d895786641a4de344336838 -package-id deepseq-1.3.0.2-7160f83fdfe69b3794a2d7a3ad8d4c19 -package-id ghc-prim-0.3.1.0-948744e1f99cc8bcc7c7d3ba60c7c2d8 -package-id integer-gmp-0.5.1.0-dc47f6b546fc171f67a7f7d311684a99 cbits/cbits.c\r\nLinking...\r\n/usr/bin/ar -r dist/build/libHStext-1.1.1.1.a dist/build/Data/Text.o dist/build/Data/Text/Array.o dist/build/Data/Text/Encoding.o dist/build/Data/Text/Encoding/Error.o dist/build/Data/Text/Foreign.o dist/build/Data/Text/IO.o dist/build/Data/Text/Internal.o dist/build/Data/Text/Internal/Builder.o dist/build/Data/Text/Internal/Builder/Functions.o dist/build/Data/Text/Internal/Builder/Int/Digits.o dist/build/Data/Text/Internal/Builder/RealFloat/Functions.o dist/build/Data/Text/Internal/Encoding/Fusion.o dist/build/Data/Text/Internal/Encoding/Fusion/Common.o dist/build/Data/Text/Internal/Encoding/Utf16.o dist/build/Data/Text/Internal/Encoding/Utf32.o dist/build/Data/Text/Internal/Encoding/Utf8.o dist/build/Data/Text/Internal/Functions.o dist/build/Data/Text/Internal/Fusion.o dist/build/Data/Text/Internal/Fusion/CaseMapping.o dist/build/Data/Text/Internal/Fusion/Common.o dist/build/Data/Text/Internal/Fusion/Size.o dist/build/Data/Text/Internal/Fusion/Types.o dist/build/Data/Text/Internal/IO.o dist/build/Data/Text/Internal/Lazy.o dist/build/Data/Text/Internal/Lazy/Encoding/Fusion.o dist/build/Data/Text/Internal/Lazy/Fusion.o dist/build/Data/Text/Internal/Lazy/Search.o dist/build/Data/Text/Internal/Private.o dist/build/Data/Text/Internal/Read.o dist/build/Data/Text/Internal/Search.o dist/build/Data/Text/Internal/Unsafe.o dist/build/Data/Text/Internal/Unsafe/Char.o dist/build/Data/Text/Internal/Unsafe/Shift.o dist/build/Data/Text/Lazy.o dist/build/Data/Text/Lazy/Builder.o dist/build/Data/Text/Lazy/Builder/Int.o dist/build/Data/Text/Lazy/Builder/RealFloat.o dist/build/Data/Text/Lazy/Encoding.o dist/build/Data/Text/Lazy/IO.o dist/build/Data/Text/Lazy/Internal.o dist/build/Data/Text/Lazy/Read.o dist/build/Data/Text/Read.o dist/build/Data/Text/Unsafe.o dist/build/cbits/cbits.o\r\n/usr/bin/ar: creating dist/build/libHStext-1.1.1.1.a\r\n/usr/bin/ld -x -r -o dist/build/HStext-1.1.1.1.o dist/build/Data/Text.o dist/build/Data/Text/Array.o dist/build/Data/Text/Encoding.o dist/build/Data/Text/Encoding/Error.o dist/build/Data/Text/Foreign.o dist/build/Data/Text/IO.o dist/build/Data/Text/Internal.o dist/build/Data/Text/Internal/Builder.o dist/build/Data/Text/Internal/Builder/Functions.o dist/build/Data/Text/Internal/Builder/Int/Digits.o dist/build/Data/Text/Internal/Builder/RealFloat/Functions.o dist/build/Data/Text/Internal/Encoding/Fusion.o dist/build/Data/Text/Internal/Encoding/Fusion/Common.o dist/build/Data/Text/Internal/Encoding/Utf16.o dist/build/Data/Text/Internal/Encoding/Utf32.o dist/build/Data/Text/Internal/Encoding/Utf8.o dist/build/Data/Text/Internal/Functions.o dist/build/Data/Text/Internal/Fusion.o dist/build/Data/Text/Internal/Fusion/CaseMapping.o dist/build/Data/Text/Internal/Fusion/Common.o dist/build/Data/Text/Internal/Fusion/Size.o dist/build/Data/Text/Internal/Fusion/Types.o dist/build/Data/Text/Internal/IO.o dist/build/Data/Text/Internal/Lazy.o dist/build/Data/Text/Internal/Lazy/Encoding/Fusion.o dist/build/Data/Text/Internal/Lazy/Fusion.o dist/build/Data/Text/Internal/Lazy/Search.o dist/build/Data/Text/Internal/Private.o dist/build/Data/Text/Internal/Read.o dist/build/Data/Text/Internal/Search.o dist/build/Data/Text/Internal/Unsafe.o dist/build/Data/Text/Internal/Unsafe/Char.o dist/build/Data/Text/Internal/Unsafe/Shift.o dist/build/Data/Text/Lazy.o dist/build/Data/Text/Lazy/Builder.o dist/build/Data/Text/Lazy/Builder/Int.o dist/build/Data/Text/Lazy/Builder/RealFloat.o dist/build/Data/Text/Lazy/Encoding.o dist/build/Data/Text/Lazy/IO.o dist/build/Data/Text/Lazy/Internal.o dist/build/Data/Text/Lazy/Read.o dist/build/Data/Text/Read.o dist/build/Data/Text/Unsafe.o dist/build/cbits/cbits.o\r\nIn-place registering text-1.1.1.1...\r\n/usr/bin/ghc-pkg update - --global --user --package-db=dist/package.conf.inplace\r\ndirectory dist/doc/html/text does exist: False\r\ncreating /home/intrados/.cabal/share/doc/text-1.1.1.1\r\nInstalling LICENSE to /home/intrados/.cabal/share/doc/text-1.1.1.1/LICENSE\r\nInstalling library in /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2\r\ncreating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data\r\ncreating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2\r\ncreating /home/intrados/.cabal/lib/text-1.1.1.1\r\ncreating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2\r\ncreating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data\r\ncreating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text\r\ncreating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Encoding\r\ncreating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal\r\ncreating\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Builder\r\ncreating\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Builder/Int\r\ncreating\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Builder/RealFloat\r\ncreating\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Encoding\r\ncreating\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Encoding/Fusion\r\ncreating\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Fusion\r\ncreating\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Lazy/Encoding\r\ncreating\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Lazy\r\ncreating\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Lazy/Encoding\r\ncreating\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Lazy\r\ncreating\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Unsafe\r\ncreating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy\r\ncreating\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy/Builder\r\nInstalling dist/build/Data/Text.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text.hi\r\nInstalling dist/build/Data/Text/Array.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Array.hi\r\nInstalling dist/build/Data/Text/Encoding.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Encoding.hi\r\nInstalling dist/build/Data/Text/Encoding/Error.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Encoding/Error.hi\r\nInstalling dist/build/Data/Text/Foreign.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Foreign.hi\r\nInstalling dist/build/Data/Text/IO.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/IO.hi\r\nInstalling dist/build/Data/Text/Internal.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal.hi\r\nInstalling dist/build/Data/Text/Internal/Builder.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Builder.hi\r\nInstalling dist/build/Data/Text/Internal/Builder/Functions.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Builder/Functions.hi\r\nInstalling dist/build/Data/Text/Internal/Builder/Int/Digits.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Builder/Int/Digits.hi\r\nInstalling dist/build/Data/Text/Internal/Builder/RealFloat/Functions.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Builder/RealFloat/Functions.hi\r\nInstalling dist/build/Data/Text/Internal/Encoding/Fusion.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Encoding/Fusion.hi\r\nInstalling dist/build/Data/Text/Internal/Encoding/Fusion/Common.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Encoding/Fusion/Common.hi\r\nInstalling dist/build/Data/Text/Internal/Encoding/Utf16.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Encoding/Utf16.hi\r\nInstalling dist/build/Data/Text/Internal/Encoding/Utf32.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Encoding/Utf32.hi\r\nInstalling dist/build/Data/Text/Internal/Encoding/Utf8.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Encoding/Utf8.hi\r\nInstalling dist/build/Data/Text/Internal/Functions.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Functions.hi\r\nInstalling dist/build/Data/Text/Internal/Fusion.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Fusion.hi\r\nInstalling dist/build/Data/Text/Internal/Fusion/CaseMapping.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Fusion/CaseMapping.hi\r\nInstalling dist/build/Data/Text/Internal/Fusion/Common.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Fusion/Common.hi\r\nInstalling dist/build/Data/Text/Internal/Fusion/Size.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Fusion/Size.hi\r\nInstalling dist/build/Data/Text/Internal/Fusion/Types.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Fusion/Types.hi\r\nInstalling dist/build/Data/Text/Internal/IO.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/IO.hi\r\nInstalling dist/build/Data/Text/Internal/Lazy.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Lazy.hi\r\nInstalling dist/build/Data/Text/Internal/Lazy/Encoding/Fusion.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Lazy/Encoding/Fusion.hi\r\nInstalling dist/build/Data/Text/Internal/Lazy/Fusion.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Lazy/Fusion.hi\r\nInstalling dist/build/Data/Text/Internal/Lazy/Search.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Lazy/Search.hi\r\nInstalling dist/build/Data/Text/Internal/Private.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Private.hi\r\nInstalling dist/build/Data/Text/Internal/Read.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Read.hi\r\nInstalling dist/build/Data/Text/Internal/Search.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Search.hi\r\nInstalling dist/build/Data/Text/Internal/Unsafe.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Unsafe.hi\r\nInstalling dist/build/Data/Text/Internal/Unsafe/Char.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Unsafe/Char.hi\r\nInstalling dist/build/Data/Text/Internal/Unsafe/Shift.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Internal/Unsafe/Shift.hi\r\nInstalling dist/build/Data/Text/Lazy.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy.hi\r\nInstalling dist/build/Data/Text/Lazy/Builder.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy/Builder.hi\r\nInstalling dist/build/Data/Text/Lazy/Builder/Int.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy/Builder/Int.hi\r\nInstalling dist/build/Data/Text/Lazy/Builder/RealFloat.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy/Builder/RealFloat.hi\r\nInstalling dist/build/Data/Text/Lazy/Encoding.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy/Encoding.hi\r\nInstalling dist/build/Data/Text/Lazy/IO.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy/IO.hi\r\nInstalling dist/build/Data/Text/Lazy/Internal.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy/Internal.hi\r\nInstalling dist/build/Data/Text/Lazy/Read.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Lazy/Read.hi\r\nInstalling dist/build/Data/Text/Read.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Read.hi\r\nInstalling dist/build/Data/Text/Unsafe.hi to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/Data/Text/Unsafe.hi\r\ncreating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2\r\nInstalling dist/build/libHStext-1.1.1.1.a to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/libHStext-1.1.1.1.a\r\ncreating /home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2\r\nInstalling dist/build/HStext-1.1.1.1.o to\r\n/home/intrados/.cabal/lib/text-1.1.1.1/ghc-7.8.2/HStext-1.1.1.1.o\r\n/usr/bin/ghc --abi-hash -fbuilding-cabal-package -O -odir dist/build -hidir dist/build -stubdir dist/build -i -idist/build -i. -idist/build/autogen -Idist/build/autogen -Idist/build -Iinclude -optP-DINTEGER_GMP -optP-DHAVE_DEEPSEQ -optP-include -optPdist/build/autogen/cabal_macros.h -package-name text-1.1.1.1 -hide-all-packages -package-id array-0.5.0.0-9f212a0e8caa74d931af75060b4de2ab -package-id base-4.7.0.0-018311399e3b6350d5be3a16b144df9b -package-id bytestring-0.10.4.0-7de5230c6d895786641a4de344336838 -package-id deepseq-1.3.0.2-7160f83fdfe69b3794a2d7a3ad8d4c19 -package-id ghc-prim-0.3.1.0-948744e1f99cc8bcc7c7d3ba60c7c2d8 -package-id integer-gmp-0.5.1.0-dc47f6b546fc171f67a7f7d311684a99 -XHaskell98 Data.Text Data.Text.Array Data.Text.Encoding Data.Text.Encoding.Error Data.Text.Foreign Data.Text.IO Data.Text.Internal Data.Text.Internal.Builder Data.Text.Internal.Builder.Functions Data.Text.Internal.Builder.Int.Digits Data.Text.Internal.Builder.RealFloat.Functions Data.Text.Internal.Encoding.Fusion Data.Text.Internal.Encoding.Fusion.Common Data.Text.Internal.Encoding.Utf16 Data.Text.Internal.Encoding.Utf32 Data.Text.Internal.Encoding.Utf8 Data.Text.Internal.Functions Data.Text.Internal.Fusion Data.Text.Internal.Fusion.CaseMapping Data.Text.Internal.Fusion.Common Data.Text.Internal.Fusion.Size Data.Text.Internal.Fusion.Types Data.Text.Internal.IO Data.Text.Internal.Lazy Data.Text.Internal.Lazy.Encoding.Fusion Data.Text.Internal.Lazy.Fusion Data.Text.Internal.Lazy.Search Data.Text.Internal.Private Data.Text.Internal.Read Data.Text.Internal.Search Data.Text.Internal.Unsafe Data.Text.Internal.Unsafe.Char Data.Text.Internal.Unsafe.Shift Data.Text.Lazy Data.Text.Lazy.Builder Data.Text.Lazy.Builder.Int Data.Text.Lazy.Builder.RealFloat Data.Text.Lazy.Encoding Data.Text.Lazy.IO Data.Text.Lazy.Internal Data.Text.Lazy.Read Data.Text.Read Data.Text.Unsafe -Wall -fwarn-tabs -funbox-strict-fields -O2\r\nRegistering text-1.1.1.1...\r\n/usr/bin/ghc-pkg update - --global --user\r\nInstalled text-1.1.1.1\r\n}}}\r\n\r\nThe same procedure succeeds with a clean GHC 7.6.3.","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/9009Confusing error message when loading package with TH2019-07-07T18:42:20ZJan Stolarekjan.stolarek@ed.ac.ukConfusing error message when loading package with THI got this error message when compiling a file that calls Template Haskell function from `singletons` package:
```
[1 of 1] Compiling Splices ( Splices.hs, Splices.o )
Loading package ghc-prim ... linking ... done.
Loading pack...I got this error message when compiling a file that calls Template Haskell function from `singletons` package:
```
[1 of 1] Compiling Splices ( Splices.hs, Splices.o )
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package transformers-0.3.0.0 ... linking ... done.
Loading package pretty-1.1.1.1 ... linking ... done.
Loading package array-0.5.0.0 ... linking ... done.
Loading package deepseq-1.3.0.2 ... linking ... done.
Loading package containers-0.5.5.1 ... linking ... done.
Loading package mtl-2.1.2 ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package syb-0.4.1 ... linking ... done.
Loading package th-desugar-1.4.0 ... linking ... done.
Loading package singletons-1.0 ... <command line>: can't load .so/.DLL for: /home/killy/.cabal/lib/x86_64-linux-ghc-7.8.2/singletons-1.0/libHSsingletons-1.0-ghc7.8.2.so (/home/killy/.cabal/lib/x86_64-linux-ghc-7.8.2/singletons-1.0/libHSsingletons-1.0-ghc7.8.2.so: undefined symbol: singletonszm1zi0_DataziSingletonsziSingleziMonad_lookupProxy1_info)
```
After some investigation it turned out that the module Data.Singletons.Single.Monad was not listed in singletons.cabal file - neither under exported-modules nor other-modules - when the package was installed. The error message is mostly confusing. It would be good to at least get a hint on the possible cause.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.8.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":"Confusing error message when loading package with TH","status":"New","operating_system":"","component":"Package system","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.8.2","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"I got this error message when compiling a file that calls Template Haskell function from `singletons` package:\r\n\r\n{{{\r\n[1 of 1] Compiling Splices ( Splices.hs, Splices.o )\r\nLoading package ghc-prim ... linking ... done.\r\nLoading package integer-gmp ... linking ... done.\r\nLoading package base ... linking ... done.\r\nLoading package transformers-0.3.0.0 ... linking ... done.\r\nLoading package pretty-1.1.1.1 ... linking ... done.\r\nLoading package array-0.5.0.0 ... linking ... done.\r\nLoading package deepseq-1.3.0.2 ... linking ... done.\r\nLoading package containers-0.5.5.1 ... linking ... done.\r\nLoading package mtl-2.1.2 ... linking ... done.\r\nLoading package template-haskell ... linking ... done.\r\nLoading package syb-0.4.1 ... linking ... done.\r\nLoading package th-desugar-1.4.0 ... linking ... done.\r\nLoading package singletons-1.0 ... <command line>: can't load .so/.DLL for: /home/killy/.cabal/lib/x86_64-linux-ghc-7.8.2/singletons-1.0/libHSsingletons-1.0-ghc7.8.2.so (/home/killy/.cabal/lib/x86_64-linux-ghc-7.8.2/singletons-1.0/libHSsingletons-1.0-ghc7.8.2.so: undefined symbol: singletonszm1zi0_DataziSingletonsziSingleziMonad_lookupProxy1_info)\r\n}}}\r\n\r\nAfter some investigation it turned out that the module Data.Singletons.Single.Monad was not listed in singletons.cabal file - neither under exported-modules nor other-modules - when the package was installed. The error message is mostly confusing. It would be good to at least get a hint on the possible cause.","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/8591Concurrent executions of ghc-pkg can cause inconstant package.cache files2022-03-29T16:17:37ZjanmConcurrent executions of ghc-pkg can cause inconstant package.cache filesI am doing 24 way parallel builds of system images, including all packages on a system. This includes ghc and multiple ghc packages.
I am seeing intermittent dependency failure from the ghc packaging system. From examining Main.hs in gh...I am doing 24 way parallel builds of system images, including all packages on a system. This includes ghc and multiple ghc packages.
I am seeing intermittent dependency failure from the ghc packaging system. From examining Main.hs in ghc-pkg, I see the function withFileAtomic write to a temporary file in package.conf.d and then atomically rename on top of a target file, package.cache in the case. With parallel execution the last rename would win, leading to lost entries in package.cache.
In my case, the following things happened: ("Building" indicates a start, "Built" indicates completion, "Installing" is setup in a separate chroot'd environment and is isolated)
The FreeBSD ports system is used to drive the Haskell build system.
The process works single threaded and fails intermittently when done in parallel.
Building: devel/hs-data-default-instances-base
Building: devel/hs-data-default-instances-containers
Building: devel/hs-data-default-instances-old-locale
Built: devel/hs-dlist
Building: devel/hs-data-default-instances-dlist
Built: devel/hs-temporary
Built: jail-image-full
Installing: system-image__jail-image-full
Built: devel/hs-base64-bytestring
Built: archivers/hs-zlib
Building: security/hs-digest
Built: devel/hs-syb
Building: textproc/hs-hs-bibutils
Building: textproc/hs-pandoc-types
Built: devel/hs-utf8-string
Built: devel/hs-data-default-instances-old-locale
Built: devel/hs-data-default-instances-containers
Built: devel/hs-data-default-instances-base
Built: devel/hs-data-default-instances-dlist
Building: devel/hs-data-default
Built: devel/hs-random
Installed: system-image__lang/ghc
Installing: system-image__archivers/hs-zlib
Installing: system-image__devel/hs-utf8-string
Installing: system-image__devel/hs-syb
Installing: system-image__devel/hs-base64-bytestring
Installing: system-image__devel/hs-data-default-class
Installing: system-image__devel/hs-dlist
Installing: system-image__devel/hs-random
Installing: system-image__devel/hs-temporary
Installing: system-image__devel/hs-extensible-exceptions
Built: devel/hs-data-default FAILED
The error from the Haskell data-default build was:
setup: At least the following dependencies are missing:
data-default-instances-base -any
Looking in the in the package.conf.d directory shows that the data-default-instances-base-0.0.1-7bdf8678f0d8637e096e397e7910f82a.conf file was present, but running "ghc-pkg list" did not show data-default-instances-base
Running /usr/local/lib/cabal/ghc-7.6.3/data-default-instances-base-0.0.1/register.sh (which was also present) caused ghc-pkg to now show data-default-instances-base.
To me this looks like a race condition between multiple instances of ghc-pkg causing the cache to become inconsistent.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.6.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Package system |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | FreeBSD |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Concurrent executions of ghc-pkg can cause inconstant package.cache files","status":"New","operating_system":"FreeBSD","component":"Package system","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.6.3","keywords":["ghc-pkg","race"],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"I am doing 24 way parallel builds of system images, including all packages on a system. This includes ghc and multiple ghc packages.\r\n\r\nI am seeing intermittent dependency failure from the ghc packaging system. From examining Main.hs in ghc-pkg, I see the function withFileAtomic write to a temporary file in package.conf.d and then atomically rename on top of a target file, package.cache in the case. With parallel execution the last rename would win, leading to lost entries in package.cache.\r\n\r\nIn my case, the following things happened: (\"Building\" indicates a start, \"Built\" indicates completion, \"Installing\" is setup in a separate chroot'd environment and is isolated)\r\n\r\nThe FreeBSD ports system is used to drive the Haskell build system.\r\n\r\nThe process works single threaded and fails intermittently when done in parallel.\r\n\r\nBuilding: devel/hs-data-default-instances-base\r\nBuilding: devel/hs-data-default-instances-containers\r\nBuilding: devel/hs-data-default-instances-old-locale\r\nBuilt: devel/hs-dlist \r\nBuilding: devel/hs-data-default-instances-dlist\r\nBuilt: devel/hs-temporary \r\nBuilt: jail-image-full \r\nInstalling: system-image__jail-image-full\r\nBuilt: devel/hs-base64-bytestring \r\nBuilt: archivers/hs-zlib \r\nBuilding: security/hs-digest\r\nBuilt: devel/hs-syb \r\nBuilding: textproc/hs-hs-bibutils\r\nBuilding: textproc/hs-pandoc-types\r\nBuilt: devel/hs-utf8-string \r\nBuilt: devel/hs-data-default-instances-old-locale \r\nBuilt: devel/hs-data-default-instances-containers \r\nBuilt: devel/hs-data-default-instances-base \r\nBuilt: devel/hs-data-default-instances-dlist \r\nBuilding: devel/hs-data-default\r\nBuilt: devel/hs-random \r\nInstalled: system-image__lang/ghc \r\nInstalling: system-image__archivers/hs-zlib\r\nInstalling: system-image__devel/hs-utf8-string\r\nInstalling: system-image__devel/hs-syb\r\nInstalling: system-image__devel/hs-base64-bytestring\r\nInstalling: system-image__devel/hs-data-default-class\r\nInstalling: system-image__devel/hs-dlist\r\nInstalling: system-image__devel/hs-random\r\nInstalling: system-image__devel/hs-temporary\r\nInstalling: system-image__devel/hs-extensible-exceptions\r\nBuilt: devel/hs-data-default FAILED\r\n\r\nThe error from the Haskell data-default build was:\r\n\r\nsetup: At least the following dependencies are missing:\r\ndata-default-instances-base -any\r\n\r\nLooking in the in the package.conf.d directory shows that the data-default-instances-base-0.0.1-7bdf8678f0d8637e096e397e7910f82a.conf file was present, but running \"ghc-pkg list\" did not show data-default-instances-base\r\n\r\nRunning /usr/local/lib/cabal/ghc-7.6.3/data-default-instances-base-0.0.1/register.sh (which was also present) caused ghc-pkg to now show data-default-instances-base.\r\n\r\nTo me this looks like a race condition between multiple instances of ghc-pkg causing the cache to become inconsistent.","type_of_failure":"OtherFailure","blocking":[]} -->pgjpgjhttps://gitlab.haskell.org/ghc/ghc/-/issues/8442Cabal-install internal error with any use2019-07-07T18:45:03ZsenkCabal-install internal error with any useAny attempt to use cabal-install fails with an internal error.
Used FreeBSD (9.1) port hs-haskell-platform and built with hs-colour support, LLVM (3.2) backend, and profiling enabled. Warnings were given that the version of LLVM used wa...Any attempt to use cabal-install fails with an internal error.
Used FreeBSD (9.1) port hs-haskell-platform and built with hs-colour support, LLVM (3.2) backend, and profiling enabled. Warnings were given that the version of LLVM used was untested, but no issues were apparent when compiling.
```
cabal install hakyll
cabal-install: internal error: evacuate(static): strange closure type -385875968
(GHC version 7.6.3 for x86_64_portbld_freebsd)
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
Abort trap
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.6.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":"Cabal-install internal error with any use","status":"New","operating_system":"","component":"Package system","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.6.3","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"Any attempt to use cabal-install fails with an internal error.\r\n\r\nUsed FreeBSD (9.1) port hs-haskell-platform and built with hs-colour support, LLVM (3.2) backend, and profiling enabled. Warnings were given that the version of LLVM used was untested, but no issues were apparent when compiling.\r\n\r\n{{{\r\ncabal install hakyll\r\ncabal-install: internal error: evacuate(static): strange closure type -385875968\r\n (GHC version 7.6.3 for x86_64_portbld_freebsd)\r\n Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug\r\nAbort trap\r\n}}}\r\n","type_of_failure":"OtherFailure","blocking":[]} -->pgjpgjhttps://gitlab.haskell.org/ghc/ghc/-/issues/8407Module re-exports at the package level2019-07-07T18:45:11ZJoachim Breitnermail@joachim-breitner.deModule re-exports at the package levelFor various package reorganization purposes, especially for possibly turning `base` into a shim package that re-exports some modules from more specialized packages, good support for module re-exports would be nice.
I wrote up a design s...For various package reorganization purposes, especially for possibly turning `base` into a shim package that re-exports some modules from more specialized packages, good support for module re-exports would be nice.
I wrote up a design spec at ModuleReexports; this bug is to track the progress.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.6.3 |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Package system |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Module re-exports at the package level","status":"New","operating_system":"","component":"Package system","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.6.3","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"FeatureRequest","description":"For various package reorganization purposes, especially for possibly turning `base` into a shim package that re-exports some modules from more specialized packages, good support for module re-exports would be nice.\r\n\r\nI wrote up a design spec at ModuleReexports; this bug is to track the progress.","type_of_failure":"OtherFailure","blocking":[]} -->7.10.1Edward Z. YangEdward Z. Yanghttps://gitlab.haskell.org/ghc/ghc/-/issues/7990ghc-pkg warning shows the wrong command2019-07-07T18:47:09Zmcandreghc-pkg warning shows the wrong commandWhen ghc-pkg observes your cache is out of date, it displays a helpful warning, recommending "ghc-pkg recache". However, sometimes running this command does not fix the problem, because it targets the wrong cache.
For out of date global...When ghc-pkg observes your cache is out of date, it displays a helpful warning, recommending "ghc-pkg recache". However, sometimes running this command does not fix the problem, because it targets the wrong cache.
For out of date global caches, "ghc-pkg --global recache" successfully clears the warning. For out of date user caches, "ghc-pkg --user recache" clears the warning.
In the future, could ghc-pkg display the command more specific to the problem?
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.6.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":"ghc-pkg warning shows the wrong command","status":"New","operating_system":"","component":"Package system","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.6.3","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"When ghc-pkg observes your cache is out of date, it displays a helpful warning, recommending \"ghc-pkg recache\". However, sometimes running this command does not fix the problem, because it targets the wrong cache.\r\n\r\nFor out of date global caches, \"ghc-pkg --global recache\" successfully clears the warning. For out of date user caches, \"ghc-pkg --user recache\" clears the warning.\r\n\r\nIn the future, could ghc-pkg display the command more specific to the problem?","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/7531after manualy installing array-0.4.0.12019-07-07T18:49:20Zguestafter manualy installing array-0.4.0.1After manually installing array-0.4.0.1 installation manually of Cabal -1.16.0.3 print:
```
c:\download\archive\Cabal\1.16.0.3\Cabal-1.16.0.3>runghc Setup.hs install
ghc: panic! (the 'impossible' happened)
(GHC version 7.4.2 for i386-...After manually installing array-0.4.0.1 installation manually of Cabal -1.16.0.3 print:
```
c:\download\archive\Cabal\1.16.0.3\Cabal-1.16.0.3>runghc Setup.hs install
ghc: panic! (the 'impossible' happened)
(GHC version 7.4.2 for i386-unknown-mingw32):
interactiveUI:setBuffering2
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
```7.8.1Ian Lynagh <igloo@earth.li>Ian Lynagh <igloo@earth.li>https://gitlab.haskell.org/ghc/ghc/-/issues/7324GHC 7.6.1 ships with a buggy Cabal2019-07-07T18:50:15Ztd123GHC 7.6.1 ships with a buggy CabalUsing ghc 7.6.1
$ rm -rf \~/.cabal \# To force a new default config being written
$ cabal update \# To write default config
Config file path source is default config file.
Config file /home/bardur/.cabal/config not found.
Writing defaul...Using ghc 7.6.1
$ rm -rf \~/.cabal \# To force a new default config being written
$ cabal update \# To write default config
Config file path source is default config file.
Config file /home/bardur/.cabal/config not found.
Writing default configuration to /home/bardur/.cabal/config
Downloading the latest package list from hackage.haskell.org
$ cabal install foo
cabal: Command.optionToFieldDescr: feature not implemented
related bug report: https://bugs.archlinux.org/task/31864
Although this particular bug doesn't seem to be severe since once you remove the incorrect jobs line in the .cabal/config file it starts working again, it is quite annoying.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.6.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 7.6.1 ships with a buggy Cabal","status":"New","operating_system":"","component":"Package system","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.6.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"Using ghc 7.6.1\r\n\r\n$ rm -rf ~/.cabal # To force a new default config being written\r\n$ cabal update # To write default config\r\nConfig file path source is default config file.\r\nConfig file /home/bardur/.cabal/config not found.\r\nWriting default configuration to /home/bardur/.cabal/config\r\nDownloading the latest package list from hackage.haskell.org\r\n$ cabal install foo\r\ncabal: Command.optionToFieldDescr: feature not implemented\r\n\r\nrelated bug report: https://bugs.archlinux.org/task/31864\r\n\r\nAlthough this particular bug doesn't seem to be severe since once you remove the incorrect jobs line in the .cabal/config file it starts working again, it is quite annoying.","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/5907Crashed loading package Safe2019-07-07T18:53:03ZguestCrashed loading package Safe```
Loading package array-0.3.0.2 ... linking ... done.
Loading package containers-0.4.0.0 ... linking ... done.
Loading package safe-0.3.3 ... ghc: panic! (the 'impossible' happened)
(GHC version 7.0.3 for i386-unknown-mingw32):
load...```
Loading package array-0.3.0.2 ... linking ... done.
Loading package containers-0.4.0.0 ... linking ... done.
Loading package safe-0.3.3 ... ghc: panic! (the 'impossible' happened)
(GHC version 7.0.3 for i386-unknown-mingw32):
loadObj "C:\\Documents and Settings\\\1042\1083\1072\1076\1099\1082\1072\\Application Data\\cabal\\safe-0.3.3\\ghc-7.0.3\\HSsafe-0.3.3.o": failed
```
Before that I installed package Safe using cabal.7.10.1https://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/5709ghc-7.2 cannot find libraries in non-standard locations2019-07-07T18:53:56ZAndres Löhghc-7.2 cannot find libraries in non-standard locationsThe following is what I perceive to be a regression from ghc-7.0.4 to ghc-7.2.1 and ghc-7.2.2.
On NixOS, all packages are installed into separate directories in the Nix store. With ghc-7.0.4, the following works:
```
$ ghc -package zli...The following is what I perceive to be a regression from ghc-7.0.4 to ghc-7.2.1 and ghc-7.2.2.
On NixOS, all packages are installed into separate directories in the Nix store. With ghc-7.0.4, the following works:
```
$ ghc -package zlib -e "print ()"
()
$ ghc-pkg describe zlib | grep library-dirs -A 1
library-dirs: /nix/store/vnflri0w0fadiqwv1j6w6gxw00paav6a-haskell-zlib-ghc7.0.4-0.5.3.1-profiling/lib/zlib-0.5.3.1/ghc-7.0.4
/nix/store/0jmzlnayh2p06vlgmiiyaj3xppc6l9lr-zlib-1.2.5/lib
$ strace ghc -package zlib -e "print ()" 2>&1 | grep libz.so
stat64("/nix/store/vnflri0w0fadiqwv1j6w6gxw00paav6a-haskell-zlib-ghc7.0.4-0.5.3.1-profiling/lib/zlib-0.5.3.1/ghc-7.0.4/libz.so", 0xb5e94490) = -1 ENOENT (No such file or directory)
stat64("/nix/store/0jmzlnayh2p06vlgmiiyaj3xppc6l9lr-zlib-1.2.5/lib/libz.so", {st_mode=S_IFREG|0555, st_size=91092, ...}) = 0
open("/nix/store/0jmzlnayh2p06vlgmiiyaj3xppc6l9lr-zlib-1.2.5/lib/libz.so", O_RDONLY) = 7
```
However, if I try exactly the same with ghc-7.2.1, I get:
```
$ ghc -package zlib -e "print ()"
<command line>: can't load .so/.DLL for: libz.so (libz.so: cannot open shared object file: No such file or directory)
$ ghc-pkg describe zlib | grep library-dirs -A 1
library-dirs: /nix/store/6zjd86g35dpxl5r6zrr67nnmf00qalkr-haskell-zlib-ghc7.2.1-0.5.3.1-profiling/lib/zlib-0.5.3.1/ghc-7.2.1
/nix/store/0jmzlnayh2p06vlgmiiyaj3xppc6l9lr-zlib-1.2.5/lib
$ strace ghc -package zlib -e "print ()" 2>&1 | grep libz.so
open("/nix/store/ri2nlzb1lsi0d1y7nb8dkhzhsnyd08k4-gmp-4.3.2/lib/libz.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/nix/store/nmliqd429c0s4sdlbk0394zdfx86gvf9-ncurses-5.7/lib/libz.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/nix/store/m9p1r0p6qlaw5wy5hnwpii323la3s8j3-glibc-2.12.2/lib/libz.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/nix/store/m9p1r0p6qlaw5wy5hnwpii323la3s8j3-glibc-2.12.2/lib/libz.so", O_RDONLY) = -1 ENOENT (No such file or directory)
```
The directories listed by strace seem to be the ones used for building GHC itself. The directories in the package configuration file seem to be ignored.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.2.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-7.2 cannot find libraries in non-standard locations","status":"New","operating_system":"","component":"Package system","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.2.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"The following is what I perceive to be a regression from ghc-7.0.4 to ghc-7.2.1 and ghc-7.2.2.\r\n\r\nOn NixOS, all packages are installed into separate directories in the Nix store. With ghc-7.0.4, the following works:\r\n{{{\r\n$ ghc -package zlib -e \"print ()\"\r\n()\r\n$ ghc-pkg describe zlib | grep library-dirs -A 1\r\nlibrary-dirs: /nix/store/vnflri0w0fadiqwv1j6w6gxw00paav6a-haskell-zlib-ghc7.0.4-0.5.3.1-profiling/lib/zlib-0.5.3.1/ghc-7.0.4\r\n /nix/store/0jmzlnayh2p06vlgmiiyaj3xppc6l9lr-zlib-1.2.5/lib\r\n$ strace ghc -package zlib -e \"print ()\" 2>&1 | grep libz.so\r\nstat64(\"/nix/store/vnflri0w0fadiqwv1j6w6gxw00paav6a-haskell-zlib-ghc7.0.4-0.5.3.1-profiling/lib/zlib-0.5.3.1/ghc-7.0.4/libz.so\", 0xb5e94490) = -1 ENOENT (No such file or directory)\r\nstat64(\"/nix/store/0jmzlnayh2p06vlgmiiyaj3xppc6l9lr-zlib-1.2.5/lib/libz.so\", {st_mode=S_IFREG|0555, st_size=91092, ...}) = 0\r\nopen(\"/nix/store/0jmzlnayh2p06vlgmiiyaj3xppc6l9lr-zlib-1.2.5/lib/libz.so\", O_RDONLY) = 7\r\n}}}\r\n\r\nHowever, if I try exactly the same with ghc-7.2.1, I get:\r\n{{{\r\n$ ghc -package zlib -e \"print ()\"\r\n<command line>: can't load .so/.DLL for: libz.so (libz.so: cannot open shared object file: No such file or directory)\r\n$ ghc-pkg describe zlib | grep library-dirs -A 1\r\nlibrary-dirs: /nix/store/6zjd86g35dpxl5r6zrr67nnmf00qalkr-haskell-zlib-ghc7.2.1-0.5.3.1-profiling/lib/zlib-0.5.3.1/ghc-7.2.1\r\n /nix/store/0jmzlnayh2p06vlgmiiyaj3xppc6l9lr-zlib-1.2.5/lib\r\n$ strace ghc -package zlib -e \"print ()\" 2>&1 | grep libz.so\r\nopen(\"/nix/store/ri2nlzb1lsi0d1y7nb8dkhzhsnyd08k4-gmp-4.3.2/lib/libz.so\", O_RDONLY) = -1 ENOENT (No such file or directory)\r\nopen(\"/nix/store/nmliqd429c0s4sdlbk0394zdfx86gvf9-ncurses-5.7/lib/libz.so\", O_RDONLY) = -1 ENOENT (No such file or directory)\r\nopen(\"/nix/store/m9p1r0p6qlaw5wy5hnwpii323la3s8j3-glibc-2.12.2/lib/libz.so\", O_RDONLY) = -1 ENOENT (No such file or directory)\r\nopen(\"/nix/store/m9p1r0p6qlaw5wy5hnwpii323la3s8j3-glibc-2.12.2/lib/libz.so\", O_RDONLY) = -1 ENOENT (No such file or directory)\r\n}}}\r\nThe directories listed by strace seem to be the ones used for building GHC itself. The directories in the package configuration file seem to be ignored.","type_of_failure":"OtherFailure","blocking":[]} -->7.4.1https://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/5521Allow unknown fields in .cabal with X- at front2019-07-07T18:54:55Zzzo38Allow unknown fields in .cabal with X- at frontI have suggestion allowing unknown fields in a .cabal file, and if they are named with X- at front, they will not have warning message, and will be ignored if they are not understand.
<details><summary>Trac metadata</summary>
| Trac fi...I have suggestion allowing unknown fields in a .cabal file, and if they are named with X- at front, they will not have warning message, and will be ignored if they are not understand.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.2.1 |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Package system |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Allow unknown fields in .cabal with X- at front","status":"New","operating_system":"","component":"Package system","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.2.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"FeatureRequest","description":"I have suggestion allowing unknown fields in a .cabal file, and if they are named with X- at front, they will not have warning message, and will be ignored if they are not understand.\r\n","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/5511-package should take priority over modules in the filesystem2019-07-07T18:54:57Zpeteg-package should take priority over modules in the filesystemImagine I have a GHC package called P. I build it using Cabal and a directory structure like so:
```
P/ -- project root, containing P.cabal etc.
P/Code/M.hs
P/Tests/T.hs
```
I build P and install it.
In P/ I want to say:
```
ghci -pa...Imagine I have a GHC package called P. I build it using Cabal and a directory structure like so:
```
P/ -- project root, containing P.cabal etc.
P/Code/M.hs
P/Tests/T.hs
```
I build P and install it.
In P/ I want to say:
```
ghci -package P Tests/T.hs
```
but ghci insists on loading Code/M.hs rather than using P - it seems to ignore the -package flag.
cheers
peter
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.0.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":"-package should take priority over modules in the filesystem","status":"New","operating_system":"","component":"Package system","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.0.3","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"Imagine I have a GHC package called P. I build it using Cabal and a directory structure like so:\r\n\r\n{{{\r\nP/ -- project root, containing P.cabal etc.\r\nP/Code/M.hs\r\nP/Tests/T.hs\r\n}}}\r\n\r\nI build P and install it.\r\n\r\nIn P/ I want to say:\r\n\r\n{{{\r\nghci -package P Tests/T.hs\r\n}}}\r\n\r\nbut ghci insists on loading Code/M.hs rather than using P - it seems to ignore the -package flag.\r\n\r\ncheers\r\npeter","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/5216Haskell Platform 2011.2.0.1 Setup2019-07-07T18:56:23ZguestHaskell Platform 2011.2.0.1 Setup"Could not write updated PATH to HKLM"
This message was given three times when I installed Haskell Platform 2011.2.0.1 on my brand new Windows 7 Enterprise (with Service Pack 1) computer. (btw, a version I downloaded three months ago di..."Could not write updated PATH to HKLM"
This message was given three times when I installed Haskell Platform 2011.2.0.1 on my brand new Windows 7 Enterprise (with Service Pack 1) computer. (btw, a version I downloaded three months ago did exactly the same)
After inserting the path by hand in the environment variables, ghc was found from the command prompt.
The fact that this message was given three times, and I just resolved one path, suggests that I am missing two other paths. Could you let me know which ones?
Thanks,
Stef Joosten
stef.joosten\@ou.nl
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------------ |
| Version | 7.0.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Package system |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | stef.joosten@ou.nl |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Haskell Platform 2011.2.0.1 Setup","status":"New","operating_system":"","component":"Package system","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.0.3","keywords":["\"windows","7\"","setup"],"differentials":[],"test_case":"","architecture":"","cc":["stef.joosten@ou.nl"],"type":"Bug","description":"\"Could not write updated PATH to HKLM\"\r\n\r\nThis message was given three times when I installed Haskell Platform 2011.2.0.1 on my brand new Windows 7 Enterprise (with Service Pack 1) computer. (btw, a version I downloaded three months ago did exactly the same)\r\n\r\nAfter inserting the path by hand in the environment variables, ghc was found from the command prompt.\r\n\r\nThe fact that this message was given three times, and I just resolved one path, suggests that I am missing two other paths. Could you let me know which ones?\r\nThanks,\r\nStef Joosten\r\nstef.joosten@ou.nl","type_of_failure":"OtherFailure","blocking":[]} -->https://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.2