Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

cabal install yesod fails?

Haskell package dependencies continue to be a problem but I don't know how to get around this one. My environment:

  • Ubuntu 10.10, new install
  • apt-get install ghc6 cabal-install
  • cabal update && cabal install cabal-install

Then:

  • cabal install yesod

And I get this:

$ cabal install yesod
cabal: Error: some packages failed to install:
persistent-0.3.1.2 failed during the building phase. The exception was:
ExitFailure 1
yesod-0.6.6 depends on persistent-0.3.1.2 which failed to install.
$ cabal install persistent-0.3.1.2
Resolving dependencies...
cabal: cannot configure blaze-builder-0.2.0.2. It requires text ==0.10.*
For the dependency on text ==0.10.* there are these packages: text-0.10.0.0,
text-0.10.0.1 and text-0.10.0.2. However none of them are available.
text-0.10.0.0 was excluded because enumerator-0.4.3.1 requires text ==0.11.*
text-0.10.0.1 was excluded because enumerator-0.4.3.1 requires text ==0.11.*
text-0.10.0.2 was excluded because enumerator-0.4.3.1 requires text ==0.11.*

How do I get yesod installed?

like image 228
Muchin Avatar asked Dec 09 '10 03:12

Muchin


4 Answers

To see more details, add -v (or even -v2 or -v3) and perhaps --dry-run. Also it's useful to see what's currently installed, with ghc-pkg list.

When you upgrade persistent, cabal decides it should also rebuild your existing yesod which depends on it. This triggers a blaze-builder upgrade. blaze-builder requires an older text than enumerator which is also being installed.

http://hackage.haskell.org/package/enumerator claims to support older text versions as well as 0.11. But cabal has been outwitted somehow. The verbose output may tell more, or see if you can help it along with a --constraint or two. Or by first uninstalling some related packages, like yesod. And of course be sure you have done cabal update.

like image 131
Simon Michael Avatar answered Sep 30 '22 14:09

Simon Michael


yesod is under heavy development. email michael snoyman (contact info can be found here), he is very responsive to requests

like image 24
Brad Clawsie Avatar answered Sep 30 '22 15:09

Brad Clawsie


There is a dependency-break. Report this as an error to the author of the package. Consider downloading and installing an older version of enumerator manually, too.

like image 21
fuz Avatar answered Sep 30 '22 14:09

fuz


I found some information about a better install process here:

https://github.com/yesodweb/yesod

Look for the section about cabal-src.

I'm in the process of trying it out.

I'll report back, and let people know if it works.

like image 37
Fenugreek Femtosecond Avatar answered Sep 30 '22 14:09

Fenugreek Femtosecond