
On Mon, Apr 26, 2010 at 20:07, Ivan Lazar Miljenovic
Bjorn Buckwalter
writes: On Mon, Apr 26, 2010 at 19:38, Ivan Lazar Miljenovic
wrote: Bjorn Buckwalter
writes: Why does cabal seem to prefer base-3.0.3.2 over base-4.2.0.0 when installing packages with an unqualified base requirement? Example:
[snip]
The reason that base-3 is chosen is because many of these old libraries won't build with base-4; as such, if no upper bound restriction is found on the base package then base-3 is chosen as it is more likely to work than base-4 (there were a _lot_ of breakages when base-4 first came out with 6.10.1).
I see, I guess that's pragmatic although the deprecation warning is unfortunate.
The deprecation warning is due to GHC 6.12; this is a not-so-subtle hint to package maintainers to fix their code up, and to users to poke the maintainers of packages they use to do so!
Understood, but in this case the warning seems misdirected since fad does not restrict itself to base-3.*... So what would be the fix, to set an upper bound on base? Is the general recommendation that all packages should specify upper bounds on all dependencies (if so why doesn't Cabal tell us?)? I can see that this would make some sense as a package might be broken by an API change in its dependencies. On the other hand I can also see it causing headaches occasionally... Thanks, Bjorn