2

我刚刚重新安装了 Ubuntu 12.04,从 apt-get 拉下 haskell-platform,当我尝试安装 reactive-banana-wx 时,我得到:

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.

当我强制重新安装时,我得到:

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.

关于如何解决这个问题的任何想法,或者我是否必须等待更新依赖项或新版本的 haskell-platform?如果可能的话,我希望一切都尽可能接近 Ubuntu 上的标准安装。

谢谢!

4

1 回答 1

3

第一:永远不要强行重新安装arrayor containers。这很可能会导致已安装软件包的大量损坏。

(或至少一个)问题是reactive-banana-wx-0.5.0.0特别依赖于 wxcore-0.12.1.7,而 wxcore-0.12.1.7 又指定了一个依赖array < 0.4。wxcore允许array-0.4.*上传到hackage的版本是0.13.2.1和0.90。然而,两者都未能在 hackage 上使用 ghc-7.4 构建。

通过下载一些包并编辑它们的.cabal文件以放松依赖关系,可能可以使用 ghc-7.4 构建 reactive-banana-wx,但我无法猜测编辑 reactive-banana-wx.cabal文件以允许以后wx的包或由 reactive-banana-wx 指定.cabal的包的文件,wx以允许以后的数组、容器和类似的。

我建议通知反应香蕉的作者/维护者并让他解决。

或者,如果您真的热衷于使用 reactive-banana-wx,请将您的 Haskell 实现降级为使用 ghc-7.2 或 7.0。

于 2012-05-10T02:27:34.633 回答