[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