[Haskell-cafe] Why does cabal select base-3.0.3.2 when base-4.2.0.0 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-3.0.3.2 over base-4.2.0.0 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-3.0.3.2 (installed) and 4.2.0.0 (installed) and discarding
> syb-0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.2 and 0.2.1
> [snip]
> Configuring fad-1.0...
> Dependency base ==3.0.3.2: using base-3.0.3.2
> [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
IvanMiljenovic.wordpress.com


More information about the Haskell-Cafe mailing list