fpco / stackage-curator

DEPRECATED Tools for curating Stackage package sets and building reusable package databases
MIT License
10 stars 11 forks source link

Fails to install with GHC 8.0 #22

Closed mpickering closed 8 years ago

mpickering commented 8 years ago

The package fails to build when I try to build it with GHC 8.0. I had to restart the build in the middle but amazonka-core-1.4.3 fails to install.

/Documents/haskell/stackage-curator:cabal install stackage-curator -w ghc-8.0.1
Resolving dependencies...
Notice: installing into a sandbox located at
/Users/matt/Documents/haskell/stackage-curator/.cabal-sandbox
Configuring ansi-terminal-0.6.2.3...
Configuring base-orphans-0.5.4...
Configuring base16-bytestring-0.1.1.6...
Configuring SHA-1.6.4.2...
Downloading nats-1.1.1...
Building base-orphans-0.5.4...
Building SHA-1.6.4.2...
Building ansi-terminal-0.6.2.3...
Building base16-bytestring-0.1.1.6...
Configuring base64-bytestring-1.0.0.1...
Installed base-orphans-0.5.4
Installed base16-bytestring-0.1.1.6
Configuring byteable-0.1.1...
Building base64-bytestring-1.0.0.1...
Building byteable-0.1.1...
Configuring cereal-0.5.2.0...
Installed byteable-0.1.1
Configuring data-default-class-0.1.2.0...
Installed base64-bytestring-1.0.0.1
Building cereal-0.5.2.0...
Configuring dlist-0.7.1.2...
Installed ansi-terminal-0.6.2.3
Building data-default-class-0.1.2.0...
Building dlist-0.7.1.2...
Configuring fail-4.9.0.0...
Installed data-default-class-0.1.2.0
Building fail-4.9.0.0...
Configuring generics-sop-0.2.1.0...
Installed fail-4.9.0.0
Configuring gitrev-1.2.0...
Installed dlist-0.7.1.2
Building generics-sop-0.2.1.0...
Building gitrev-1.2.0...
Configuring hourglass-0.2.10...
Installed gitrev-1.2.0
Building hourglass-0.2.10...
Configuring mtl-2.2.1...
Installed cereal-0.5.2.0
Building mtl-2.2.1...
Configuring memory-0.13...
Installed mtl-2.2.1
Configuring network-2.6.2.1...
Installed hourglass-0.2.10
Building memory-0.13...
Building network-2.6.2.1...
Configuring old-locale-1.0.0.7...
Installed memory-0.13
Building old-locale-1.0.0.7...
Configuring parallel-3.2.1.0...
Installed old-locale-1.0.0.7
Configuring prelude-extras-0.4.0.3...
Installed generics-sop-0.2.1.0
Building parallel-3.2.1.0...
Building prelude-extras-0.4.0.3...
Configuring primitive-0.6.1.0...
Installed parallel-3.2.1.0
Building primitive-0.6.1.0...
Configuring random-1.1...
Installed network-2.6.2.1
Configuring reflection-2.1.2...
Installed prelude-extras-0.4.0.3
Building random-1.1...
Building reflection-2.1.2...
Configuring safe-0.3.9...
Installed primitive-0.6.1.0
Building safe-0.3.9...
Configuring semigroups-0.18.2...
Installed safe-0.3.9
Building semigroups-0.18.2...
Configuring split-0.2.3.1...
Installed random-1.1
Configuring stm-2.4.4.1...
Installed semigroups-0.18.2
Building split-0.2.3.1...
Building stm-2.4.4.1...
Configuring syb-0.6...
Installed split-0.2.3.1
Configuring tagged-0.8.4...
Installed reflection-2.1.2
Building syb-0.6...
Building tagged-0.8.4...
Configuring tar-0.5.0.3...
Installed stm-2.4.4.1
Building tar-0.5.0.3...
Configuring text-1.2.2.1...
Installed tagged-0.8.4
Configuring time-locale-compat-0.1.1.3...
Installed syb-0.6
Building text-1.2.2.1...
Building time-locale-compat-0.1.1.3...
Configuring transformers-compat-0.5.1.4...
Installed time-locale-compat-0.1.1.3
Building transformers-compat-0.5.1.4...
Configuring unix-compat-0.4.2.0...
Installed transformers-compat-0.5.1.4
Building unix-compat-0.4.2.0...
Configuring utf8-string-1.0.1.1...
Installed unix-compat-0.4.2.0
Building utf8-string-1.0.1.1...
Configuring zlib-0.6.1.1...
Installed tar-0.5.0.3
Building zlib-0.6.1.1...
Configuring nats-1.1.1...
Installed utf8-string-1.0.1.1
Building nats-1.1.1...
Installed nats-1.1.1
Configuring ansi-wl-pprint-0.6.7.3...
Building ansi-wl-pprint-0.6.7.3...
Configuring data-default-instances-containers-0.0.1...
Installed ansi-wl-pprint-0.6.7.3
Building data-default-instances-containers-0.0.1...
Configuring data-default-instances-dlist-0.0.1...
Installed data-default-instances-containers-0.0.1
Configuring pem-0.2.2...
Installed zlib-0.6.1.1
Building data-default-instances-dlist-0.0.1...
Building pem-0.2.2...
Configuring asn1-types-0.3.2...
Installed data-default-instances-dlist-0.0.1
Building asn1-types-0.3.2...
Configuring cryptonite-0.17...
Installed pem-0.2.2
Building cryptonite-0.17...
Configuring data-default-instances-old-locale-0.0.1...
Installed asn1-types-0.3.2
Building data-default-instances-old-locale-0.0.1...
Configuring socks-0.5.5...
Installed data-default-instances-old-locale-0.0.1
Building socks-0.5.5...
Configuring vector-0.11.0.0...
Installed socks-0.5.5
Building vector-0.11.0.0...
Configuring dlist-instances-0.1...
Installed SHA-1.6.4.2
Building dlist-instances-0.1...
Configuring StateVar-1.1.0.4...
Installed dlist-instances-0.1
Building StateVar-1.1.0.4...
Configuring async-2.1.0...
Installed StateVar-1.1.0.4
Building async-2.1.0...
Configuring MonadRandom-0.4.2.3...
Installed async-2.1.0
Building MonadRandom-0.4.2.3...
Configuring distributive-0.5.0.2...
Installed MonadRandom-0.4.2.3
Building distributive-0.5.0.2...
Configuring exceptions-0.8.2.1...
Installed distributive-0.5.0.2
Building exceptions-0.8.2.1...
Configuring mmorph-1.0.6...
Installed exceptions-0.8.2.1
Building mmorph-1.0.6...
Configuring transformers-base-0.4.4...
Installed text-1.2.2.1
Installed mmorph-1.0.6
Configuring optparse-applicative-0.12.1.0...
Building transformers-base-0.4.4...
Building optparse-applicative-0.12.1.0...
Configuring asn1-encoding-0.9.4...
Installed transformers-base-0.4.4
Building asn1-encoding-0.9.4...
Configuring data-default-0.7.1.1...
Installed asn1-encoding-0.9.4
Building data-default-0.7.1.1...
Configuring retry-0.7.4...
Installed data-default-0.7.1.1
Building retry-0.7.4...
Configuring safe-exceptions-0.1.1.0...
Installed cryptonite-0.17
Configuring temporary-1.2.0.4...
Installed optparse-applicative-0.12.1.0
Building safe-exceptions-0.1.1.0...
Building temporary-1.2.0.4...
Configuring blaze-builder-0.4.0.2...
Installed retry-0.7.4
Configuring hashable-1.2.4.0...
Installed safe-exceptions-0.1.1.0
Configuring mime-types-0.1.0.7...
Installed temporary-1.2.0.4
Building blaze-builder-0.4.0.2...
Building hashable-1.2.4.0...
Building mime-types-0.1.0.7...
Configuring parsec-3.1.11...
Installed hashable-1.2.4.0
Building parsec-3.1.11...
Configuring system-filepath-0.4.13.4...
Installed blaze-builder-0.4.0.2
Building system-filepath-0.4.13.4...
Configuring text-binary-0.2.1...
Installed mime-types-0.1.0.7
Building text-binary-0.2.1...
Configuring xml-types-0.3.6...
Installed text-binary-0.2.1
Building xml-types-0.3.6...
Installed parsec-3.1.11
Configuring monad-control-1.0.1.0...
Building monad-control-1.0.1.0...
Configuring asn1-parse-0.9.4...
Installed system-filepath-0.4.13.4
Building asn1-parse-0.9.4...
Configuring cryptohash-0.11.9...
Installed monad-control-1.0.1.0
Building cryptohash-0.11.9...
Configuring case-insensitive-1.2.0.6...
Installed asn1-parse-0.9.4
Building case-insensitive-1.2.0.6...
Configuring unordered-containers-0.2.7.1...
Installed case-insensitive-1.2.0.6
Building unordered-containers-0.2.7.1...
Configuring constraints-0.8...
Installed xml-types-0.3.6
Building constraints-0.8...
Configuring blaze-markup-0.7.0.3...
Installed cryptohash-0.11.9
Building blaze-markup-0.7.0.3...
Configuring void-0.7.1...
Installed constraints-0.8
Building void-0.7.1...
Configuring cookie-0.4.2...
Installed void-0.7.1
Building cookie-0.4.2...
Configuring streaming-commons-0.1.15.5...
Installed blaze-markup-0.7.0.3
Building streaming-commons-0.1.15.5...
Configuring network-uri-2.6.1.0...
Installed vector-0.11.0.0
Installed cookie-0.4.2
Configuring ReadArgs-1.2.2...
Building network-uri-2.6.1.0...
Configuring system-fileio-0.3.16.3...
Installed unordered-containers-0.2.7.1
Building ReadArgs-1.2.2...
Building system-fileio-0.3.16.3...
Configuring lifted-base-0.2.3.6...
Installed system-fileio-0.3.16.3
Building lifted-base-0.2.3.6...
Configuring x509-1.6.3...
Installed ReadArgs-1.2.2
Configuring http-types-0.9.1...
Installed streaming-commons-0.1.15.5
Configuring monad-unlift-0.2.0...
Installed network-uri-2.6.1.0
Building x509-1.6.3...
Configuring contravariant-1.4...
Installed lifted-base-0.2.3.6
Building http-types-0.9.1...
Building monad-unlift-0.2.0...
Building contravariant-1.4...
Configuring blaze-html-0.8.1.1...
Installed monad-unlift-0.2.0
Building blaze-html-0.8.1.1...
Configuring chunked-data-0.3.0...
Installed http-types-0.9.1
Configuring mwc-random-0.13.4.0...
Installed contravariant-1.4
Building chunked-data-0.3.0...
Building mwc-random-0.13.4.0...
Configuring scientific-0.3.4.8...
Installed x509-1.6.3
Configuring vector-algorithms-0.7.0.1...
Installed chunked-data-0.3.0
Building scientific-0.3.4.8...
Building vector-algorithms-0.7.0.1...
Configuring vector-binary-instances-0.2.3.2...
Installed scientific-0.3.4.8
Building vector-binary-instances-0.2.3.2...
Installed vector-binary-instances-0.2.3.2
Configuring lucid-2.9.5...
Building lucid-2.9.5...
Configuring basic-prelude-0.5.2...
Installed lucid-2.9.5
Building basic-prelude-0.5.2...
Configuring enclosed-exceptions-1.0.2...
Installed basic-prelude-0.5.2
Building enclosed-exceptions-1.0.2...
Configuring lifted-async-0.9.0...
Installed enclosed-exceptions-1.0.2
Building lifted-async-0.9.0...
Configuring resourcet-1.1.7.4...
Installed lifted-async-0.9.0
Building resourcet-1.1.7.4...
Configuring http-client-0.5.0...
Installed mwc-random-0.13.4.0
Building http-client-0.5.0...
Configuring comonad-5...
Installed resourcet-1.1.7.4
Building comonad-5...
Configuring x509-store-1.6.1...
Installed blaze-html-0.8.1.1
Building x509-store-1.6.1...
Configuring attoparsec-0.13.0.2...
Installed comonad-5
Configuring conduit-1.2.6.6...
Installed x509-store-1.6.1
Building attoparsec-0.13.0.2...
Building conduit-1.2.6.6...
Configuring bifunctors-5.3...
Installed http-client-0.5.0
Building bifunctors-5.3...
Installed vector-algorithms-0.7.0.1
Configuring x509-system-1.6.3...
Building x509-system-1.6.3...
Configuring x509-validation-1.6.3...
Installed conduit-1.2.6.6
Configuring mono-traversable-1.0.0...
Building x509-validation-1.6.3...
Installed x509-system-1.6.3
Building mono-traversable-1.0.0...
Installed x509-validation-1.6.3
Configuring tls-1.3.8...
Building tls-1.3.8...
Installed bifunctors-5.3
Configuring profunctors-5.2...
Building profunctors-5.2...
Configuring semigroupoids-5.1...
Installed profunctors-5.2
Building semigroupoids-5.1...
Installed mono-traversable-1.0.0
Configuring mutable-containers-0.3.3...
Installed attoparsec-0.13.0.2
Configuring aeson-0.11.2.0...
Building mutable-containers-0.3.3...
Building aeson-0.11.2.0...
Configuring conduit-extra-1.1.13.2...
Installed semigroupoids-5.1
Building conduit-extra-1.1.13.2...
Configuring ini-0.3.5...
Installed tls-1.3.8
Installed mutable-containers-0.3.3
Configuring free-4.12.4...
Building ini-0.3.5...
Building free-4.12.4...
Configuring connection-0.2.5...
Installed ini-0.3.5
Building connection-0.2.5...
Configuring monad-unlift-ref-0.2.0...
Installed conduit-extra-1.1.13.2
Installed connection-0.2.5
Configuring conduit-combinators-1.0.4...
Building monad-unlift-ref-0.2.0...
Building conduit-combinators-1.0.4...
Configuring cryptohash-conduit-0.1.1...
Installed monad-unlift-ref-0.2.0
Building cryptohash-conduit-0.1.1...
Configuring xml-conduit-1.3.5...
Installed cryptohash-conduit-0.1.1
Configuring http-client-tls-0.3.0...
Installed free-4.12.4
Building xml-conduit-1.3.5...
Building http-client-tls-0.3.0...
Installed http-client-tls-0.3.0
Configuring adjunctions-4.3...
Building adjunctions-4.3...
Configuring keys-3.11...
Installed conduit-combinators-1.0.4
Building keys-3.11...
Configuring either-4.4.1.1...
Installed adjunctions-4.3
Building either-4.4.1.1...
Configuring kan-extensions-5.0.1...
Installed keys-3.11
Building kan-extensions-5.0.1...
Installed either-4.4.1.1
Configuring optparse-simple-0.0.3...
Building optparse-simple-0.0.3...
Installed optparse-simple-0.0.3
Configuring stackage-cli-0.1.0.2...
Installed kan-extensions-5.0.1
Configuring lens-4.14...
Configuring pointed-5...
Installed xml-conduit-1.3.5
Building pointed-5...
Building stackage-cli-0.1.0.2...
Configuring tagstream-conduit-0.5.5.3...
Installed pointed-5
Building tagstream-conduit-0.5.5.3...
Building lens-4.14...
Configuring vector-instances-3.3.1...
Installed aeson-0.11.2.0
Downloading binary-orphans-0.1.5.0...
Failed to install binary-orphans-0.1.5.0
Build log ( /Users/matt/Documents/haskell/stackage-curator/.cabal-sandbox/logs/binary-orphans-0.1.5.0.log ):
/Users/matt/Documents/haskell/stackage-curator/.cabal-sandbox/logs/binary-orphans-0.1.5.0.log:
openFile: does not exist (No such file or directory)
~/Documents/haskell/stackage-curator:cabal install stackage-curator -w ghc-8.0.1
Resolving dependencies...
Notice: installing into a sandbox located at
/Users/matt/Documents/haskell/stackage-curator/.cabal-sandbox
Downloading binary-orphans-0.1.5.0...
Configuring binary-tagged-0.1.4.0...
Configuring http-conduit-2.2.0...
Configuring stackage-cli-0.1.0.2...
Configuring stackage-install-0.1.1.1...
Building binary-tagged-0.1.4.0...
Building http-conduit-2.2.0...
Building stackage-install-0.1.1.1...
Failed to install stackage-install-0.1.1.1
Build log ( /Users/matt/Documents/haskell/stackage-curator/.cabal-sandbox/logs/stackage-install-0.1.1.1.log ):
cabal: Entering directory '/var/folders/3z/_vqy7kmx4pd90sg_v80zpk340000gn/T/cabal-tmp-82333/stackage-install-0.1.1.1'
Configuring stackage-install-0.1.1.1...
Building stackage-install-0.1.1.1...
Preprocessing library stackage-install-0.1.1.1...
[1 of 1] Compiling Stackage.Install ( Stackage/Install.hs, dist/dist-sandbox-8eb1571f/build/Stackage/Install.o )

