[Haskell-cafe] Can everyone please update your code to the latest QuickCheck, Parsec, and HaXml this week? Thanks!

Jeremy Shaw jeremy at n-heptane.com
Sun Mar 28 19:22:41 EDT 2010


Hello,

I keep running into issues where I want to use some version of parsec,
quickcheck,  haxml, etc, in my code, but my code links against a different
third party library (e.g. network) which uses a different version of the
library (e.g., parsec) than what I want to use, and that makes cabal
unhappy.

If I use, runhaskell Setup.hs configure, I get warnings like:

~/n-heptane/projects/haskell/web-routes/web-routes-happstack $ runhaskell
Setup.hs configure --user
Configuring web-routes-happstack-0.18...
Warning: This package indirectly depends on multiple versions of the same
package. This is highly likely to cause a compile failure.
package network-2.2.1.7 requires parsec-2.1.0.1
package hsemail-1.3 requires parsec-2.1.0.1
package happstack-util-0.4.3 requires parsec-2.1.0.1
package happstack-server-0.4.3 requires parsec-2.1.0.1
package web-routes-0.18 requires parsec-3.1.0

Now, the project actually builds and runs fine, because the code in network
that uses parsec and the code in my library that uses parsec do not interact
at the parsec-level at all.

But, cabal install can not handle this, because it (currently) can't *know*
that it's actually going to work.

Now, parsec and quickcheck are in the haskell platform. So, that should
drive a lot of packages to use the same versions. But what about libraries
such as HaXml which are not in the platform? Or what about this case where I
want parsec 3, even though parsec 2 is in the haskell platform?

Any ideas about what should be done? We have this problem with QuickCheck
and happstack when people try to cabal install gitit. And I am running into
the problem again with the urlt / web-routes library.

- jeremy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20100328/431429ae/attachment.html


More information about the Haskell-Cafe mailing list