[Haskell-cafe] Is it just me... or is cabal/hackage a little broken?

Duncan Coutts duncan.coutts at googlemail.com
Wed Dec 23 17:43:56 EST 2009


On Wed, 2009-12-23 at 00:14 +0100, Bardur Arantsson wrote:
> Hi all,
> 
> Sorry about the inflammatory title, but I just got this message from an 
> uploaded package ("hums"):
> 
>    Warning: This package indirectly depends on multiple versions of the
>    same package. This is highly likely to cause a compile failure.
> 
> The thing is, I got the same message while trying to compile locally and 
> it turned out that all I had to do was to
> 
>     $ cabal install <PKG-X>
> 
> on all the packages that cabal complained about.

Right. I wrote a simple constraint solver for cabal-install to solve
this problem (the diamond dependency problem).

> So why doesn't hackage do this automagically when I upload a package?

The single hackage buildbot does not do anything smart. It does not use
the cabal-install solver, so it regularly runs into the diamond dep
problem.

> How am I supposed to know which versions of my package's dependencies
> (or their dependencies) are the most recently compiled by hackage?

You're not. My suggestion is don't worry about it not building on
hackage. The quality of the build results there just are not that good.

For the new hackage server we're using a different design that will
generate good build results.

> For the record: I did do a "Check package" upload first. It didn't complain.

Right. It's not a problem with the package itself.

> Is this an intractable problem? Am I being overly demanding (probably)?

No, not intractable. The cabal-install solver can handle it most of the
time.

Duncan



More information about the Haskell-Cafe mailing list