Search code examples
cabaleclipse-fp

cabal install scion-browser fails on ubuntu 14.04 due to incompatible dependencies (in context of installing EclipseFP)


yesterday I tried to install the EclipseFP plugin with a fresh version of Eclipse 3.8 (the default that ships with Ubuntu repositories) and a clean cabal installition, meaning that the only other package installed is cabal-install. The plugin needs two cabal packages to work properly, named buildwrapper and scion-browser. The first installed completely fine, but the latter fails:

$ 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.

Of course, forcing it to install did not work and made everything worse.

My next idea was using cabal's sandboxes. So I made an isolated sandbox just for scion-browser (in version 0.3.1) with the plan to make a link in ~/.cabal/bin to ~/scion-browser-0.3.1/dist/dist-sandbox-4ccbe261/build/scion-browser/scion-browser (the sandboxed binary of scion-browser). Unfortunately this step failed too, because the package terminfo-0.4.0.0 caused an error while compiling scion-browser.

The question is now: How must I proceed to successfully install (a sandboxed version of) scion-browser?

Note that I already found a solution, shown below in my own answer – however I think that my Solution should be made public.


Solution

  • The solution is to install an older version of terminfo, in my case terminfo-0.3.2.6 by typing:

    $ cabal install terminfo-0.3.2.6
    

    However, this leads eventually to a new error, which might be fixed by following this post. After doing so, running cabal install scion-browser in the sandbox should be fine.