Question

I just did a fresh install of Ubuntu 12.04 pulling down haskell-platform from apt-get and when i try to install reactive-banana-wx i get:

cabal install reactive-banana-wx
Resolving dependencies...
In order, the following would be installed:
deepseq-1.3.0.0 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3
containers-0.4.2.1 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3
Cabal-1.14.0 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3
fgl-5.4.2.4 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3, mtl-2.0.1.0 -> 2.1
regex-base-0.93.2 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3
regex-posix-0.95.1 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3
regex-compat-0.95.1 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3
template-haskell-2.7.0.0 (reinstall)
fclabels-1.1.3 (new package)
text-0.11.2.0 (new version)
hashable-1.1.2.3 (new package)
time-1.4.0.1 (new version)
hslogger-1.1.5 (reinstall) changes: time-1.4 -> 1.4.0.1
random-1.0.1.1 (reinstall) changes: time-1.4 -> 1.4.0.1
MissingH-1.1.1.0 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3
QuickCheck-2.4.2 (reinstall)
cabal-macosx-0.2.2 (new package)
unordered-containers-0.2.1.0 (new package)
vault-0.2.0.0 (new package)
reactive-banana-0.5.0.3 (new package)
wxdirect-0.90.0.1 (new package)
wxcore-0.12.1.7 (new package)
wx-0.12.1.6 (new package)
reactive-banana-wx-0.5.0.0 (new package)
cabal: The following packages are likely to be broken by the reinstalls:
time-1.4
xmonad-contrib-0.10
haskell98-2.0.0.1
text-0.11.1.13
parsec-3.1.2
network-2.3.0.10
cgi-3001.1.8.2
HTTP-4000.2.2
parallel-3.2.0.2
containers-0.5.0.0
xmonad-0.10
ghc-7.4.1
hpc-0.5.1.1
hoopl-3.8.7.3
binary-0.5.1.0
bin-package-db-0.0.0.0
GLUT-2.1.2.1
Use --force-reinstalls if you want to install anyway.

When I force the reinstall I get:

Control/DeepSeq.hs:56:1:
    array-0.3.0.3:Data.Array can't be safely imported! The module itself isn't safe.
cabal: Error: some packages failed to install:
Cabal-1.14.0 depends on deepseq-1.3.0.0 which failed to install.
MissingH-1.1.1.0 depends on deepseq-1.3.0.0 which failed to install.
QuickCheck-2.4.2 depends on deepseq-1.3.0.0 which failed to install.
cabal-macosx-0.2.2 depends on deepseq-1.3.0.0 which failed to install.
containers-0.4.2.1 depends on deepseq-1.3.0.0 which failed to install.
deepseq-1.3.0.0 failed during the building phase. The exception was:
ExitFailure 1
fclabels-1.1.3 depends on deepseq-1.3.0.0 which failed to install.
fgl-5.4.2.4 depends on deepseq-1.3.0.0 which failed to install.
hashable-1.1.2.3 depends on deepseq-1.3.0.0 which failed to install.
hslogger-1.1.5 depends on deepseq-1.3.0.0 which failed to install.
random-1.0.1.1 depends on deepseq-1.3.0.0 which failed to install.
reactive-banana-0.5.0.3 depends on deepseq-1.3.0.0 which failed to install.
reactive-banana-wx-0.5.0.0 depends on deepseq-1.3.0.0 which failed to install.
regex-base-0.93.2 depends on deepseq-1.3.0.0 which failed to install.
regex-compat-0.95.1 depends on deepseq-1.3.0.0 which failed to install.
regex-posix-0.95.1 depends on deepseq-1.3.0.0 which failed to install.
template-haskell-2.7.0.0 depends on deepseq-1.3.0.0 which failed to install.
text-0.11.2.0 depends on deepseq-1.3.0.0 which failed to install.
time-1.4.0.1 depends on deepseq-1.3.0.0 which failed to install.
unordered-containers-0.2.1.0 depends on deepseq-1.3.0.0 which failed to
install.
vault-0.2.0.0 depends on deepseq-1.3.0.0 which failed to install.
wx-0.12.1.6 depends on deepseq-1.3.0.0 which failed to install.
wxcore-0.12.1.7 depends on deepseq-1.3.0.0 which failed to install.
wxdirect-0.90.0.1 depends on deepseq-1.3.0.0 which failed to install.

Any ideas on how I might be able to get around this or do I have to wait for dependencies to be updated or a new version of haskell-platform? I'd like to keep everything as close to the standard installation on Ubuntu if that is at all possible.

Thanks!

Was it helpful?

Solution

First: Never force a reinstall of array or containers. That will very likely lead to massive breakage among the installed packages.

The (or at least one) problem is that reactive-banana-wx-0.5.0.0 depends specifically on wxcore-0.12.1.7, which in turn specifies a dependency array < 0.4. The versions of wxcore allowing array-0.4.* uploaded to hackage are 0.13.2.1 and 0.90. However, both failed to build with ghc-7.4 on hackage.

It is probably possible to build reactive-banana-wx with ghc-7.4 by downloading some packages and editing their .cabal files to relax dependencies, but I cannot guess whether it's more promising to edit the reactive-banana-wx .cabal file to allow later wx packages or the .cabal files of the wx packages specified by reactive-banana-wx to allow later array, containers and similar.

I would recommend notifying the author/maintainer of reactive-banana and letting him sort it out.

Alternatively, downgrade your Haskell implementation to the using ghc-7.2 or 7.0 if you are really keen on playing with reactive-banana-wx.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top