reflex-dom-inbits
reflex-dom-inbits copied to clipboard
Building with stack fails with "cannot find package haskell-src-exts" error.
Environment
$ uname -a
Linux host 4.4.0-75-generic #96-Ubuntu SMP Thu Apr 20 09:56:33 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ stack --version
Version 1.4.0, Git revision 5986498a9d1073e8d58c79ec1302bb2a7847a396 (4642 commits) x86_64 hpack-0.17.0
Reproduction Steps
Clone the repository:
$ git clone https://github.com/hansroland/reflex-dom-inbits
$ cd reflex-dom-inbits
Tell stack to fetch and install the appropriate version of GHC(JS):
$ stack setup
Initiate the build process:
$ stack build
Failure
Several minutes after initiating the build process, it fails with an error similar to:
$ stack build
...
Warning: File listed in reflex-dom-inbits.cabal file does not exist: ChangeLog.md
Ignoring that the GHCJS boot package "unordered-containers" has a different version, 0.2.7.2, than the resolver's wanted version, 0.2.7.1
Ignoring that the GHCJS boot package "async" has a different version, 2.1.1, than the resolver's wanted version, 2.1.0
haskell-src-exts-1.17.1: using precompiled package
Progress: 1/6
Running /home/user/.stack/programs/x86_64-linux/ghcjs-0.2.1.9007015_ghc-8.0.1/bin/ghcjs-pkg --user --no-user-package-db --package-db /home/user/.stack/snapshots/x86_64-linux/lts-7.3/ghcjs-0.2.1.9007015_ghc-8.0.1/pkgdb describe --simple-output haskell-src-exts --expand-pkgroot exited with ExitFailure 1
ghcjs-pkg-0.2.1.9007015-8.0.1: cannot find package haskell-src-exts
I looked into this issue and found the following:
- I was not able to reproduce your problem, neither on my normal Debian machine nor on my little Ubuntu notebook.
- Stackage Lts-7.3 uses version 1.17.1 of haskell-src-exts.
- The Documentation about stack YAML configuration says about extra-deps: This is a list of package identifiers for additional packages from upstream to be included. This is usually used to augment an LTS Haskell or Stackage Nightly snapshot with a package that is not present or is at an older version than you wish to use.
- So with your fix, you instruct stack not to use version 1.17.1 of the library haskell-src-exts from the snapshot but to use version 1.17.1 of this package. So your replace it with the same version. For me this does not make any sense, and I'm not willing to add this line to the stack.yaml file.
- In your log, I see a message
haskell-src-exts-1.17.1: using precompiled packagewhich I never saw with my tests. I don't know why you got this message, but I suspect this is the reason for the error you encountered. - I suggest the following: In the next month I plan to migrate reflex-dom-inbits to GHC 8.0.2. This will need a totally new extra-deps list in the stack.yaml file. Then you can retest and see whether you still get this error.
- I'll leave the issue and the PR open, until I publish the new stack.yaml file.