Stackage/Install.hs:46:61: error:
    Module ‘Network.HTTP.Client’ does not export ‘checkStatus’
cabal: Leaving directory '/var/folders/3z/_vqy7kmx4pd90sg_v80zpk340000gn/T/cabal-tmp-82333/stackage-install-0.1.1.1'
Configuring lens-4.14...
Installed http-conduit-2.2.0
Configuring tagstream-conduit-0.5.5.3...
Building stackage-cli-0.1.0.2...
Building tagstream-conduit-0.5.5.3...
Building lens-4.14...
Configuring vector-instances-3.3.1...
Installed binary-tagged-0.1.4.0
Building vector-instances-3.3.1...
Configuring yaml-0.8.18...
Installed vector-instances-3.3.1
Configuring binary-orphans-0.1.5.0...
Installed stackage-cli-0.1.0.2
Building yaml-0.8.18...
Building binary-orphans-0.1.5.0...
Configuring mono-traversable-instances-0.1.0.0...
Installed tagstream-conduit-0.5.5.3
Configuring html-conduit-1.2.1...
Installed binary-orphans-0.1.5.0
Building mono-traversable-instances-0.1.0.0...
Building html-conduit-1.2.1...
Installed mono-traversable-instances-0.1.0.0
Configuring classy-prelude-1.0.0...
Building classy-prelude-1.0.0...
Installed html-conduit-1.2.1
Installed classy-prelude-1.0.0
Configuring classy-prelude-conduit-1.0.0...
Building classy-prelude-conduit-1.0.0...
Installed classy-prelude-conduit-1.0.0
Installed yaml-0.8.18
Installed lens-4.14
Configuring amazonka-core-1.4.3...
Building amazonka-core-1.4.3...
Failed to install amazonka-core-1.4.3
Build log ( /Users/matt/Documents/haskell/stackage-curator/.cabal-sandbox/logs/amazonka-core-1.4.3.log ):
cabal: Entering directory '/var/folders/3z/_vqy7kmx4pd90sg_v80zpk340000gn/T/cabal-tmp-82329/amazonka-core-1.4.3'
Configuring amazonka-core-1.4.3...
Building amazonka-core-1.4.3...
Preprocessing library amazonka-core-1.4.3...
[ 1 of 31] Compiling Network.AWS.Data.Crypto ( src/Network/AWS/Data/Crypto.hs, dist/dist-sandbox-8eb1571f/build/Network/AWS/Data/Crypto.o )
[ 2 of 31] Compiling Network.AWS.Lens ( src/Network/AWS/Lens.hs, dist/dist-sandbox-8eb1571f/build/Network/AWS/Lens.o )
[ 3 of 31] Compiling Network.AWS.Data.Text ( src/Network/AWS/Data/Text.hs, dist/dist-sandbox-8eb1571f/build/Network/AWS/Data/Text.o )

