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-0.1.0.1. However, none of them are available. zlib-bindings-0.1.0 was deprecated because zlib-conduit-0.2.0.1 requires zlib-bindings> = 0.0.3 && <0.1
zlib-bindings-0.1.0 was deprecated because zlib- was chosen instead bindings-0.0.3.2 zlib-bindings-0.1.0 was deprecated due to top-level dependency zlib-bindings == 0.0.3.2
zlib-bindings-0.1.0.1 was deprecated because zlib-conduit-0.2.0.1 requires zlib-bindings > = 0.0.3 && <0.1
zlib-bindings-0.1.0.1 was deprecated because zlib-bindings-0.0.3.2 was selected instead zlib-bindings-0.1.0.1 was deprecated due to top level dependency zlib-bindings == 0.0.3.2

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?

+3


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.

+3


source


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 http://darcs.haskell.org/cabal/

, you can run bootstrap.sh

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.

+3


source







All Articles