Greetings to all Forum users,
Yesterday i tried to install a Haskell-module via cabal, in order to get aquainted with the installation of modules in Haskell. I had to install cabal first.
My System: Windows 7
Haskell-Compiler Version: GHC 7.0.2 (Link http://www.haskell.org/ghc/download)
Cabal: http://haskell.org/cabal/download.html
I will describe the process step by step, hoping that you may specify my wrong doings during both cabal and the package installation with cabal.
The procedure:
1. Installed Haskell Compiler GHC 7.0.2
------> Starting GHCi it from win 7 start menu, gives following output in a DOS-window:
.................................................................
. GHCi, version 7.0.2: [url]http://www.haskell.org/ghc/[/url] :? for help .
. Loading package ghc-prim ... linking ... done. .
. Loading package integer-gmp ... linking ... done. .
. Loading package base ... linking ... done. .
. Loading package ffi-1.0 ... linking ... done. .
. Prelude> .
.................................................................
-------> So far so good: Every function inside the base packages is accessible and functions just the way its supposed to. Conclusion: The GHCi installation contains no erroneous steps.
2. Loaded cabal.exe from source (see introduction), copied it into C:\ghc\ghc-7.0.2\bin (which is added into %Path%-variables)
3. Loaded cabal-install-0.8.2.tar.gz as the site advises users that the packeage is needed for a clean install.
5. Opened new dos prompt window
6. typed "cabal update" (as advised by site), it did update the list and returned to user prompt mode
7. typed "cd C:\pathwhere\cabal-install-0.8.2.tar.gz" (switched into the directory where the cabal-install file is located)
8. typed "cabal install cabal-install-0.8.2", thereafter the installation started creating following output in the dos-box:
.......................................................................................
Resolving dependencies...
Downloading containers-0.3.0.0...
Configuring containers-0.3.0.0...
Preprocessing library containers-0.3.0.0...
Building containers-0.3.0.0...
[1 of 7] Compiling Data.Sequence ( Data\Sequence.hs, dist\build\Data\Sequence.o )
[2 of 7] Compiling Data.Set ( Data\Set.hs, dist\build\Data\Set.o )
[3 of 7] Compiling Data.Map ( Data\Map.hs, dist\build\Data\Map.o )
[4 of 7] Compiling Data.IntSet ( Data\IntSet.hs, dist\build\Data\IntSet.o )
[5 of 7] Compiling Data.IntMap ( Data\IntMap.hs, dist\build\Data\IntMap.o )
[6 of 7] Compiling Data.Tree ( Data\Tree.hs, dist\build\Data\Tree.o )
[7 of 7] Compiling Data.Graph ( Data\Graph.hs, dist\build\Data\Graph.o )
cabal: ar is required but it could not be found.
Downloading filepath-1.1.0.4...
Configuring filepath-1.1.0.4...
Preprocessing library filepath-1.1.0.4...
Building filepath-1.1.0.4...
[1 of 3] Compiling System.FilePath.Posix ( System\FilePath\Posix.hs, dist\build\System\FilePath\Posix.o )
[2 of 3] Compiling System.FilePath.Windows ( System\FilePath\Windows.hs, dist\build\System\FilePath\Windows.o )
[3 of 3] Compiling System.FilePath ( System\FilePath.hs, dist\build\System\FilePath.o )
cabal: ar is required but it could not be found.
Downloading parsec-2.1.0.1...
Configuring parsec-2.1.0.1...
Preprocessing library parsec-2.1.0.1...
Building parsec-2.1.0.1...
[ 1 of 10] Compiling Text.ParserCombinators.Parsec.Pos ( Text\ParserCombinators\Parsec\Pos.hs, dist\build\Text\ParserCom
binators\Parsec\Pos.o )
[ 2 of 10] Compiling Text.ParserCombinators.Parsec.Error ( Text\ParserCombinators\Parsec\Error.hs, dist\build\Text\Parse
rCombinators\Parsec\Error.o )
[ 3 of 10] Compiling Text.ParserCombinators.Parsec.Prim ( Text\ParserCombinators\Parsec\Prim.hs, dist\build\Text\ParserC
ombinators\Parsec\Prim.o )
[ 4 of 10] Compiling Text.ParserCombinators.Parsec.Char ( Text\ParserCombinators\Parsec\Char.hs, dist\build\Text\ParserC
ombinators\Parsec\Char.o )
[ 5 of 10] Compiling Text.ParserCombinators.Parsec.Combinator ( Text\ParserCombinators\Parsec\Combinator.hs, dist\build\
Text\ParserCombinators\Parsec\Combinator.o )
[ 6 of 10] Compiling Text.ParserCombinators.Parsec.Expr ( Text\ParserCombinators\Parsec\Expr.hs, dist\build\Text\ParserC
ombinators\Parsec\Expr.o )
[ 7 of 10] Compiling Text.ParserCombinators.Parsec ( Text\ParserCombinators\Parsec.hs, dist\build\Text\ParserCombinators
\Parsec.o )
[ 8 of 10] Compiling Text.ParserCombinators.Parsec.Token ( Text\ParserCombinators\Parsec\Token.hs, dist\build\Text\Parse
rCombinators\Parsec\Token.o )
[ 9 of 10] Compiling Text.ParserCombinators.Parsec.Perm ( Text\ParserCombinators\Parsec\Perm.hs, dist\build\Text\ParserC
ombinators\Parsec\Perm.o )
[10 of 10] Compiling Text.ParserCombinators.Parsec.Language ( Text\ParserCombinators\Parsec\Language.hs, dist\build\Text
\ParserCombinators\Parsec\Language.o )
cabal: ar is required but it could not be found.
Downloading time-1.1.4...
[1 of 1] Compiling Main ( C:\Users\altug\AppData\Local\Temp\time-1.1.43528\time-1.1.4\Setup.hs, C:\Users\alt
ug\AppData\Local\Temp\time-1.1.43528\time-1.1.4\dist\setup\Main.o )
C:\Users\altug\AppData\Local\Temp\time-1.1.43528\time-1.1.4\Setup.hs:5:1:
Warning: In the use of `runTests'
(imported from Distribution.Simple, but defined in Distribution.Simple.UserHooks):
Deprecated: "Please use the new testing interface instead!"
Linking C:\Users\altug\AppData\Local\Temp\time-1.1.43528\time-1.1.4\dist\setup\setup.exe ...
Configuring time-1.1.4...
Preprocessing library time-1.1.4...
Building time-1.1.4...
[ 1 of 24] Compiling Data.Time.Clock.CTimeval ( Data\Time\Clock\CTimeval.hs, dist\build\Data\Time\Clock\CTimeval.o )
[ 2 of 24] Compiling Data.Time.Clock.Scale ( Data\Time\Clock\Scale.hs, dist\build\Data\Time\Clock\Scale.o )
[ 3 of 24] Compiling Data.Time.Calendar.Private ( Data\Time\Calendar\Private.hs, dist\build\Data\Time\Calendar\Private.o
)
[ 4 of 24] Compiling Data.Time.Calendar.MonthDay ( Data\Time\Calendar\MonthDay.hs, dist\build\Data\Time\Calendar\MonthDa
y.o )
[ 5 of 24] Compiling Data.Time.Calendar.Days ( Data\Time\Calendar\Days.hs, dist\build\Data\Time\Calendar\Days.o )
[ 6 of 24] Compiling Data.Time.Calendar.OrdinalDate ( Data\Time\Calendar\OrdinalDate.hs, dist\build\Data\Time\Calendar\O
rdinalDate.o )
[ 7 of 24] Compiling Data.Time.Calendar.Gregorian ( Data\Time\Calendar\Gregorian.hs, dist\build\Data\Time\Calendar\Grego
rian.o )
[ 8 of 24] Compiling Data.Time.Calendar.WeekDate ( Data\Time\Calendar\WeekDate.hs, dist\build\Data\Time\Calendar\WeekDat
e.o )
[ 9 of 24] Compiling Data.Time.Calendar.JulianYearDay ( Data\Time\Calendar\JulianYearDay.hs, dist\build\Data\Time\Calend
ar\JulianYearDay.o )
[10 of 24] Compiling Data.Time.Calendar.Julian ( Data\Time\Calendar\Julian.hs, dist\build\Data\Time\Calendar\Julian.o )
[11 of 24] Compiling Data.Time.Clock.UTC ( Data\Time\Clock\UTC.hs, dist\build\Data\Time\Clock\UTC.o )
[12 of 24] Compiling Data.Time.Clock.POSIX ( Data\Time\Clock\POSIX.hs, dist\build\Data\Time\Clock\POSIX.o )
[13 of 24] Compiling Data.Time.Clock.UTCDiff ( Data\Time\Clock\UTCDiff.hs, dist\build\Data\Time\Clock\UTCDiff.o )
[14 of 24] Compiling Data.Time.Clock ( Data\Time\Clock.hs, dist\build\Data\Time\Clock.o )
[15 of 24] Compiling Data.Time.LocalTime.TimeZone ( Data\Time\LocalTime\TimeZone.hs, dist\build\Data\Time\LocalTime\Time
Zone.o )
[16 of 24] Compiling Data.Time.LocalTime.TimeOfDay ( Data\Time\LocalTime\TimeOfDay.hs, dist\build\Data\Time\LocalTime\Ti
meOfDay.o )
[17 of 24] Compiling Data.Time.Calendar ( Data\Time\Calendar.hs, dist\build\Data\Time\Calendar.o )
[18 of 24] Compiling Data.Time.Calendar.Easter ( Data\Time\Calendar\Easter.hs, dist\build\Data\Time\Calendar\Easter.o )
[19 of 24] Compiling Data.Time.LocalTime.LocalTime ( Data\Time\LocalTime\LocalTime.hs, dist\build\Data\Time\LocalTime\Lo
calTime.o )
[20 of 24] Compiling Data.Time.LocalTime ( Data\Time\LocalTime.hs, dist\build\Data\Time\LocalTime.o )
[21 of 24] Compiling Data.Time.Clock.TAI ( Data\Time\Clock\TAI.hs, dist\build\Data\Time\Clock\TAI.o )
[22 of 24] Compiling Data.Time.Format.Parse ( Data\Time\Format\Parse.hs, dist\build\Data\Time\Format\Parse.o )
[23 of 24] Compiling Data.Time.Format ( Data\Time\Format.hs, dist\build\Data\Time\Format.o )
[24 of 24] Compiling Data.Time ( Data\Time.hs, dist\build\Data\Time.o )
Registering time-1.1.4...
Installing library in
C:\Users\altug\AppData\Roaming\cabal\time-1.1.4\ghc-7.0.2
Registering time-1.1.4...
Downloading random-1.0.0.3...
Configuring random-1.0.0.3...
Preprocessing library random-1.0.0.3...
Building random-1.0.0.3...
[1 of 1] Compiling System.Random ( System\Random.hs, dist\build\System\Random.o )
cabal: ar is required but it could not be found.
Downloading transformers-0.2.2.0...
Configuring transformers-0.2.2.0...
Preprocessing library transformers-0.2.2.0...
Building transformers-0.2.2.0...
[ 1 of 21] Compiling Data.Functor.Product ( Data\Functor\Product.hs, dist\build\Data\Functor\Product.o )
[ 2 of 21] Compiling Data.Functor.Constant ( Data\Functor\Constant.hs, dist\build\Data\Functor\Constant.o )
[ 3 of 21] Compiling Data.Functor.Compose ( Data\Functor\Compose.hs, dist\build\Data\Functor\Compose.o )
[ 4 of 21] Compiling Data.Functor.Identity ( Data\Functor\Identity.hs, dist\build\Data\Functor\Identity.o )
[ 5 of 21] Compiling Control.Monad.Trans.Class ( Control\Monad\Trans\Class.hs, dist\build\Control\Monad\Trans\Class.o )
[ 6 of 21] Compiling Control.Monad.IO.Class ( Control\Monad\IO\Class.hs, dist\build\Control\Monad\IO\Class.o )
[ 7 of 21] Compiling Control.Monad.Trans.Cont ( Control\Monad\Trans\Cont.hs, dist\build\Control\Monad\Trans\Cont.o )
[ 8 of 21] Compiling Control.Monad.Trans.Error ( Control\Monad\Trans\Error.hs, dist\build\Control\Monad\Trans\Error.o )
[ 9 of 21] Compiling Control.Monad.Trans.Identity ( Control\Monad\Trans\Identity.hs, dist\build\Control\Monad\Trans\Iden
tity.o )
[10 of 21] Compiling Control.Monad.Trans.List ( Control\Monad\Trans\List.hs, dist\build\Control\Monad\Trans\List.o )
[11 of 21] Compiling Control.Monad.Trans.Maybe ( Control\Monad\Trans\Maybe.hs, dist\build\Control\Monad\Trans\Maybe.o )
[12 of 21] Compiling Control.Monad.Trans.Reader ( Control\Monad\Trans\Reader.hs, dist\build\Control\Monad\Trans\Reader.o
)
[13 of 21] Compiling Control.Monad.Trans.RWS.Lazy ( Control\Monad\Trans\RWS\Lazy.hs, dist\build\Control\Monad\Trans\RWS\
Lazy.o )
[14 of 21] Compiling Control.Monad.Trans.RWS ( Control\Monad\Trans\RWS.hs, dist\build\Control\Monad\Trans\RWS.o )
[15 of 21] Compiling Control.Monad.Trans.RWS.Strict ( Control\Monad\Trans\RWS\Strict.hs, dist\build\Control\Monad\Trans\
RWS\Strict.o )
[16 of 21] Compiling Control.Monad.Trans.State.Lazy ( Control\Monad\Trans\State\Lazy.hs, dist\build\Control\Monad\Trans\
State\Lazy.o )
[17 of 21] Compiling Control.Monad.Trans.State ( Control\Monad\Trans\State.hs, dist\build\Control\Monad\Trans\State.o )
[18 of 21] Compiling Control.Monad.Trans.State.Strict ( Control\Monad\Trans\State\Strict.hs, dist\build\Control\Monad\Tr
ans\State\Strict.o )
[19 of 21] Compiling Control.Monad.Trans.Writer.Lazy ( Control\Monad\Trans\Writer\Lazy.hs, dist\build\Control\Monad\Tran
s\Writer\Lazy.o )
[20 of 21] Compiling Control.Monad.Trans.Writer ( Control\Monad\Trans\Writer.hs, dist\build\Control\Monad\Trans\Writer.o
)
[21 of 21] Compiling Control.Monad.Trans.Writer.Strict ( Control\Monad\Trans\Writer\Strict.hs, dist\build\Control\Monad\
Trans\Writer\Strict.o )
cabal: ar is required but it could not be found.
Downloading zlib-0.5.3.1...
Configuring zlib-0.5.3.1...
Preprocessing library zlib-0.5.3.1...
Building zlib-0.5.3.1...
[1 of 5] Compiling Codec.Compression.Zlib.Stream ( dist\build\Codec\Compression\Zlib\Stream.hs, dist\build\Codec\Compres
sion\Zlib\Stream.o )
[2 of 5] Compiling Codec.Compression.Zlib.Internal ( Codec\Compression\Zlib\Internal.hs, dist\build\Codec\Compression\Zl
ib\Internal.o )
[3 of 5] Compiling Codec.Compression.Zlib.Raw ( Codec\Compression\Zlib\Raw.hs, dist\build\Codec\Compression\Zlib\Raw.o )
[4 of 5] Compiling Codec.Compression.Zlib ( Codec\Compression\Zlib.hs, dist\build\Codec\Compression\Zlib.o )
[5 of 5] Compiling Codec.Compression.GZip ( Codec\Compression\GZip.hs, dist\build\Codec\Compression\GZip.o )
cabal: ar is required but it could not be found.
cabal: Error: some packages failed to install:
Cabal-1.8.0.6 depends on filepath-1.1.0.4 which failed to install.
HTTP-4000.1.1 depends on transformers-0.2.2.0 which failed to install.
cabal-install-0.8.2 depends on zlib-0.5.3.1 which failed to install.
containers-0.3.0.0 failed during the building phase. The exception was:
ExitFailure 1
directory-1.0.1.2 depends on filepath-1.1.0.4 which failed to install.
filepath-1.1.0.4 failed during the building phase. The exception was:
ExitFailure 1
mtl-2.0.1.0 depends on transformers-0.2.2.0 which failed to install.
network-2.3.0.2 depends on parsec-2.1.0.1 which failed to install.
parsec-2.1.0.1 failed during the building phase. The exception was:
ExitFailure 1
process-1.0.1.5 depends on filepath-1.1.0.4 which failed to install.
random-1.0.0.3 failed during the building phase. The exception was:
ExitFailure 1
transformers-0.2.2.0 failed during the building phase. The exception was:
ExitFailure 1
zlib-0.5.3.1 failed during the building phase. The exception was:
ExitFailure 1
........................................................................................
My Conclusion:
As one can easily see, the output indicates some errors, but i got no idea what mean. I continued trying to install my algebra package focusing on making it availible to the Dos-Interpeter from step 1.
9. again in dos-box input prompt, i typed "cabal install constructive-algebra", that created this output:
........................................................................................
Resolving dependencies...
cabal: cannot configure algebra-0.0.0.1. It requires base >=3.0 && <4.1
For the dependency on base >=3.0 && <4.1 there are these packages:
base-3.0.3.1, base-3.0.3.2 and base-4.0.0.0. However none of them are
available.
base-3.0.3.1 was excluded because of the top level dependency base -any
base-3.0.3.2 was excluded because of the top level dependency base -any
base-4.0.0.0 was excluded because of the top level dependency base -any
........................................................................................
I suppose that the package is not installed. I need someone who can explain, what exact steps i need to do in order to get modules working.
Thanks for reading this post and answering in way that makes me understand it AND the Interpreter and Compiler working.
Keltik