src/Network/AWS/Data/Text.hs:31:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
[ 4 of 31] Compiling Network.AWS.Data.JSON ( src/Network/AWS/Data/JSON.hs, dist/dist-sandbox-8eb1571f/build/Network/AWS/Data/JSON.o )
[ 5 of 31] Compiling Network.AWS.Data.ByteString ( src/Network/AWS/Data/ByteString.hs, dist/dist-sandbox-8eb1571f/build/Network/AWS/Data/ByteString.o )
[ 6 of 31] Compiling Network.AWS.Data.Query ( src/Network/AWS/Data/Query.hs, dist/dist-sandbox-8eb1571f/build/Network/AWS/Data/Query.o )
[ 7 of 31] Compiling Network.AWS.Data.XML ( src/Network/AWS/Data/XML.hs, dist/dist-sandbox-8eb1571f/build/Network/AWS/Data/XML.o )

src/Network/AWS/Data/XML.hs:18:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
[ 8 of 31] Compiling Network.AWS.Data.List1 ( src/Network/AWS/Data/List1.hs, dist/dist-sandbox-8eb1571f/build/Network/AWS/Data/List1.o )

src/Network/AWS/Data/List1.hs:18:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()

src/Network/AWS/Data/List1.hs:57:1: warning: [-Wredundant-constraints]
    • Redundant constraint: Coercible b a
    • In the type signature for:
           _List1 :: (Coercible a b, Coercible b a) =>
                     Iso' (List1 a) (NonEmpty b)
