Resolving dependencies... Configuring base-orphans-0.7... Configuring cabal-doctest-1.0.6... Building cabal-doctest-1.0.6... Building base-orphans-0.7... Installed base-orphans-0.7 Configuring cereal-0.5.5.0... Installed cabal-doctest-1.0.6 Configuring fail-4.9.0.0... Building cereal-0.5.5.0... Building fail-4.9.0.0... Installed fail-4.9.0.0 Configuring reflection-2.1.3... Building reflection-2.1.3... Installed cereal-0.5.5.0 Configuring semigroups-0.18.4... Building semigroups-0.18.4... Installed reflection-2.1.3 Configuring th-abstraction-0.2.6.0... Installed semigroups-0.18.4 Configuring transformers-compat-0.6.2... Building th-abstraction-0.2.6.0... Building transformers-compat-0.6.2... Installed th-abstraction-0.2.6.0 Configuring void-0.7.2... Installed transformers-compat-0.6.2 Configuring transformers-base-0.4.5.2... Building void-0.7.2... Building transformers-base-0.4.5.2... Installed void-0.7.2 Configuring tagged-0.8.5... Building tagged-0.8.5... Installed transformers-base-0.4.5.2 Configuring exceptions-0.8.3... Building exceptions-0.8.3... Installed tagged-0.8.5 Configuring contravariant-1.4.1... Building contravariant-1.4.1... Installed exceptions-0.8.3 Configuring bytes-0.15.4... Building bytes-0.15.4... Installed contravariant-1.4.1 Configuring distributive-0.5.3... Building distributive-0.5.3... Installed distributive-0.5.3 Configuring comonad-5.0.3... Installed bytes-0.15.4 Building comonad-5.0.3... Installed comonad-5.0.3 Configuring bifunctors-5.5.2... Building bifunctors-5.5.2... Installed bifunctors-5.5.2 Configuring semigroupoids-5.2.2... Configuring profunctors-5.2.2... Building profunctors-5.2.2... Building semigroupoids-5.2.2... Installed profunctors-5.2.2 Installed semigroupoids-5.2.2 Configuring free-5.0.2... Building free-5.0.2... Installed free-5.0.2 Configuring adjunctions-4.4... Building adjunctions-4.4... Installed adjunctions-4.4 Configuring kan-extensions-5.1... Building kan-extensions-5.1... Installed kan-extensions-5.1 Configuring lens-4.16.1... Building lens-4.16.1... Installed lens-4.16.1 Configuring linear-1.20.7... Building linear-1.20.7... Installed linear-1.20.7 Configuring sdl2-2.1.3.1... Building sdl2-2.1.3.1... Installed sdl2-2.1.3.1 Configuring sdl2-ttf-1.0.0... Building sdl2-ttf-1.0.0... Installed sdl2-ttf-1.0.0 Configuring haskell-snake-1.0.0... Building haskell-snake-1.0.0... Failed to install haskell-snake-1.0.0 Build log ( /home/builder/.cabal/logs/ghc-8.2.2/haskell-snake-1.0.0-He36nRvI6nh6bo77uqEIZ8.log ): cabal: Entering directory '/tmp/cabal-tmp-2791/haskell-snake-1.0.0' Configuring haskell-snake-1.0.0... Preprocessing library for haskell-snake-1.0.0.. Building library for haskell-snake-1.0.0.. [1 of 8] Compiling Game.HSnake.Basic ( src/Game/HSnake/Basic.hs, dist/build/Game/HSnake/Basic.o ) src/Game/HSnake/Basic.hs:49:1: warning: [-Wmissing-signatures] Top-level binding with no type signature: randomListGenerator :: IO [Int] | 49 | randomListGenerator = do | ^^^^^^^^^^^^^^^^^^^ src/Game/HSnake/Basic.hs:55:1: warning: [-Wmissing-signatures] Top-level binding with no type signature: getRandomApple :: Foldable t => t Point -> IO Point | 55 | getRandomApple snakePosition = do | ^^^^^^^^^^^^^^ src/Game/HSnake/Basic.hs:61:27: warning: [-Wname-shadowing] This binding for ‘x’ shadows the existing binding defined at src/Game/HSnake/Basic.hs:19:1 | 61 | modPoint (x, y) = Point ((x `mod` numRectsX) + 1) ((y `mod` numRectsY) + 1) | ^ src/Game/HSnake/Basic.hs:61:30: warning: [-Wname-shadowing] This binding for ‘y’ shadows the existing binding defined at src/Game/HSnake/Basic.hs:19:1 | 61 | modPoint (x, y) = Point ((x `mod` numRectsX) + 1) ((y `mod` numRectsY) + 1) | ^ src/Game/HSnake/Basic.hs:64:1: warning: [-Wredundant-constraints] • Redundant constraint: Eq a • In the type signature for: mapToIndices :: forall a. Eq a => (a -> a) -> [a] -> [Int] -> [a] | 64 | mapToIndices :: (Eq a) => (a -> a) -> [a] -> [Int] -> [a] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Game/HSnake/Basic.hs:70:27: warning: [-Wunused-matches] Defined but not used: ‘f'’ | 70 | mapToIndices' f' [] _ _ = [] | ^^ src/Game/HSnake/Basic.hs:71:27: warning: [-Wunused-matches] Defined but not used: ‘f'’ | 71 | mapToIndices' f' xs' [] _ = xs' | ^^ [2 of 8] Compiling Game.HSnake.Board ( src/Game/HSnake/Board.hs, dist/build/Game/HSnake/Board.o ) src/Game/HSnake/Board.hs:15:1: warning: [-Wmissing-signatures] Top-level binding with no type signature: initialBoard :: Board | 15 | initialBoard = Board numRectsX numRectsY | ^^^^^^^^^^^^ [3 of 8] Compiling Game.HSnake.Snake ( src/Game/HSnake/Snake.hs, dist/build/Game/HSnake/Snake.o ) [4 of 8] Compiling Game.HSnake.Player ( src/Game/HSnake/Player.hs, dist/build/Game/HSnake/Player.o ) [5 of 8] Compiling Game.HSnake.Game ( src/Game/HSnake/Game.hs, dist/build/Game/HSnake/Game.o ) src/Game/HSnake/Game.hs:29:20: warning: [-Wtype-defaults] • Defaulting the following constraint to type ‘Integer’ Integral a0 arising from a use of ‘toInteger’ • In the expression: toInteger $ floor $ (380 * (0.5 ** (0.1 * (fromIntegral l))) + 20) In an equation for ‘speedFromLevel’: speedFromLevel l = toInteger $ floor $ (380 * (0.5 ** (0.1 * (fromIntegral l))) + 20) | 29 | speedFromLevel l = toInteger $ floor $ (380 * (0.5**(0.1 * (fromIntegral l))) + 20) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Game/HSnake/Game.hs:29:32: warning: [-Wtype-defaults] • Defaulting the following constraints to type ‘Double’ (RealFrac a0) arising from a use of ‘floor’ at src/Game/HSnake/Game.hs:29:32-83 (Floating a0) arising from a use of ‘**’ at src/Game/HSnake/Game.hs:29:48-76 (Fractional a0) arising from the literal ‘0.5’ at src/Game/HSnake/Game.hs:29:48-50 (Num a0) arising from a use of ‘+’ at src/Game/HSnake/Game.hs:29:41-82 • In the second argument of ‘($)’, namely ‘floor $ (380 * (0.5 ** (0.1 * (fromIntegral l))) + 20)’ In the expression: toInteger $ floor $ (380 * (0.5 ** (0.1 * (fromIntegral l))) + 20) In an equation for ‘speedFromLevel’: speedFromLevel l = toInteger $ floor $ (380 * (0.5 ** (0.1 * (fromIntegral l))) + 20) | 29 | speedFromLevel l = toInteger $ floor $ (380 * (0.5**(0.1 * (fromIntegral l))) + 20) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [6 of 8] Compiling Game.HSnake.Graphics ( src/Game/HSnake/Graphics.hs, dist/build/Game/HSnake/Graphics.o ) src/Game/HSnake/Graphics.hs:19:1: error: Could not find module ‘SDL.Font’ Perhaps you meant SDL.Hint (from sdl2-2.1.3.1) Use -v to see a list of the files searched for. | 19 | import qualified SDL.Font as SDLF | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cabal: Leaving directory '/tmp/cabal-tmp-2791/haskell-snake-1.0.0' cabal: Error: some packages failed to install: haskell-snake-1.0.0-He36nRvI6nh6bo77uqEIZ8 failed during the building phase. The exception was: ExitFailure 1