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

Bjorn Buckwalter bjorn.buckwalter at gmail.com
Mon Apr 26 07:57:16 EDT 2010

On Mon, Apr 26, 2010 at 19:38, Ivan Lazar Miljenovic
<ivan.miljenovic at gmail.com> wrote:
> 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).

I see, I guess that's pragmatic although the deprecation warning is unfortunate.

(I'm aware of the cabal-install versus Cabal distinction, but I
understand that cabal-install uses Cabal to resolve dependencies; thus
I assumed Cabal was the culprit.)


>> $ 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
> IvanMiljenovic.wordpress.com

More information about the Haskell-Cafe mailing list