[ 9 of 31] Compiling Network.AWS.Data.Headers ( src/Network/AWS/Data/Headers.hs, dist/dist-sandbox-8eb1571f/build/Network/AWS/Data/Headers.o )
[10 of 31] Compiling Network.AWS.Data.Path ( src/Network/AWS/Data/Path.hs, dist/dist-sandbox-8eb1571f/build/Network/AWS/Data/Path.o )
[11 of 31] Compiling Network.AWS.Data.Log ( src/Network/AWS/Data/Log.hs, dist/dist-sandbox-8eb1571f/build/Network/AWS/Data/Log.o )

src/Network/AWS/Data/Log.hs:130:32: error:
    • No instance for (ToLog ResponseTimeout)
        arising from a use of ‘build’
    • In the second argument of ‘(<>)’, namely
        ‘build (responseTimeout x)’
      In the expression: "  timeout   = " <> build (responseTimeout x)
      In the first argument of ‘buildLines’, namely
        ‘["[Client Request] {",
          "  host      = " <> build (host x) <> ":" <> build (port x),
          "  secure    = " <> build (secure x),
          "  method    = " <> build (method x), ....]’
cabal: Leaving directory '/var/folders/3z/_vqy7kmx4pd90sg_v80zpk340000gn/T/cabal-tmp-82329/amazonka-core-1.4.3'
cabal: Error: some packages failed to install:
amazonka-1.4.3 depends on amazonka-core-1.4.3 which failed to install.
amazonka-core-1.4.3 failed during the building phase. The exception was:
ExitFailure 1
amazonka-s3-1.4.3 depends on amazonka-core-1.4.3 which failed to install.
stackage-curator-0.14.0 depends on stackage-install-0.1.1.1 which failed to
install.
stackage-install-0.1.1.1 failed during the building phase. The exception was:
ExitFailure 1
snoyberg commented 8 years ago
  1. This isn't a bug in stackage-curator, a different dependency isn't building
  2. I just built stackage-curator with GHC 8
  3. The actual problem is that cabal is choosing a bad installation plan. Any reason you're not building with Stack?
