Warning: The install command is a part of the legacy v1 style of cabal usage. Please switch to using either the new project style and the new-install command or the legacy v1-install alias as new-style projects will become the default in the next version of cabal-install. Please file a bug if you cannot replicate a working v1- use case with the new-style commands. For more information, see: https://wiki.haskell.org/Cabal/NewBuild Resolving dependencies... Starting StateVar-1.2 Starting base-orphans-0.8.1 Starting basement-0.0.11 Starting base-compat-0.11.0 Building StateVar-1.2 Building base-orphans-0.8.1 Building basement-0.0.11 Building base-compat-0.11.0 Completed base-orphans-0.8.1 Starting cabal-doctest-1.0.8 Completed StateVar-1.2 Starting call-stack-0.2.0 Building cabal-doctest-1.0.8 Building call-stack-0.2.0 Completed call-stack-0.2.0 Starting cereal-0.5.8.1 Building cereal-0.5.8.1 Completed cabal-doctest-1.0.8 Starting clock-0.8 Building clock-0.8 Completed clock-0.8 Starting data-default-class-0.1.2.0 Completed base-compat-0.11.0 Starting dlist-0.8.0.7 Building data-default-class-0.1.2.0 Building dlist-0.8.0.7 Completed data-default-class-0.1.2.0 Starting hashable-1.3.0.0 Building hashable-1.3.0.0 Completed dlist-0.8.0.7 Completed cereal-0.5.8.1 Starting hourglass-0.2.12 Starting haskell-src-exts-1.21.1 Building hourglass-0.2.12 Building haskell-src-exts-1.21.1 Completed hashable-1.3.0.0 Starting integer-logarithms-1.0.3 Building integer-logarithms-1.0.3 Completed integer-logarithms-1.0.3 Starting lens-family-core-1.2.3 Building lens-family-core-1.2.3 Completed hourglass-0.2.12 Starting network-2.8.0.1 Completed lens-family-core-1.2.3 Starting network-byte-order-0.1.1.1 Building network-byte-order-0.1.1.1 Building network-2.8.0.1 Completed network-byte-order-0.1.1.1 Starting parallel-3.2.2.0 Building parallel-3.2.2.0 Completed parallel-3.2.2.0 Starting primitive-0.7.0.0 Building primitive-0.7.0.0 Completed network-2.8.0.1 Starting random-1.1 Building random-1.1 Completed random-1.1 Starting reflection-2.1.5 Building reflection-2.1.5 Completed basement-0.0.11 Starting semigroups-0.19.1 Completed primitive-0.7.0.0 Starting tagged-0.8.6 Building semigroups-0.19.1 Building tagged-0.8.6 Completed semigroups-0.19.1 Starting th-abstraction-0.3.1.0 Building th-abstraction-0.3.1.0 Completed reflection-2.1.5 Starting torsor-0.1 Building torsor-0.1 Completed tagged-0.8.6 Starting transformers-compat-0.6.5 Building transformers-compat-0.6.5 Completed torsor-0.1 Starting type-equality-1 Building type-equality-1 Completed type-equality-1 Starting void-0.7.3 Building void-0.7.3 Completed th-abstraction-0.3.1.0 Starting zlib-0.6.2.1 Completed transformers-compat-0.6.5 Starting time-compat-1.9.2.2 Building zlib-0.6.2.1 Completed void-0.7.3 Starting contravariant-1.5.2 Building time-compat-1.9.2.2 Building contravariant-1.5.2 Completed contravariant-1.5.2 Starting unordered-containers-0.2.10.0 Building unordered-containers-0.2.10.0 Completed time-compat-1.9.2.2 Starting psqueues-0.2.7.2 Building psqueues-0.2.7.2 Completed zlib-0.6.2.1 Starting case-insensitive-1.2.1.0 Building case-insensitive-1.2.1.0 Completed case-insensitive-1.2.1.0 Starting async-2.2.2 Building async-2.2.2 Completed psqueues-0.2.7.2 Starting lens-family-1.2.3 Completed async-2.2.2 Starting uuid-types-1.0.3 Building lens-family-1.2.3 Building uuid-types-1.0.3 Completed unordered-containers-0.2.10.0 Starting memory-0.15.0 Building memory-0.15.0 Completed lens-family-1.2.3 Starting vector-0.12.0.3 Completed uuid-types-1.0.3 Starting scientific-0.3.6.2 Building vector-0.12.0.3 Building scientific-0.3.6.2 Completed scientific-0.3.6.2 Starting distributive-0.6.1 Building distributive-0.6.1 Completed memory-0.15.0 Starting transformers-base-0.4.5.2 Building transformers-base-0.4.5.2 Completed distributive-0.6.1 Starting exceptions-0.10.3 Completed transformers-base-0.4.5.2 Starting constraints-0.11.2 Building exceptions-0.10.3 Building constraints-0.11.2 Completed exceptions-0.10.3 Starting http2-1.6.5 Building http2-1.6.5 Completed constraints-0.11.2 Starting attoparsec-0.13.2.3 Building attoparsec-0.13.2.3 Completed http2-1.6.5 Starting pem-0.2.4 Completed attoparsec-0.13.2.3 Starting cryptonite-0.26 Building pem-0.2.4 Building cryptonite-0.26 Completed vector-0.12.0.3 Starting asn1-types-0.3.3 Completed pem-0.2.4 Starting comonad-5.0.5 Building asn1-types-0.3.3 Building comonad-5.0.5 Completed asn1-types-0.3.3 Starting monad-control-1.0.2.3 Building monad-control-1.0.2.3 Completed monad-control-1.0.2.3 Starting aeson-1.4.5.0 Completed comonad-5.0.5 Starting asn1-encoding-0.9.6 Building aeson-1.4.5.0 Building asn1-encoding-0.9.6 Completed asn1-encoding-0.9.6 Starting lifted-base-0.2.3.12 Building lifted-base-0.2.3.12 Completed lifted-base-0.2.3.12 Starting bifunctors-5.5.5 Building bifunctors-5.5.5 Completed haskell-src-exts-1.21.1 Starting asn1-parse-0.9.5 Building asn1-parse-0.9.5 Completed asn1-parse-0.9.5 Starting lifted-async-0.10.0.4 Completed bifunctors-5.5.5 Starting semigroupoids-5.3.3 Building lifted-async-0.10.0.4 Building semigroupoids-5.3.3 Completed lifted-async-0.10.0.4 Starting profunctors-5.4 Building profunctors-5.4 Completed aeson-1.4.5.0 Starting chronos-1.0.5 Building chronos-1.0.5 Completed semigroupoids-5.3.3 Completed profunctors-5.4 Starting invariant-0.5.3 Starting proto-lens-0.5.1.0 Building proto-lens-0.5.1.0 Building invariant-0.5.3 Completed chronos-1.0.5 Starting free-5.1.2 Building free-5.1.2 Completed invariant-0.5.3 Completed cryptonite-0.26 Starting x509-1.7.5 Building x509-1.7.5 Completed free-5.1.2 Starting adjunctions-4.4 Building adjunctions-4.4 Completed proto-lens-0.5.1.0 Starting proto-lens-runtime-0.5.0.0 Starting proto-lens-protoc-0.5.0.0 Building proto-lens-runtime-0.5.0.0 Building proto-lens-protoc-0.5.0.0 Completed proto-lens-runtime-0.5.0.0 Starting http2-grpc-types-0.4.0.0 Building http2-grpc-types-0.4.0.0 Completed adjunctions-4.4 Starting kan-extensions-5.2 Completed x509-1.7.5 Starting x509-store-1.6.7 Building kan-extensions-5.2 Building x509-store-1.6.7 Completed http2-grpc-types-0.4.0.0 Completed x509-store-1.6.7 Starting x509-validation-1.6.11 Building x509-validation-1.6.11 Completed proto-lens-protoc-0.5.0.0 Completed kan-extensions-5.2 Starting lens-4.18.1 Completed x509-validation-1.6.11 Starting tls-1.5.2 Building tls-1.5.2 Building lens-4.18.1 Completed tls-1.5.2 Starting http2-client-0.9.0.0 Building http2-client-0.9.0.0 Completed http2-client-0.9.0.0 Completed lens-4.18.1 Starting http2-client-grpc-0.5.0.1 Building http2-client-grpc-0.5.0.1 Failed to install http2-client-grpc-0.5.0.1 Build log ( /home/builder/.cabal/logs/ghc-8.6.3/http2-client-grpc-0.5.0.1-7tktOvVHnoID95NPjEu2N.log ): cabal: Entering directory '/tmp/cabal-tmp-1993/http2-client-grpc-0.5.0.1' Configuring http2-client-grpc-0.5.0.1... Preprocessing library for http2-client-grpc-0.5.0.1.. Building library for http2-client-grpc-0.5.0.1.. [1 of 2] Compiling Network.GRPC.Client ( src/Network/GRPC/Client.hs, dist/build/Network/GRPC/Client.o ) src/Network/GRPC/Client.hs:74:32: error: • Couldn't match type ‘IO a0’ with ‘ExceptT ClientError IO ()’ Expected type: ClientIO () Actual type: IO a0 • In the expression: throwIO UnallowedPushPromiseReceived In an equation for ‘throwOnPushPromise’: throwOnPushPromise _ _ _ _ _ = throwIO UnallowedPushPromiseReceived | 74 | throwOnPushPromise _ _ _ _ _ = throwIO UnallowedPushPromiseReceived | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Network/GRPC/Client.hs:79:5: error: • Couldn't match type ‘ExceptT ClientError IO’ with ‘IO’ Expected type: IO (RawReply (MethodOutput s m)) Actual type: ExceptT ClientError IO (Either ErrorCode (CIHeaderList, Maybe CIHeaderList, Either String (MethodOutput s m))) • In a stmt of a 'do' block: format . fromStreamResult <$> waitStream stream flowControl throwOnPushPromise In the expression: do format . fromStreamResult <$> waitStream stream flowControl throwOnPushPromise In an equation for ‘waitReply’: waitReply rpc decoding stream flowControl = do format . fromStreamResult <$> waitStream stream flowControl throwOnPushPromise where decompress = _getDecodingCompression decoding format rsp = do (hdrs, dat, trls) <- rsp .... | 79 | format . fromStreamResult <$> waitStream stream flowControl throwOnPushPromise | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Network/GRPC/Client.hs:149:5: error: • Couldn't match type ‘ExceptT ClientError IO (Either TooMuchConcurrency a1)’ with ‘IO (Either TooMuchConcurrency a)’ Expected type: IO (Either TooMuchConcurrency a) Actual type: ClientIO (Either TooMuchConcurrency a1) • In a stmt of a 'do' block: withHttp2Stream conn $ \ stream -> let initStream = ... .... in StreamDefinition initStream handler In the expression: do let rpc = rpcFromCall call let compress = _getEncodingCompression encoding let decompress = _getDecodingCompression decoding let request = ... <> extraheaders .... In an equation for ‘open’: open conn authority extraheaders timeout encoding decoding call = do let rpc = ... let compress = ... let decompress = ... .... • Relevant bindings include call :: RPCCall s m a (bound at src/Network/GRPC/Client.hs:135:60) open :: Http2Client -> Authority -> HeaderList -> Timeout -> Encoding -> Decoding -> RPCCall s m a -> IO (Either TooMuchConcurrency a) (bound at src/Network/GRPC/Client.hs:135:1) | 149 | withHttp2Stream conn $ \stream -> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^... src/Network/GRPC/Client.hs:154:40: error: • Couldn't match type ‘IO a’ with ‘ExceptT ClientError IO a1’ Expected type: IncomingFlowControl -> OutgoingFlowControl -> ClientIO a1 Actual type: IncomingFlowControl -> OutgoingFlowControl -> IO a • In the second argument of ‘StreamDefinition’, namely ‘handler’ In the expression: StreamDefinition initStream handler In the expression: let initStream = headers stream request (setEndHeader) handler isfc osfc = do ... in StreamDefinition initStream handler • Relevant bindings include handler :: IncomingFlowControl -> OutgoingFlowControl -> IO a (bound at src/Network/GRPC/Client.hs:152:13) call :: RPCCall s m a (bound at src/Network/GRPC/Client.hs:135:60) open :: Http2Client -> Authority -> HeaderList -> Timeout -> Encoding -> Decoding -> RPCCall s m a -> IO (Either TooMuchConcurrency a) (bound at src/Network/GRPC/Client.hs:135:1) | 154 | in StreamDefinition initStream handler | ^^^^^^^ src/Network/GRPC/Client.hs:170:9: error: • Couldn't match type ‘ExceptT ClientError IO’ with ‘IO’ Expected type: a -> Decoder (Either [Char] (MethodOutput s m)) -> HeaderList -> IO (a, HeaderList, HeaderList) Actual type: a -> Decoder (Either [Char] (MethodOutput s m)) -> HeaderList -> ExceptT ClientError IO (a, HeaderList, HeaderList) • In a stmt of a 'do' block: let loop v1 decode hdrs = _waitEvent stream >>= \case (StreamPushPromiseEvent _ _ _) -> ... (StreamHeadersEvent _ trls) -> ... (StreamErrorEvent _ _) -> ... (StreamDataEvent _ dat) -> ... in do let ocfc = ... let decompress = ... sendSingleMessage rpc req encoding setEndStream conn ocfc stream osfc .... In the expression: do let loop v1 decode hdrs = ... in do let ... .... In the second argument of ‘($)’, namely ‘\ conn stream isfc osfc encoding decoding -> do let ... in ...’ | 170 | loop v1 decode hdrs = _waitEvent stream >>= \case | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^... src/Network/GRPC/Client.hs:172:17: error: • Couldn't match type ‘IO’ with ‘ExceptT ClientError IO’ Expected type: ExceptT ClientError IO (a, HeaderList, HeaderList) Actual type: IO (a, HeaderList, HeaderList) • In the expression: throwIO (InvalidState "push promise") In a case alternative: (StreamPushPromiseEvent _ _ _) -> throwIO (InvalidState "push promise") In the second argument of ‘(>>=)’, namely ‘\case (StreamPushPromiseEvent _ _ _) -> throwIO (InvalidState "push promise") (StreamHeadersEvent _ trls) -> return (v1, hdrs, trls) (StreamErrorEvent _ _) -> throwIO (InvalidState "stream error") (StreamDataEvent _ dat) -> do _addCredit isfc (ByteString.length dat) _ <- _consumeCredit isfc (ByteString.length dat) ....’ | 172 | throwIO (InvalidState "push promise") | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Network/GRPC/Client.hs:176:17: error: • Couldn't match type ‘IO’ with ‘ExceptT ClientError IO’ Expected type: ExceptT ClientError IO (a, HeaderList, HeaderList) Actual type: IO (a, HeaderList, HeaderList) • In the expression: throwIO (InvalidState "stream error") In a case alternative: (StreamErrorEvent _ _) -> throwIO (InvalidState "stream error") In the second argument of ‘(>>=)’, namely ‘\case (StreamPushPromiseEvent _ _ _) -> throwIO (InvalidState "push promise") (StreamHeadersEvent _ trls) -> return (v1, hdrs, trls) (StreamErrorEvent _ _) -> throwIO (InvalidState "stream error") (StreamDataEvent _ dat) -> do _addCredit isfc (ByteString.length dat) _ <- _consumeCredit isfc (ByteString.length dat) ....’ | 176 | throwIO (InvalidState "stream error") | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Network/GRPC/Client.hs:178:17: error: • Couldn't match type ‘IO’ with ‘ExceptT ClientError IO’ Expected type: ExceptT ClientError IO () Actual type: IO () • In a stmt of a 'do' block: _addCredit isfc (ByteString.length dat) In the expression: do _addCredit isfc (ByteString.length dat) _ <- _consumeCredit isfc (ByteString.length dat) _ <- _updateWindow isfc handleAllChunks decoding v1 hdrs decode dat loop In a case alternative: (StreamDataEvent _ dat) -> do _addCredit isfc (ByteString.length dat) _ <- _consumeCredit isfc (ByteString.length dat) _ <- _updateWindow isfc .... | 178 | _addCredit isfc (ByteString.length dat) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Network/GRPC/Client.hs:179:22: error: • Couldn't match type ‘IO’ with ‘ExceptT ClientError IO’ Expected type: ExceptT ClientError IO Int Actual type: IO Int • In a stmt of a 'do' block: _ <- _consumeCredit isfc (ByteString.length dat) In the expression: do _addCredit isfc (ByteString.length dat) _ <- _consumeCredit isfc (ByteString.length dat) _ <- _updateWindow isfc handleAllChunks decoding v1 hdrs decode dat loop In a case alternative: (StreamDataEvent _ dat) -> do _addCredit isfc (ByteString.length dat) _ <- _consumeCredit isfc (ByteString.length dat) _ <- _updateWindow isfc .... | 179 | _ <- _consumeCredit isfc (ByteString.length dat) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Network/GRPC/Client.hs:181:17: error: • Couldn't match type ‘IO’ with ‘ExceptT ClientError IO’ Expected type: ExceptT ClientError IO (a, HeaderList, HeaderList) Actual type: IO (a, HeaderList, HeaderList) • In a stmt of a 'do' block: handleAllChunks decoding v1 hdrs decode dat loop In the expression: do _addCredit isfc (ByteString.length dat) _ <- _consumeCredit isfc (ByteString.length dat) _ <- _updateWindow isfc handleAllChunks decoding v1 hdrs decode dat loop In a case alternative: (StreamDataEvent _ dat) -> do _addCredit isfc (ByteString.length dat) _ <- _consumeCredit isfc (ByteString.length dat) _ <- _updateWindow isfc .... | 181 | handleAllChunks decoding v1 hdrs decode dat loop | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Network/GRPC/Client.hs:186:9: error: • Couldn't match type ‘ExceptT ClientError IO’ with ‘IO’ Expected type: IO (a, HeaderList, HeaderList) Actual type: ExceptT ClientError IO (a, HeaderList, HeaderList) • In a stmt of a 'do' block: _waitEvent stream >>= \case StreamHeadersEvent _ hdrs -> loop v0 (decodeOutput rpc decompress) hdrs _ -> throwIO (InvalidState "no headers") In the expression: do let ocfc = _outgoingFlowControl conn let decompress = _getDecodingCompression decoding sendSingleMessage rpc req encoding setEndStream conn ocfc stream osfc _waitEvent stream >>= \case StreamHeadersEvent _ hdrs -> loop v0 (decodeOutput rpc decompress) hdrs _ -> throwIO (InvalidState "no headers") In a stmt of a 'do' block: let loop v1 decode hdrs = _waitEvent stream >>= \case (StreamPushPromiseEvent _ _ _) -> ... (StreamHeadersEvent _ trls) -> ... (StreamErrorEvent _ _) -> ... (StreamDataEvent _ dat) -> ... in do let ocfc = ... let decompress = ... sendSingleMessage rpc req encoding setEndStream conn ocfc stream osfc .... | 186 | _waitEvent stream >>= \case | ^^^^^^^^^^^^^^^^^^^^^^^^^^^... src/Network/GRPC/Client.hs:188:17: error: • Couldn't match type ‘IO’ with ‘ExceptT ClientError IO’ Expected type: ExceptT ClientError IO (a, HeaderList, HeaderList) Actual type: IO (a, HeaderList, HeaderList) • In the expression: loop v0 (decodeOutput rpc decompress) hdrs In a case alternative: StreamHeadersEvent _ hdrs -> loop v0 (decodeOutput rpc decompress) hdrs In the second argument of ‘(>>=)’, namely ‘\case StreamHeadersEvent _ hdrs -> loop v0 (decodeOutput rpc decompress) hdrs _ -> throwIO (InvalidState "no headers")’ | 188 | loop v0 (decodeOutput rpc decompress) hdrs | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Network/GRPC/Client.hs:190:17: error: • Couldn't match type ‘IO’ with ‘ExceptT ClientError IO’ Expected type: ExceptT ClientError IO (a, HeaderList, HeaderList) Actual type: IO (a, HeaderList, HeaderList) • In the expression: throwIO (InvalidState "no headers") In a case alternative: _ -> throwIO (InvalidState "no headers") In the second argument of ‘(>>=)’, namely ‘\case StreamHeadersEvent _ hdrs -> loop v0 (decodeOutput rpc decompress) hdrs _ -> throwIO (InvalidState "no headers")’ | 190 | throwIO (InvalidState "no headers") | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Network/GRPC/Client.hs:231:21: error: • Couldn't match type ‘ExceptT ClientError IO’ with ‘IO’ Expected type: IO () Actual type: ClientIO () • In a stmt of a 'do' block: sendData conn stream setEndStream "" In the expression: do sendData conn stream setEndStream "" reply <- waitReply rpc decoding stream isfc pure (v2, reply) In a case alternative: Left _ -> do sendData conn stream setEndStream "" reply <- waitReply rpc decoding stream isfc pure (v2, reply) | 231 | sendData conn stream setEndStream "" | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Network/GRPC/Client.hs:254:13: error: • Couldn't match type ‘IO’ with ‘ExceptT ClientError IO’ Expected type: ExceptT ClientError IO () Actual type: IO () • In a stmt of a 'do' block: _receiveCredit streamFlowControl (gotStream - got) In the expression: do let !wanted = ByteString.length dat gotStream <- _withdrawCredit streamFlowControl wanted got <- _withdrawCredit connectionFlowControl gotStream _receiveCredit streamFlowControl (gotStream - got) .... In an equation for ‘goUpload’: goUpload dat = do let !wanted = ... gotStream <- _withdrawCredit streamFlowControl wanted got <- _withdrawCredit connectionFlowControl gotStream .... | 254 | _receiveCredit streamFlowControl (gotStream - got) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Network/GRPC/Client.hs:261:5: error: • Couldn't match expected type ‘IO ()’ with actual type ‘ExceptT ClientError IO ()’ • In a stmt of a 'do' block: goUpload . toStrict . toLazyByteString . encodeInput rpc compress $ msg In the expression: do let compress = _getEncodingCompression encoding let goUpload dat = ... goUpload . toStrict . toLazyByteString . encodeInput rpc compress $ msg In an equation for ‘sendSingleMessage’: sendSingleMessage rpc msg encoding flagMod conn connectionFlowControl stream streamFlowControl = do let compress = ... let goUpload dat = ... goUpload . toStrict . toLazyByteString . encodeInput rpc compress $ msg | 261 | goUpload . toStrict . toLazyByteString . encodeInput rpc compress $ msg | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cabal: Leaving directory '/tmp/cabal-tmp-1993/http2-client-grpc-0.5.0.1' cabal: Error: some packages failed to install: http2-client-grpc-0.5.0.1-7tktOvVHnoID95NPjEu2N failed during the building phase. The exception was: ExitFailure 1 lightstep-haskell-0.1.3-BVvCr8E7diMBGQRPP0HBBi depends on lightstep-haskell-0.1.3 which failed to install.