Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

installing darcsden

After making cabal install of the darcsden code I get this message:

cabal: The following packages are likely to be broken by the reinstalls: bin-package-db-0.0.0.0 ghc-7.4.1 Use --force-reinstalls if you want to install anyway.

How do I get around this? What does it mean?

like image 824
rbarreiro Avatar asked Jun 22 '12 19:06

rbarreiro


1 Answers

Why does it happen?

If you look at the full output of cabal install darcsden, you will find several lines that look like this:

binary-0.5.1.0 -bytestring-in-base (reinstall) changes: array-0.4.0.0 ->
0.3.0.3, containers-0.4.2.1 -> 0.4.1.0

This means that cabal has found an install plan that involves (destructively) reinstalling packages that you already have on your system.

Now, GHC packages are rather sensitive when it comes to their (reflexive) dependencies, and generally only work if exactly the right version of all dependencies is available, compiled against the right versions of their dependencies and so on. Therefore, replacing an already installed package with a new version of changed dependencies can cause some packages on your system to become unusable. Since version 0.14.0, cabal warns you about such a situation in advance to prevent you from accidentally breaking your system.

In your case, ghc and bin-package-db are among the potentially broken packages, because they depend on binary which gets reinstalled. So you should not try to use the --force-reinstalls flag, because it might really break your GHC.

What can you do?

If you scan what is going to be reinstalled, you see that quite a few dependencies are downgraded. This hints at the fact that the package you are trying to install might not be properly updated to GHC 7.4.1 yet.

You can in general try to call cabal install darcsden --avoid-reinstalls to explicitly try to find an install plan that has no reinstalls. Unfortunately, in this case, it fails (for me).

I've briefly looked at the darcsden package description, but it looks like quite a few dependencies of darcsden need to be updated. So the remaining options are: Convince the author(s) of darcsden to release an updated version, or install darcsden using an older version of GHC (such as 7.0.4), which should just work.

like image 181
kosmikus Avatar answered Oct 13 '22 01:10

kosmikus