
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