[Haskell-cafe] cabal install... Trying to recover
Gregory Guthrie
guthrie at mum.edu
Wed Nov 21 15:08:31 CET 2012
Thanks for the suggestion, I’ll do that. Here goes:
I deleted the ../user/appdata/roaming/ghc and ../cabal files, an uninstalled Haskell-platform. (No trace of anything "ghc" on the disk.)
Then reinstalled Haskell, and ran “cabal update”, it said there was a new cabal-install, but trying to install it fails (below), so I went ahead with the current version.
The error seems odd to me (cabal-install-1.16.0.2 depends on Cabal-1.16.0.3 which failed to install.), that an older version depends on a newer one?
So now I have; (from Windows - Haskell-platform 2012.4.0.0)
GHCi = The Glorious Glasgow Haskell Compilation System, version 7.4.2
Cabal = cabal-install version 0.14.0, using version 1.14.0 of the Cabal library
I then tried to reload all my previous packages, (all at once?!), but it fails, "out of memory" (w/8GB of memory!)
So I split it into sections, and tried the first one; it lists a lot of new installs, and then fails
(full list at http://pastebin.com/5ywdUjgX)
The first chunk of installs gives this:
...
cabal: The following packages are likely to be broken by the reinstalls:
QuickCheck-2.4.2
haskell-platform-2012.4.0.0
Use --force-reinstalls if you want to install anyway.
I don't understand how it can want to break the Haskell-platform, sounds dangerous!
And the second this:
G:\Cabal>cabal install Boolean Craft3e Craft3e GLFW GLURaw GLUT HTTP IORefCAS Me
moTrie MonadCatchIO-mtl NumInstances ObjectName OpenGL OpenGLRaw QuickCheck SDL
SHA StateVar Tensor abstract-deque abstract-par active aeson alex ansi-terminal
array asn1-data attoparsec attoparsec-conduit base-unicode-symbols base64-bytest
ring bits-atomic blaze-builder blaze-builder-conduit blaze-html blaze-markup bla
ze-svg bmp buildwrapper byteorder cabal-dev case-insensitive cereal certificate
clientsession cmdargs colour comonad conduit contravariant cookie cpphs cprng-ae
s cpu criterion crypto-api crypto-conduit crypto-pubkey-types cryptocipher crypt
ohash css-text data-default date-cache diagrams-core diagrams-lib diagrams-svg d
list email-validate entropy erf failure fast-logger file-embed filepath filesyst
em-conduit ghc-paths gloss gtk2hs-buildtools
Resolving dependencies...
In order, the following would be installed:
Boolean-0.1.1 (new package)
...
cabal: The following packages are likely to be broken by the reinstalls:
regex-posix-0.95.1
regex-compat-0.95.1
regex-posix-0.94.4
regex-compat-0.93.1
parsec-3.1.1
fgl-5.4.2.4
fgl-5.4.2.3
QuickCheck-2.4.0.1
network-2.3.1.0
haskell-platform-2012.4.0.0
cgi-3001.1.7.4
HTTP-4000.2.5
regex-posix-0.95.2
regex-compat-0.95.1
regex-posix-0.95.1
regex-compat-0.95.1
Use --force-reinstalls if you want to install anyway.
So I have a typical situation where it won't install, and gives an option to –force, but that seems to lead to more problems?
Do I just have some packages which are intrinsically incompatible, and I have to choose between them?
Not sure how to proceed. Any help or hints appreciated! :-)
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––-
> Cabal install cabal-install
Configuring Cabal-1.16.0.3...
Warning: This package indirectly depends on multiple versions of the same
package. This is highly likely to cause a compile failure.
package process-1.1.0.1 requires base-4.5.0.0
package pretty-1.1.1.0 requires base-4.5.0.0
package old-time-1.1.0.0 requires base-4.5.0.0
package old-locale-1.0.0.4 requires base-4.5.0.0
package filepath-1.3.0.0 requires base-4.5.0.0
package directory-1.1.0.2 requires base-4.5.0.0
package deepseq-1.3.0.0 requires base-4.5.0.0
package containers-0.4.2.1 requires base-4.5.0.0
package bytestring-0.9.2.1 requires base-4.5.0.0
package array-0.4.0.0 requires base-4.5.0.0
package Win32-2.2.2.0 requires base-4.5.0.0
package filepath-1.3.0.0 requires base-4.5.1.0
package Cabal-1.16.0.3 requires base-4.5.1.0
package Cabal-1.16.0.3 requires filepath-1.3.0.0
package process-1.1.0.1 requires filepath-1.3.0.0
package directory-1.1.0.2 requires filepath-1.3.0.0
package integer-gmp-0.4.0.0 requires ghc-prim-0.2.0.0
package bytestring-0.9.2.1 requires ghc-prim-0.2.0.0
package base-4.5.0.0 requires ghc-prim-0.2.0.0
package integer-gmp-0.4.0.0 requires ghc-prim-0.2.0.0
package base-4.5.1.0 requires ghc-prim-0.2.0.0
package base-4.5.1.0 requires integer-gmp-0.4.0.0
package base-4.5.0.0 requires integer-gmp-0.4.0.0
Building Cabal-1.16.0.3...
Preprocessing library Cabal-1.16.0.3...
<command line>: cannot satisfy -package-id array-0.4.0.0-3cf1bc3f5cd0078adea24752c18081b9
(use -v for more information)
cabal: Error: some packages failed to install:
Cabal-1.16.0.3 failed during the building phase. The exception was:
ExitFailure 1
cabal-install-1.16.0.2 depends on Cabal-1.16.0.3 which failed to install.
(more -v details at: http://pastebin.com/Y2BuMjBP )
-------------------------------------------
From this email and some of the previous emails it seems that your package DB is in a pretty bad state, most likely from using --force-reinstalls. When Cabal warns you that this will break stuff it actually means it. :) My suggestion is that you
rm -rf ~/.ghc/x86_64-linux-7.6.1 # or equivalent on your system.
Then reinstall all the packages you want by listing them all at once
cabal install pkg1 pkg2 pk3
By listing them all together cabal-install tries to come up with an install plan that is globally consistent for all of them.
-- Johan
More information about the Haskell-Cafe
mailing list