mpickering commented 8 years ago

Hello Michael, thanks for your quick reply. I think it is a bug if I can't install something in the normal manner especially when the README doesn't indicate I should do it any other way. It seems that added a stricter version bound might make the package easier to install?

I don't use stack as I often use custom builds of GHC, using these with stack is not easy in my experience. It is also a pain that stack insists on managing my installation of GHC (for example installing GHC 7.10.3 in it's own sandbox when I already have it on my path just not as ghc).

snoyberg commented 8 years ago

I suggest you read a little more on Stack, your assumptions are incorrect. In any event, I'm really not planning on catering to cabal-install's bug workarounds by putting incorrect information into cabal files (which is what would be necessary here).

mpickering commented 8 years ago

I fail to see what assumptions I am making, I am just reporting on my experiences.

That being said, it doesn't look like we are going to make any progress with the issue here so I will close this issue.

snoyberg commented 8 years ago

Stack doesn't insist on installing its own GHC, it will automatically use whatever GHC is on the path if available. That's the assumption I was referring to.

hvr commented 8 years ago

@snoyberg

In any event, I'm really not planning on catering to cabal-install's bug workarounds by putting incorrect information into cabal files (which is what would be necessary here).

What "incorrect" information are you talking about? If there is a concrete bug in cabal, I'm very interested to know so it can be fixed. However, the only incorrect information I can see (maybe I'm missing something?) is packages like stackage-install containing incorrect build dependencies.

