2

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!

Charles Durham
  • 1,707
  • 11
  • 17

1 Answers1

3

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.

Daniel Fischer
  • 181,706
  • 17
  • 308
  • 431
  • 2
    (I'm the author of reactive-banana). As far as I am aware, the current Haskell Platform is still at GHC 7.0.4 and array-0.3.*, so the OP has got something newer. I intend to release reactive-banana-wx-0.6.0.0 ( https://github.com/HeinrichApfelmus/reactive-banana/tree/release-0.6.0.0 ) very soon, but I can't test whether it works with both wx-0.13 and wx-0.90. – Heinrich Apfelmus May 10 '12 at 07:54
  • Seems you're right. So probably the OP said platform where it was packages. Anyway, array-0.4.* indicates OP has ghc-7.4. – Daniel Fischer May 10 '12 at 09:25
  • Yeah, ubuntu 12.04 is definitely defaulting to ghc 7.4.1 in the haskell platform @HeinrichApfelmus thanks for looking into this, I'm really excited to start wiring my code up to Guis in haskell – Charles Durham May 11 '12 at 01:53
  • 1
    @Ratzes I uploaded version 0.6.0.0 of the reactive-banana-wx library. http://hackage.haskell.org/package/reactive-banana-wx. Let me know if there are any problems on GHC 7.4 now. – Heinrich Apfelmus May 16 '12 at 10:50
  • @HeinrichApfelmus The dependency issues went away, now I'm getting some error with wxc failing to install, but I think thats an issue with wxWidgets, thanks for the help! – Charles Durham Jun 04 '12 at 04:27