Resolving dependencies... Configuring base-orphans-0.5.4... Configuring mtl-2.2.1... Building mtl-2.2.1... Building base-orphans-0.5.4... Installed base-orphans-0.5.4 Configuring prelude-extras-0.4.0.3... Building prelude-extras-0.4.0.3... Configuring primitive-0.6.2.0... Installed mtl-2.2.1 Building primitive-0.6.2.0... Configuring semigroups-0.18.2... Installed prelude-extras-0.4.0.3 Building semigroups-0.18.2... Configuring random-1.1... Installed semigroups-0.18.2 Building random-1.1... Configuring stm-2.4.4.1... Installed random-1.1 Configuring transformers-compat-0.5.1.4... Installed primitive-0.6.2.0 Building stm-2.4.4.1... Building transformers-compat-0.5.1.4... Configuring text-1.2.2.1... Installed transformers-compat-0.5.1.4 Building text-1.2.2.1... Installed stm-2.4.4.1 Configuring linearscan-1.0.0... Building linearscan-1.0.0... Configuring tf-random-0.5... Installed linearscan-1.0.0 Building tf-random-0.5... Configuring StateVar-1.1.0.4... Installed text-1.2.2.1 Building StateVar-1.1.0.4... Configuring exceptions-0.8.3... Installed StateVar-1.1.0.4 Configuring tagged-0.8.5... Installed tf-random-0.5 Building exceptions-0.8.3... Building tagged-0.8.5... Installed exceptions-0.8.3 Configuring hashable-1.2.4.0... Configuring QuickCheck-2.9.2... Installed tagged-0.8.5 Building hashable-1.2.4.0... Building QuickCheck-2.9.2... Configuring distributive-0.5.0.2... Installed hashable-1.2.4.0 Building distributive-0.5.0.2... Configuring void-0.7.1... Installed distributive-0.5.0.2 Building void-0.7.1... Installed void-0.7.1 Configuring contravariant-1.4... Building contravariant-1.4... Installed contravariant-1.4 Configuring comonad-5... Installed QuickCheck-2.9.2 Building comonad-5... Installed comonad-5 Configuring bifunctors-5.4.1... Building bifunctors-5.4.1... Installed bifunctors-5.4.1 Configuring semigroupoids-5.1... Configuring profunctors-5.2... Building profunctors-5.2... Building semigroupoids-5.1... Installed profunctors-5.2 Installed semigroupoids-5.1 Configuring free-4.12.4... Building free-4.12.4... Installed free-4.12.4 Configuring linearscan-hoopl-0.9.2... Building linearscan-hoopl-0.9.2... Failed to install linearscan-hoopl-0.9.2 Build log ( /home/builder/.cabal/logs/linearscan-hoopl-0.9.2.log ): cabal: Entering directory '/tmp/cabal-tmp-11177/linearscan-hoopl-0.9.2' Configuring linearscan-hoopl-0.9.2... Building linearscan-hoopl-0.9.2... Preprocessing library linearscan-hoopl-0.9.2... [1 of 2] Compiling LinearScan.Hoopl.DSL ( LinearScan/Hoopl/DSL.hs, dist/build/LinearScan/Hoopl/DSL.o ) [2 of 2] Compiling LinearScan.Hoopl ( LinearScan/Hoopl.hs, dist/build/LinearScan/Hoopl.o ) LinearScan/Hoopl.hs:52:17: error: • Couldn't match type ‘StateT ([Int], SpillStack) Identity Int’ with ‘Int’ Expected type: Block nv C C -> Int Actual type: Block nv C C -> Env Int • In the ‘blockId’ field of a record In the expression: BlockInfo {blockId = getBlockId . entryLabel, blockSuccessors = mapM getBlockId . successors, splitCriticalEdge = \ (BlockCC b m e) (BlockCC next _ _) -> do { let ...; .... }, blockOps = \ (BlockCC a b z) -> ([NodeCO a], map NodeOO (blockToList b), [NodeOC z]), setBlockOps = \ _ as b zs -> case as of { [a] -> ... [] -> error "Beginning node missing!" _ -> error "Too many beginning nodes" }} In an equation for ‘blockInfo’: blockInfo getBlockId = BlockInfo {blockId = getBlockId . entryLabel, blockSuccessors = mapM getBlockId . successors, splitCriticalEdge = \ (BlockCC b m e) (BlockCC next _ _) -> do { ... }, blockOps = \ (BlockCC a b z) -> ([...], map NodeOO (blockToList b), [...]), setBlockOps = \ _ as b zs -> case as of { [a] -> ... [] -> ... _ -> ... }} LinearScan/Hoopl.hs:54:25: error: • Couldn't match type ‘StateT ([Int], SpillStack) Identity [Int]’ with ‘[Int]’ Expected type: Block nv C C -> [Int] Actual type: Block nv C C -> StateT ([Int], SpillStack) Identity [Int] • In the ‘blockSuccessors’ field of a record In the expression: BlockInfo {blockId = getBlockId . entryLabel, blockSuccessors = mapM getBlockId . successors, splitCriticalEdge = \ (BlockCC b m e) (BlockCC next _ _) -> do { let ...; .... }, blockOps = \ (BlockCC a b z) -> ([NodeCO a], map NodeOO (blockToList b), [NodeOC z]), setBlockOps = \ _ as b zs -> case as of { [a] -> ... [] -> error "Beginning node missing!" _ -> error "Too many beginning nodes" }} In an equation for ‘blockInfo’: blockInfo getBlockId = BlockInfo {blockId = getBlockId . entryLabel, blockSuccessors = mapM getBlockId . successors, splitCriticalEdge = \ (BlockCC b m e) (BlockCC next _ _) -> do { ... }, blockOps = \ (BlockCC a b z) -> ([...], map NodeOO (blockToList b), [...]), setBlockOps = \ _ as b zs -> case as of { [a] -> ... [] -> ... _ -> ... }} cabal: Leaving directory '/tmp/cabal-tmp-11177/linearscan-hoopl-0.9.2' cabal: Error: some packages failed to install: linearscan-hoopl-0.9.2 failed during the building phase. The exception was: ExitFailure 1