Specifically, stackage-install-0.1.1.1 says it needs http-client >= 0.4. But with http-client-0.5.0, you run into

Preprocessing library stackage-install-0.1.1.1...
[1 of 1] Compiling Stackage.Install ( Stackage/Install.hs, /tmp/stackage-install-0.1.1.1/dist-newstyle/build/stackage-install-0.1.1.1/build/Stackage/Install.o )

Stackage/Install.hs:46:61-71: error:
    Module ‘Network.HTTP.Client’ does not export ‘checkStatus’

Turns out, checkStatus was removed in http-client-0.5; so the accurate build-dep specification would have been http-client == 0.4.*.

If you choose not to follow the PVP by leaving off upper bounds, then please don't blame cabal-install 's solver for believing the inaccurate information you feed it. Moreover, for packages uploaded to Hackage, the desired base-line is compile-ability with cabal-install, and it's stated on Hackage's front page that we expect packages to follow the PVP. Maybe this needs to be made more visible?

snoyberg commented 8 years ago

Herbert, I really don't need to jump into these discussions with you constantly, you've already demonstrated that you're happy to pick a PVP fight wherever possible. My comment was that there's no problem demonstrated in this package, only in dependencies, and adding a workaround here is catering to a workflow which I believe to be broken by adding an incorrect bound. Your comment ignores the actual thread of conversation.

