[Haskell-cafe] Why does cabal select base- when base- is available?

Ivan Lazar Miljenovic ivan.miljenovic at gmail.com
Mon Apr 26 07:38:54 EDT 2010

Bjorn Buckwalter <bjorn.buckwalter at gmail.com> writes:
> Why does cabal seem to prefer base- over base- when
> installing packages with an unqualified base requirement? Example:

You mean cabal-install rather than Cabal.  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).

> $ cabal install -v fad --reinstall
> [snip]
> Resolving dependencies...
> selecting fad-1.0 (hackage)
> selecting base- (installed) and (installed) and discarding
> syb-,,,, 0.2 and 0.2.1
> [snip]
> Configuring fad-1.0...
> Dependency base == using base-
> [snip]
> [1 of 1] Compiling Numeric.FAD      ( Numeric/FAD.hs, dist/build/Numeric/FAD.o )
> Numeric/FAD.hs:1:0:
>     Warning: Module `Prelude' is deprecated:
>                You are using the old package `base' version 3.x.
>                Future GHC versions will not support base version 3.x. You
>                should update your code to use the new base version 4.x.
> [snip]

Ivan Lazar Miljenovic
Ivan.Miljenovic at gmail.com

More information about the Haskell-Cafe mailing list