Resolving dependencies... Starting OneTuple-0.4.1.1 Starting base-orphans-0.9.0 Starting bitarray-0.0.1.1 Starting bytestring-strict-builder-0.4.5.6 Starting bitwise-1.0.0.1 Starting clock-0.8.4 Starting data-array-byte-0.1.0.1 Starting colour-2.3.6 Starting generically-0.1.1 Starting indexed-traversable-0.1.2.1 Starting mmap-0.5.9 Starting integer-logarithms-1.0.3.1 Starting monad-loops-0.4.3 Starting regex-base-0.94.0.2 Starting rawfilepath-1.0.1 Starting safe-0.3.19 Starting safe-exceptions-0.1.7.4 Starting split-0.2.3.5 Starting tagged-0.8.7 Starting stringsearch-0.3.6.6 Starting th-abstraction-0.5.0.0 Starting unliftio-core-0.2.1.0 Starting unix-compat-0.7 Starting vector-stream-0.1.0.0 Starting StateVar-1.2.2 Starting dlist-1.0 Starting cmdargs-0.10.22 Starting splitmix-0.1.0.4 Starting utf8-string-1.0.2 Starting transformers-compat-0.7.2 Starting base-compat-0.13.0 Building OneTuple-0.4.1.1 Building mmap-0.5.9 Building bitwise-1.0.0.1 Building bytestring-strict-builder-0.4.5.6 Building bitarray-0.0.1.1 Building integer-logarithms-1.0.3.1 Building colour-2.3.6 Building data-array-byte-0.1.0.1 Building indexed-traversable-0.1.2.1 Building regex-base-0.94.0.2 Building base-orphans-0.9.0 Building clock-0.8.4 Building vector-stream-0.1.0.0 Building StateVar-1.2.2 Building dlist-1.0 Building safe-exceptions-0.1.7.4 Building safe-0.3.19 Building generically-0.1.1 Building tagged-0.8.7 Building monad-loops-0.4.3 Building split-0.2.3.5 Building cmdargs-0.10.22 Building utf8-string-1.0.2 Building stringsearch-0.3.6.6 Building th-abstraction-0.5.0.0 Building unliftio-core-0.2.1.0 Building splitmix-0.1.0.4 Building rawfilepath-1.0.1 Building unix-compat-0.7 Building base-compat-0.13.0 Building transformers-compat-0.7.2 Completed monad-loops-0.4.3 Completed generically-0.1.1 Completed integer-logarithms-1.0.3.1 Completed split-0.2.3.5 Completed unliftio-core-0.2.1.0 Completed StateVar-1.2.2 Starting contravariant-1.5.5 Completed clock-0.8.4 Starting extra-1.7.14 Completed OneTuple-0.4.1.1 Completed splitmix-0.1.0.4 Building contravariant-1.5.5 Starting random-1.2.1.1 Building extra-1.7.14 Completed bitarray-0.0.1.1 Completed mmap-0.5.9 Building random-1.2.1.1 Completed base-orphans-0.9.0 Completed unix-compat-0.7 Completed data-array-byte-0.1.0.1 Starting hashable-1.4.2.0 Starting primitive-0.8.0.0 Completed dlist-1.0 Completed safe-0.3.19 Starting unicode-show-0.1.1.1 Building hashable-1.4.2.0 Completed bytestring-strict-builder-0.4.5.6 Building primitive-0.8.0.0 Completed tagged-0.8.7 Starting foldable1-classes-compat-0.1 Starting distributive-0.6.2.1 Starting assoc-1.1 Completed safe-exceptions-0.1.7.4 Building unicode-show-0.1.1.1 Completed transformers-compat-0.7.2 Building assoc-1.1 Building distributive-0.6.2.1 Completed vector-stream-0.1.0.0 Building foldable1-classes-compat-0.1 Completed bitwise-1.0.0.1 Completed utf8-string-1.0.2 Completed rawfilepath-1.0.1 Completed regex-base-0.94.0.2 Starting regex-pcre-0.95.0.0 Starting regex-posix-0.96.0.1 Completed colour-2.3.6 Starting ansi-terminal-types-0.11.5 Building regex-pcre-0.95.0.0 Completed stringsearch-0.3.6.6 Building regex-posix-0.96.0.1 Building ansi-terminal-types-0.11.5 Completed indexed-traversable-0.1.2.1 Completed th-abstraction-0.5.0.0 Completed unicode-show-0.1.1.1 Completed contravariant-1.5.5 Completed assoc-1.1 Completed distributive-0.6.2.1 Starting comonad-5.0.8 Building comonad-5.0.8 Completed base-compat-0.13.0 Completed foldable1-classes-compat-0.1 Starting base-compat-batteries-0.13.0 Completed ansi-terminal-types-0.11.5 Starting ansi-terminal-1.0 Completed hashable-1.4.2.0 Starting unordered-containers-0.2.19.1 Starting these-1.2 Starting text-short-0.1.5 Starting data-fix-0.3.2 Starting time-compat-1.9.6.1 Starting async-2.2.4 Building base-compat-batteries-0.13.0 Completed extra-1.7.14 Building ansi-terminal-1.0 Building text-short-0.1.5 Building data-fix-0.3.2 Building these-1.2 Building time-compat-1.9.6.1 Building async-2.2.4 Building unordered-containers-0.2.19.1 Completed regex-pcre-0.95.0.0 Completed regex-posix-0.96.0.1 Completed random-1.2.1.1 Starting uuid-types-1.0.5 Starting QuickCheck-2.14.3 Building uuid-types-1.0.5 Building QuickCheck-2.14.3 Completed cmdargs-0.10.22 Completed ansi-terminal-1.0 Completed comonad-5.0.8 Starting bifunctors-5.6.1 Completed data-fix-0.3.2 Building bifunctors-5.6.1 Completed async-2.2.4 Starting unliftio-0.2.25.0 Building unliftio-0.2.25.0 Completed primitive-0.8.0.0 Starting scientific-0.3.7.0 Starting resourcet-1.3.0 Starting atomic-primops-0.8.4 Starting vector-0.13.0.0 Completed time-compat-1.9.6.1 Building scientific-0.3.7.0 Building resourcet-1.3.0 Building atomic-primops-0.8.4 Building vector-0.13.0.0 Completed text-short-0.1.5 Completed these-1.2 Starting strict-0.5 Building strict-0.5 Completed base-compat-batteries-0.13.0 Completed uuid-types-1.0.5 Completed atomic-primops-0.8.4 Starting unagi-chan-0.4.1.4 Building unagi-chan-0.4.1.4 Completed resourcet-1.3.0 Completed scientific-0.3.7.0 Starting attoparsec-0.14.4 Completed unordered-containers-0.2.19.1 Building attoparsec-0.14.4 Completed strict-0.5 Completed unliftio-0.2.25.0 Starting posix-paths-0.3.0.0 Building posix-paths-0.3.0.0 Completed bifunctors-5.6.1 Starting profunctors-5.6.2 Starting semigroupoids-6.0.0.1 Building semigroupoids-6.0.0.1 Building profunctors-5.6.2 Completed unagi-chan-0.4.1.4 Completed QuickCheck-2.14.3 Completed posix-paths-0.3.0.0 Completed attoparsec-0.14.4 Completed profunctors-5.6.2 Completed semigroupoids-6.0.0.1 Starting either-5.0.2 Building either-5.0.2 Completed either-5.0.2 Completed vector-0.13.0.0 Starting indexed-traversable-instances-0.1.1.2 Starting bitvec-1.1.4.0 Building indexed-traversable-instances-0.1.1.2 Building bitvec-1.1.4.0 Completed indexed-traversable-instances-0.1.1.2 Starting witherable-0.4.2 Starting semialign-1.3 Building semialign-1.3 Building witherable-0.4.2 Completed bitvec-1.1.4.0 Starting vector-algorithms-0.9.0.1 Building vector-algorithms-0.9.0.1 Completed semialign-1.3 Completed witherable-0.4.2 Starting aeson-2.1.2.1 Building aeson-2.1.2.1 Completed vector-algorithms-0.9.0.1 Starting mono-traversable-1.0.15.3 Building mono-traversable-1.0.15.3 Completed mono-traversable-1.0.15.3 Starting conduit-1.3.5 Building conduit-1.3.5 Completed aeson-2.1.2.1 Completed conduit-1.3.5 Starting libyaml-0.1.2 Building libyaml-0.1.2 Completed libyaml-0.1.2 Starting yaml-0.11.11.2 Building yaml-0.11.11.2 Completed yaml-0.11.11.2 Starting cgrep-8.1.0 Building cgrep-8.1.0 Failed to install cgrep-8.1.0 Build log ( /home/builder/.cabal/logs/ghc-9.2.4/cgrep-8.1.0-9ChQwVc9pFpDgpSxiGhyid.log ): cabal: Entering directory '/tmp/cabal-tmp-2152479/cgrep-8.1.0' Configuring cgrep-8.1.0... Preprocessing executable 'cgrep' for cgrep-8.1.0.. Building executable 'cgrep' for cgrep-8.1.0.. [ 1 of 29] Compiling CGrep.Boundary ( src/CGrep/Boundary.hs, dist/build/cgrep/cgrep-tmp/CGrep/Boundary.o ) [ 2 of 29] Compiling CGrep.Distance ( src/CGrep/Distance.hs, dist/build/cgrep/cgrep-tmp/CGrep/Distance.o ) [ 3 of 29] Compiling CGrep.FileKind ( src/CGrep/FileKind.hs, dist/build/cgrep/cgrep-tmp/CGrep/FileKind.o ) [ 4 of 29] Compiling CGrep.Parser.Char ( src/CGrep/Parser/Char.hs, dist/build/cgrep/cgrep-tmp/CGrep/Parser/Char.o ) [ 5 of 29] Compiling CGrep.Types ( src/CGrep/Types.hs, dist/build/cgrep/cgrep-tmp/CGrep/Types.o ) [ 6 of 29] Compiling CGrep.Search ( src/CGrep/Search.hs, dist/build/cgrep/cgrep-tmp/CGrep/Search.o ) [ 7 of 29] Compiling CGrep.Parser.Line ( src/CGrep/Parser/Line.hs, dist/build/cgrep/cgrep-tmp/CGrep/Parser/Line.o ) [ 8 of 29] Compiling Options ( src/Options.hs, dist/build/cgrep/cgrep-tmp/Options.o ) [ 9 of 29] Compiling Paths_cgrep ( dist/build/cgrep/autogen/Paths_cgrep.hs, dist/build/cgrep/cgrep-tmp/Paths_cgrep.o ) [10 of 29] Compiling CmdOptions ( src/CmdOptions.hs, dist/build/cgrep/cgrep-tmp/CmdOptions.o ) [11 of 29] Compiling Util ( src/Util.hs, dist/build/cgrep/cgrep-tmp/Util.o ) [12 of 29] Compiling CGrep.FileType ( src/CGrep/FileType.hs, dist/build/cgrep/cgrep-tmp/CGrep/FileType.o ) [13 of 29] Compiling Config ( src/Config.hs, dist/build/cgrep/cgrep-tmp/Config.o ) [14 of 29] Compiling Reader ( src/Reader.hs, dist/build/cgrep/cgrep-tmp/Reader.o ) [15 of 29] Compiling CGrep.ContextFilter ( src/CGrep/ContextFilter.hs, dist/build/cgrep/cgrep-tmp/CGrep/ContextFilter.o ) [16 of 29] Compiling CGrep.FileTypeMap ( src/CGrep/FileTypeMap.hs, dist/build/cgrep/cgrep-tmp/CGrep/FileTypeMap.o ) [17 of 29] Compiling CGrep.Parser.Chunk ( src/CGrep/Parser/Chunk.hs, dist/build/cgrep/cgrep-tmp/CGrep/Parser/Chunk.o ) [18 of 29] Compiling CGrep.Parser.Token ( src/CGrep/Parser/Token.hs, dist/build/cgrep/cgrep-tmp/CGrep/Parser/Token.o ) [19 of 29] Compiling CGrep.Output ( src/CGrep/Output.hs, dist/build/cgrep/cgrep-tmp/CGrep/Output.o ) src/CGrep/Output.hs:173:12: error: " Illegal equational constraint GHC.Exts.Item a ~ B.Builder (Use GADTs or TypeFamilies to permit this) " When checking the inferred type mkMatch :: forall {a}. (GHC.Exts.Item a ~ B.Builder, Semigroup a, GHC.Exts.IsList a) => a -> Output -> a In an equation for jsonOutput: jsonOutput outs = pure $ mconcat . intersperse (B.char8 '\n') $ [B.byteString "{ \"file\":\"" <> B.byteString fname <> B.byteString "\", \"matches\":["] <> [mconcat $ intersperse (B.char8 ',') (foldl mkMatch ... outs)] <> [B.byteString "]}"] where fname | (Output f _ _ _) <- head outs = f mkJToken chunk = B.byteString "{ \"col\":" <> B.int64Dec (cOffset chunk) <> B.byteString ", \"token\":\"" <> B.byteString (cToken chunk) <> B.byteString "\" }" mkMatch xs (Output _ n _ ts) = xs <> [...] | 173 | mkMatch xs (Output _ n _ ts) = | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^... cabal: Leaving directory '/tmp/cabal-tmp-2152479/cgrep-8.1.0' Error: cabal: Some packages failed to install: cgrep-8.1.0-9ChQwVc9pFpDgpSxiGhyid failed during the building phase. The exception was: ExitFailure 1