As it happens, I didn't notice the stackage-install build failure initially, and ended up removing that dep for unrelated reasons.

This rubbish of needing to be compatible with cabal-install because the Hackage overseers have stated it just makes me want to stop working with Hackage. Maybe you should take a step back and consider whether you want to continue being part of the problem with encouraging further fractures in our community.

On Sat, Jul 16, 2016, 12:43 AM Herbert Valerio Riedel < notifications@github.com> wrote:

@snoyberg https://github.com/snoyberg

In any event, I'm really not planning on catering to cabal-install's bug workarounds by putting incorrect information into cabal files (which is what would be necessary here).

What "incorrect" information are you talking about? If there is a concrete bug in cabal, I'm very interested to know so it can be fixed. However, the only incorrect information I can see (maybe I'm missing something?) is packages like stackage-install containing incorrect build dependencies.

Specifically, stackage-install-0.1.1.1 says it needs http-client >= 0.4. But with http-client-0.5.0, you run into

Preprocessing library stackage-install-0.1.1.1... [1 of 1] Compiling Stackage.Install ( Stackage/Install.hs, /tmp/stackage-install-0.1.1.1/dist-newstyle/build/stackage-install-0.1.1.1/build/Stackage/Install.o )

Stackage/Install.hs:46:61-71: error: Module ‘Network.HTTP.Client’ does not export ‘checkStatus’

Turns out, checkStatus was removed in http-client-0.5; so the accurate build-dep specification would have been http-client == 0.4.*.

If you choose not to follow the PVP by leaving off upper bounds, then please don't blame cabal-install 's solver for believing the inaccurate information you feed it. Moreover, for packages uploaded to Hackage, the desired base-line is compile-ability with cabal-install, and it's stated on Hackage's front page that we expect packages to follow the PVP. Maybe this needs to be made more visible?

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/fpco/stackage-curator/issues/22#issuecomment-233118149, or mute the thread https://github.com/notifications/unsubscribe-auth/AADBBytyt2eHDY6U8vfnRpVm2pulzKBeks5qWIuugaJpZM4JNlCD .

edsko commented 8 years ago

In any event, I'm really not planning on catering to cabal-install's bug workarounds by putting incorrect information into cabal files (which is what would be necessary here).

I have to admit to being confused. I thought the primary objection was against pre-emptive upper bounds, which are difficult to get right, make it hard to upgrade packages, lead to unnecessary failed install plans, etc. But in this case stackage-install does not build with version 0.5 of http-client. Even if you nonetheless think that an upper bound is not the right solution to this ("it's guaranteed to work with Stackage version such-and-such"), calling the upper bound "incorrect" and cabal's failure to somehow magically figure out that version 0.5 is not suitable a "bug" is rather disingenuous. Not to mention that referring to @hvr as "being part of the problem", with all the work he puts in to the build matrix, ghc Ubuntu packages, and countless other things for the community without being paid a penny for them, is completely uncalled for.

snoyberg commented 8 years ago

Look, if you just want to have another PVP and cabal party, go do it elsewhere. If you want to reread what issue tracker you're discussing this on, what was proposed, and what I rejected, and then admit that your comments are just completely off base, that'd be nice. But I'm not exactly holding my breath on any of that.

On Sun, Jul 17, 2016, 9:40 PM Edsko de Vries notifications@github.com wrote:

In any event, I'm really not planning on catering to cabal-install's bug workarounds by putting incorrect information into cabal files (which is what would be necessary here).

