由于不兼容的依赖关系(在安装EclipseFP的上下文中),ubuntu 14.04上的cabal安装scion-browser失败

时间:2014-08-15 14:37:15

标签: cabal eclipse-fp

昨天我尝试使用Eclipse 3.8的新版本(Ubuntu存储库附带的默认版本)和一个干净的cabal安装来安装EclipseFP插件,这意味着安装的唯一其他软件包是cabal-install。该插件需要两个cabal包才能正常工作,名为buildwrapperscion-browser。第一次安装完全没问题,但后者失败了:

$ cabal install scion-browser
Resolving dependencies...
In order, the following would be installed:
auto-update-0.1.1.1 (new package)
base64-bytestring-1.0.0.1 (new package)
blaze-builder-0.3.3.2 (new package)
blaze-markup-0.6.1.0 (new package)
blaze-html-0.7.0.2 (new package)
exceptions-0.6.1 (new package)
fast-logger-2.2.0 (new package)
mmorph-1.0.3 (new package)
monad-loops-0.4.2.1 (new package)
nats-0.2 (reinstall) changes: hashable-1.2.2.0 -> 1.2.1.0
parallel-io-0.3.3 (new package)
path-pieces-0.1.4 (new package)
polyparse-1.9 (reinstall) changes: text-1.1.1.3 -> 0.11.3.1
cpphs-1.18.5 (reinstall)
haskell-src-exts-1.14.0.1 (new version)
scientific-0.3.3.0 (reinstall) changes: hashable-1.2.2.0 -> 1.2.1.0,
text-1.1.1.3 -> 0.11.3.1
attoparsec-0.11.3.4 (new version)
aeson-0.7.0.6 (reinstall) changes: attoparsec-0.12.1.1 -> 0.11.3.4,
hashable-1.2.2.0 -> 1.2.1.0, text-1.1.1.3 -> 0.11.3.1,
unordered-containers-0.2.5.0 -> 0.2.3.0
semigroups-0.15.2 (reinstall) changes: hashable-1.2.2.0 -> 1.2.1.0,
text-1.1.1.3 -> 0.11.3.1, unordered-containers-0.2.5.0 -> 0.2.3.0
silently-1.2.4.1 (new package)
stm-chans-3.0.0.2 (new package)
streaming-commons-0.1.4.2 (new package)
tar-0.4.0.1 (new package)
terminfo-0.4.0.0 (new package)
haskeline-0.7.1.3 (new package)
transformers-base-0.4.3 (new package)
monad-control-0.3.3.0 (new package)
lifted-base-0.2.3.0 (new package)
resource-pool-0.2.3.0 (new package)
resourcet-1.1.2.3 (new package)
uniplate-1.6.12 (new package)
derive-2.5.16 (new package)
void-0.6.1 (reinstall) changes: hashable-1.2.2.0 -> 1.2.1.0
conduit-1.1.7 (new package)
conduit-extra-1.1.3.1 (new package)
monad-logger-0.3.7.1 (new package)
persistent-1.3.3 (new package)
persistent-sqlite-1.3.0.5 (new package)
persistent-template-1.3.2.2 (new package)
scion-browser-0.3.1 (new package)
cabal: The following packages are likely to be broken by the reinstalls:
dynamic-cabal-0.3.2
buildwrapper-0.8.7
haskell-src-exts-1.15.0.1
haskell-generate-0.2
attoparsec-0.12.1.1
Use --force-reinstalls if you want to install anyway.

当然,迫使它安装不起作用并使一切变得更糟。

我的下一个想法是使用cabal的sandboxes。所以我为scion-browser(版本0.3.1)创建了一个独立的沙箱,计划在~/.cabal/bin~/scion-browser-0.3.1/dist/dist-sandbox-4ccbe261/build/scion-browser/scion-browser(scion-browser的沙箱二进制文件)中建立链接。不幸的是,此步骤也失败了,因为包terminfo-0.4.0.0在编译scion-browser时导致错误。

现在的问题是:我如何继续成功安装(沙箱版)scion-browser?

请注意,我已经找到了一个解决方案,如下面的答案所示 - 但我认为我的解决方案应该公之于众。

2 个答案:

答案 0 :(得分:0)

解决方案是安装旧版本的terminfo,在我的例子中,通过键入:

来设置terminfo-0.3.2.6
$ cabal install terminfo-0.3.2.6

然而,这最终会导致新的错误,可能会通过this帖子来解决。完成后,在沙盒中运行cabal install scion-browser应该没问题。

答案 1 :(得分:0)

eclipsefp作者的建议是使用阴影沙箱来纠正。

https://github.com/JPMoresmau/eclipsefp/issues/236

http://coldwa.st/e/blog/2013-08-20-Cabal-sandbox.html

默认的cabal为1.16,因此需要更新,而不是根据

正确调用

Upgrade Cabal on Ubuntu 14.04