How to resolve conflicts between zlib-enum, zlib-binding, zlib-conduit when installing Yesod

I am trying to install Yesod web application on another computer.

I installed it on my current computer and can cabal install

go there without any problem.

I seem to run into the problem on a different machine (which is the new Ubuntu VM - for example, no cabling packages where they were installed previously).

Note that I have not changed anything about my setup (for example, the cabal files are exactly the same).

This is the error I am getting:

cabal: unable to customize zlib-enum-0.2.2. This requires zlib bindings == 0.1. *
For dependency on zlib bindings == 0.1. * The following packages are available:
zlib-bindings-0.1.0 and zlib-bindings- However, none of them are available. zlib-bindings-0.1.0 was deprecated because zlib-conduit- requires zlib-bindings> = 0.0.3 && <0.1
zlib-bindings-0.1.0 was deprecated because zlib- was chosen instead bindings- zlib-bindings-0.1.0 was deprecated due to top-level dependency zlib-bindings ==
zlib-bindings- was deprecated because zlib-conduit- requires zlib-bindings > = 0.0.3 && <0.1
zlib-bindings- was deprecated because zlib-bindings- was selected instead zlib-bindings- was deprecated due to top level dependency zlib-bindings ==

I have tried all sorts of ways to solve this problem but keep working on the same problem no matter which path I use.

My guess is that these package versions are conflicting at the moment.

How can I resolve this until it gets fixed?


source to share

2 answers

This is a prime example of a hellish conspiracy. In theory, the error lies in zlib-enum

, since it should have had a large version to reflect the main version from zlib-bindings

. But in reality, the problem lies in the analysis of addictions in Kabbalah. The new one, I hope, will be ready soon.

Meanwhile, depending on zlib-enum <= 0.2.1 should work.

Also, @ehird's answer should also be helpful, although it may not completely solve the problem.



You might want to install the new Yesod platform ( Hackage Page ):

cabal install yesod-platform


This is a metapackage that depends on specific versions of Yesod and all of its dependencies, designed to prevent version conflicts like this.

You can also try the built-in version of cabal-install which has Michael's modular dependency solver. If you are darcs get --lazy

, you can run

in cabal/cabal-install

to install it (but you should probably erase ~/.cabal

and first ~/.ghc

). 1 You still have to explicitly query the modular solver by passing --solver=modular

in cabal


Note that although this is a development version, it is actually quite stable; a lot of people on GHC 7.4.1 (myself included) use it as the Hackage version doesn't compile. So far I haven't had any problems.

1 This is for Linux; I think the appropriate directory is ~/Library/Haskell

for OS X. I have no idea what to do on Windows, especially since the shell script won't work there.



All Articles