Resolving dependencies... Configuring data-default-class-0.1.2.0... Configuring dlist-0.8.0.4... Building data-default-class-0.1.2.0... Building dlist-0.8.0.4... Installed data-default-class-0.1.2.0 Configuring ghc-tcplugins-extra-0.3... Building ghc-tcplugins-extra-0.3... Installed dlist-0.8.0.4 Configuring loop-0.3.0... Building loop-0.3.0... Installed loop-0.3.0 Configuring old-locale-1.0.0.7... Installed ghc-tcplugins-extra-0.3 Configuring primitive-0.6.4.0... Building old-locale-1.0.0.7... Building primitive-0.6.4.0... Installed old-locale-1.0.0.7 Configuring random-1.1... Building random-1.1... Installed random-1.1 Configuring semigroups-0.18.5... Building semigroups-0.18.5... Installed semigroups-0.18.5 Configuring transformers-compat-0.6.2... Building transformers-compat-0.6.2... Installed transformers-compat-0.6.2 Configuring data-default-instances-containers-0.0.1... Building data-default-instances-containers-0.0.1... Installed primitive-0.6.4.0 Configuring data-default-instances-dlist-0.0.1... Installed data-default-instances-containers-0.0.1 Configuring ghc-typelits-natnormalise-0.6.2... Building data-default-instances-dlist-0.0.1... Building ghc-typelits-natnormalise-0.6.2... Installed data-default-instances-dlist-0.0.1 Configuring data-default-instances-old-locale-0.0.1... Building data-default-instances-old-locale-0.0.1... Installed data-default-instances-old-locale-0.0.1 Configuring HaskellForMaths-0.4.8... Building HaskellForMaths-0.4.8... Installed ghc-typelits-natnormalise-0.6.2 Configuring vector-0.12.0.1... Building vector-0.12.0.1... Installed vector-0.12.0.1 Configuring MonadRandom-0.5.1.1... Building MonadRandom-0.5.1.1... Installed MonadRandom-0.5.1.1 Configuring data-default-0.7.1.1... Building data-default-0.7.1.1... Installed data-default-0.7.1.1 Configuring ghc-typelits-knownnat-0.5.1... Building ghc-typelits-knownnat-0.5.1... Installed ghc-typelits-knownnat-0.5.1 Configuring matrix-0.3.6.1... Building matrix-0.3.6.1... Installed HaskellForMaths-0.4.8 Configuring random-shuffle-0.0.4... Building random-shuffle-0.0.4... Installed random-shuffle-0.0.4 Installed matrix-0.3.6.1 Configuring linear-code-0.1.1... Building linear-code-0.1.1... Failed to install linear-code-0.1.1 Build log ( /home/builder/.cabal/logs/ghc-8.4.3/linear-code-0.1.1-4v0fQ6Vtg0I46XaXY6evj9.log ): cabal: Entering directory '/tmp/cabal-tmp-8903/linear-code-0.1.1' Configuring linear-code-0.1.1... Preprocessing library for linear-code-0.1.1.. Building library for linear-code-0.1.1.. [1 of 5] Compiling Math.Algebra.Field.Instances ( src/Math/Algebra/Field/Instances.hs, dist/build/Math/Algebra/Field/Instances.o ) [2 of 5] Compiling Math.Algebra.Field.Static ( src/Math/Algebra/Field/Static.hs, dist/build/Math/Algebra/Field/Static.o ) [3 of 5] Compiling Math.Algebra.Matrix ( src/Math/Algebra/Matrix.hs, dist/build/Math/Algebra/Matrix.o ) src/Math/Algebra/Matrix.hs:73:64: error: • Could not deduce (Semigroup (Matrix m n f)) arising from the 'deriving' clause of a data type declaration from the context: Monoid f bound by the deriving clause for ‘Monoid (Matrix m n f)’ at src/Math/Algebra/Matrix.hs:73:64-69 Possible fix: use a standalone 'deriving instance' declaration, so you can specify the instance context yourself There are instances for similar types: instance Monoid a => Semigroup (M.Matrix a) -- Defined in ‘Data.Matrix’ • When deriving the instance for (Monoid (Matrix m n f)) | 73 | deriving (Eq, Functor, Applicative, Foldable, Traversable, Monoid) | ^^^^^^ cabal: Leaving directory '/tmp/cabal-tmp-8903/linear-code-0.1.1' cabal: Error: some packages failed to install: linear-code-0.1.1-4v0fQ6Vtg0I46XaXY6evj9 failed during the building phase. The exception was: ExitFailure 1