Resolving dependencies... Configuring mtl-2.2.1... Configuring old-locale-1.0.0.7... Building old-locale-1.0.0.7... Building mtl-2.2.1... Configuring text-1.2.2.1... Installed old-locale-1.0.0.7 Building text-1.2.2.1... Configuring utf8-string-1.0.1.1... Installed mtl-2.2.1 Building utf8-string-1.0.1.1... Installed utf8-string-1.0.1.1 Configuring old-time-1.1.0.3... Building old-time-1.1.0.3... Installed old-time-1.1.0.3 Installed text-1.2.2.1 Configuring parsec-3.1.11... Configuring convertible-1.1.1.0... Building parsec-3.1.11... Building convertible-1.1.1.0... Installed parsec-3.1.11 Installed convertible-1.1.1.0 Configuring HDBC-2.4.0.1... Building HDBC-2.4.0.1... Installed HDBC-2.4.0.1 Configuring HDBC-postgresql-2.2.0.0... Failed to install HDBC-postgresql-2.2.0.0 Build log ( /home/builder/.cabal/logs/HDBC-postgresql-2.2.0.0.log ): cabal: Entering directory '/tmp/cabal-tmp-22598/HDBC-postgresql-2.2.0.0' cabal: Leaving directory '/tmp/cabal-tmp-22598/HDBC-postgresql-2.2.0.0' cabal: Error: some packages failed to install: HDBC-postgresql-2.2.0.0 failed during the configure step. The exception was: user error ('/opt/ghc/8.0.2/bin/ghc' exited with an error: /tmp/cabal-tmp-22598/HDBC-postgresql-2.2.0.0/dist/setup/setup.hs:31:7: error: • Couldn't match expected type ‘ProgramSearchPath -> IO (Maybe (FilePath, [FilePath]))’ with actual type ‘IO (Maybe FilePath)’ • In a stmt of a 'do' block: pgconfig <- findProgramOnPath "pgconfig" verbosity In the expression: do { pgconfig <- findProgramOnPath "pgconfig" verbosity; pg_config <- findProgramOnPath "pg_config" verbosity; return (pgconfig `mplus` pg_config) } In the ‘programFindLocation’ field of a record /tmp/cabal-tmp-22598/HDBC-postgresql-2.2.0.0/dist/setup/setup.hs:38:24: error: • Couldn't match expected type ‘ProgramConfiguration -> IO (ConfiguredProgram, t0)’ with actual type ‘IO (ConfiguredProgram, Distribution.Simple.Program.Db.ProgramDb)’ • The function ‘requireProgram’ is applied to four arguments, but its type ‘Verbosity -> Program -> Distribution.Simple.Program.Db.ProgramDb -> IO (ConfiguredProgram, Distribution.Simple.Program.Db.ProgramDb)’ has only three In a stmt of a 'do' block: (pgconfigProg, _) <- requireProgram verbosity pgconfigProgram AnyVersion (withPrograms lbi) In the expression: do { (pgconfigProg, _) <- requireProgram verbosity pgconfigProgram AnyVersion (withPrograms lbi); let pgconfig = rawSystemProgramStdout verbosity pgconfigProg; incDir <- pgconfig ["--includedir"]; libDir <- pgconfig ["--libdir"]; .... } /tmp/cabal-tmp-22598/HDBC-postgresql-2.2.0.0/dist/setup/setup.hs:39:42: error: • Couldn't match expected type ‘Distribution.Simple.Program.Db.ProgramDb’ with actual type ‘VersionRange’ • In the third argument of ‘requireProgram’, namely ‘AnyVersion’ In a stmt of a 'do' block: (pgconfigProg, _) <- requireProgram verbosity pgconfigProgram AnyVersion (withPrograms lbi) In the expression: do { (pgconfigProg, _) <- requireProgram verbosity pgconfigProgram AnyVersion (withPrograms lbi); let pgconfig = rawSystemProgramStdout verbosity pgconfigProg; incDir <- pgconfig ["--includedir"]; libDir <- pgconfig ["--libdir"]; .... } )