I have to admit to being confused. I thought the primary objection was against pre-emptive upper bounds, which are difficult to get right, make it hard to upgrade packages, lead to unnecessary failed install plans, etc. But in this case stackage-install does not build with version 0.5 of http-client. Even if you nonetheless think that an upper bound is not the right solution to this ("it's guaranteed to work with Stackage version such-and-such"), calling the upper bound "incorrect" and cabal's failure to somehow magically figure out that version 0.5 is not suitable a "bug" is rather disingenuous. Not to mention that referring to @hvr https://github.com/hvr as "being part of the problem", with all the work he puts in to the build matrix, ghc Ubuntu packages, and countless other things for the community without being paid a penny for them, is completely uncalled for.

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/fpco/stackage-curator/issues/22#issuecomment-233227668, or mute the thread https://github.com/notifications/unsubscribe-auth/AADBB9cfPi3CMIiGHxfafneRB4P8ROJbks5qWwPLgaJpZM4JNlCD .

ekmett commented 8 years ago

In any event, I'm really not planning on catering to cabal-install's bug workarounds by putting incorrect information into cabal files (which is what would be necessary here).

Not looking to rekindle any flame wars, just comment:

The item you are looking for in the module was actually concretely removed; this isn't a request for a pre-emptive bound, but rather for a retroactive one to match an actual issue. It seems to me that it is incorrect to state that it works with http-client >= 0.4, as once you hit 0.5 it demonstrably stops working again.

PVP aside, it is a bad bound. This is precisely the sort of "hard" upper bound for a real issue that I'd always thought you were willing to acknowledge had a place in the past.

snoyberg commented 8 years ago

@ekmett If you look through the history of what is being discussed here, you may see that there's just been a massive miscommunication - whether intentional or unintentional - going on here. As I said earlier:

As it happens, I didn't notice the stackage-install build failure initially, and ended up removing that dep for unrelated reasons.

The initial discussion was about stackage-curator and amazonka-core, where all of my claims make perfect sense: there's no reason why we should change something in stackage-curator to work around a bug in amazonka-core. Out of nowhere, Herbert jumped in to make a PVP claim about stackage-install. I have no problem with making that change (and, in fact, did so separately). My point the entire time was that this isn't a stackage-curator issue, and opening a bug report here or asking for changes to this repository is incorrect, and just playing to a cabal-install-specific bug workaround methodology that involves adding incorrect metadata.

I really have no idea how this relatively simple issue somehow invoked the ire of Herbert and Edsko, and where the brigading is coming from. But having it be so blatant that my comments are only being half-read isn't improving the impression I have of an attack brigade chomping at the bit.

ekmett commented 8 years ago

It does strike me as just everyone assuming bad faith on the part of everyone else. I think your comment:

I suggest you read a little more on Stack, your assumptions are incorrect. In any event, I'm really not planning on catering to cabal-install's bug workarounds by putting incorrect information into cabal files (which is what would be necessary here).

got parsed as a refusal to put in the bound at all, not as saying this is the wrong place for the discussion, and with Herbert's little dig about the PVP at the end of his comment appeared to set you off in kind then everyone started talking past each other.

No brigade intended at least on my part, just well-meaning bafflement.

I can appreciate that once the issue was submitted to the correct issue tracker it was resolved immediately and I wish everyone here a happier day. =)

snoyberg commented 8 years ago

No brigading was taken on your part Edward. I am genuinely curious where these discussions of my actions must be occurring whereby Herbert and Edsko both suddenly popped up out of nowhere, but I don't think I'll be getting an answer on that front.

On Tue, Jul 19, 2016, 6:21 PM Edward Kmett notifications@github.com wrote:

It does strike me as just everyone assuming bad faith on the part of everyone else. I think your comment:

I suggest you read a little more on Stack, your assumptions are incorrect. In any event, I'm really not planning on catering to cabal-install's bug workarounds by putting incorrect information into cabal files (which is what would be necessary here).

got parsed as a refusal to put in the bound at all, not as saying this is the wrong place for the discussion, and with Herbert's little dig about the PVP at the end of his comment appeared to set you off in kind.

No brigade intended at least on my part, just well-meaning bafflement.

I can appreciate that once the issue was submitted to the correct issue tracker it was resolved immediately and I wish everyone here a happier day. =)

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/fpco/stackage-curator/issues/22#issuecomment-233813271, or mute the thread https://github.com/notifications/unsubscribe-auth/AADBB6ogWj3Kda28qspCmS_bQ48AFNAIks5qXXghgaJpZM4JNlCD .