Description
General summary/comments (optional)
-
Given the same resolver version (lts-6.35, though any lts-6 version seems to be the same), stack 1.6.1 no longer builds the
http2
package correctly, nor packages that depend on it (likewarp
), where stack 1.5.1 did. It seems to be failing to resolve dependencies correctly - version 1.5.1 correctly downloads and builds them all.
I haven't checked whether similar problems are occurring for other lts resolvers; I noticed this one because re-launching a Travis build of an old project resulted in build failures, despite nothing changing in the code and using the same resolver, OS, etc.update: this also seems to affect the OSX version of stack 1.6.1, from https://www.stackage.org/stack/osx-x86_64.
Steps to reproduce
On a clean Ubuntu instance (works with Docker images ubuntu:trusty and ubuntu:xenial), try the following commands:
(test-stack.sh
)
## install stack
VER=1.6.1
# or VER=1.5.1
case $VER in
1.5.1)
export STACK_URL="https://github.com/commercialhaskell/stack/releases/download/v1.5.1/stack-1.5.1-linux-x86_64.tar.gz"
;;
1.6.1)
export STACK_URL="https://github.com/commercialhaskell/stack/releases/download/v1.6.1/stack-1.6.1-linux-x86_64.tar.gz"
;;
esac
sudo apt-get install -y libgmp-dev
mkdir -p ~/.local/bin
export PATH=~/.local/bin:$PATH
curl -L "${STACK_URL}" | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
stack --resolver=lts-6.35 setup
## install http2
stack --resolver=lts-6.35 install http2
Expected
...
http2-1.6.2: configure
http2-1.6.2: build
http2-1.6.2: copy/register
Completed 14 action(s).
Actual
-- While building custom Setup.hs for package http2-1.6.2 using:
/home/phlummox/.stack/setup-exe-cache/x86_64-linux/Cabal-simple_mPHDZzAJ_1.22.5.0_ghc-7.10.3 --builddir=.stack-work/dist/x86_64-linux/Cabal-1.22.5.0 configure --with-ghc=/home/phlummox/.stack/programs/x86_64-linux/ghc-7.10.3/bin/ghc --with-ghc-pkg=/home/phlummox/.stack/programs/x86_64-linux/ghc-7.10.3/bin/ghc-pkg --user --package-db=clear --package-db=global --package-db=/home/phlummox/.stack/snapshots/x86_64-linux/lts-6.35/7.10.3/pkgdb --libdir=/home/phlummox/.stack/snapshots/x86_64-linux/lts-6.35/7.10.3/lib --bindir=/home/phlummox/.stack/snapshots/x86_64-linux/lts-6.35/7.10.3/bin --datadir=/home/phlummox/.stack/snapshots/x86_64-linux/lts-6.35/7.10.3/share --libexecdir=/home/phlummox/.stack/snapshots/x86_64-linux/lts-6.35/7.10.3/libexec --sysconfdir=/home/phlummox/.stack/snapshots/x86_64-linux/lts-6.35/7.10.3/etc --docdir=/home/phlummox/.stack/snapshots/x86_64-linux/lts-6.35/7.10.3/doc/http2-1.6.2 --htmldir=/home/phlummox/.stack/snapshots/x86_64-linux/lts-6.35/7.10.3/doc/http2-1.6.2 --haddockdir=/home/phlummox/.stack/snapshots/x86_64-linux/lts-6.35/7.10.3/doc/http2-1.6.2 --dependency=array=array-0.5.1.0-960bf9ae8875cc30355e086f8853a049 --dependency=base=base-4.8.2.0-0d6d1084fbc041e1cded9228e80e264d --dependency=bytestring=bytestring-0.10.6.0-9a873bcf33d6ce2fd2698ce69e2c1c66 --dependency=bytestring-builder=bytestring-builder-0.10.6.0.0-8aa4073730c676dbe210ea8bffd8d092 --dependency=case-insensitive=case-insensitive-1.2.0.10-2710882b4f658c001bb72a067083a3a8 --dependency=containers=containers-0.5.6.2-59326c33e30ec8f6afd574cbac625bbb --dependency=psqueues=psqueues-0.2.2.3-742bdf37b7dba2a5239a54cba5b43cc7 --dependency=stm=stm-2.4.4.1-7050c728ed5b2315e2c6b56d8bf9837f
Process exited with code: ExitFailure 1
Logs have been written to: /home/phlummox/.stack/global-project/.stack-work/logs/http2-1.6.2.log
Configuring http2-1.6.2...
Cabal-simple_mPHDZzAJ_1.22.5.0_ghc-7.10.3: At least the following dependencies
are missing:
aeson -any, aeson-pretty -any, hex -any, vector -any, word8 -any
Output of stack is in a gist.
Command run was:
$ stack --verbose --resolver=lts-6.35 install http2
I've also created a minimal project (which does nothing but have http2
as a dependency), and built it using Travis CI (link here): it builds using stack 1.5.1, and fails using 1.6.1.
Stack version
$ stack --version
Version 1.6.1, Git revision f25811329bbc40b0c21053a8160c56f923e1201b (5435 commits) x86_64 hpack-0.20.0
Method of installation
- Official binary, downloaded from stackage.org or fpcomplete's package repository