ANNOUNCE: GHC 7.4.1 Release Candidate 2

Andres Löh andres.loeh at googlemail.com
Wed Feb 1 09:00:05 CET 2012


Hi there.

First of all: I'm aware that the current situation with cabal-install
is suboptimal and a new release it desperately needed.

Still, some general advice and attempts at explaining strange behaviour:

On Wed, Feb 1, 2012 at 8:05 AM, Evan Laforge <qdunkan at gmail.com> wrote:
> So it embarrasses me to admit it, but I'm having the same problem I
> always have when I install a new ghc, and that's cabal and cabal
> install.

Whenever you install GHC successfully, you *have* a version of Cabal
(the library) already. It's used by GHC to build GHC. There shouldn't
be any need to touch it. For the current GHC 7.4.1 release candidate,
that version is 1.14.0.

About cabal-install:

> I downloaded the latest cabal-install from
> http://hackage.haskell.org/package/cabal-install and that was a
> mistake right off.

Assuming you upgraded, you probably had an old version of
cabal-install. You should be able to keep using it for the time being.
The cabal binary picks up the GHC that's currently in path (or the one
you explicitly specify via --with-ghc). There's no requirement to use
it with the GHC version that it has been built with.

> After fiddling around I figured out I apparently
> need the one bundled with ghc... and sure enough, the source version
> has a cabal-install-0.13.3.

The current development version is indeed at 0.13.3, but since it's in
development, your copy might or might not have the latest patches. The
definitive darcs repository for both Cabal and cabal-install is at:

  darcs get http://darcs.haskell.org/cabal/

> This one has newer but also has out of
> date dependencies:
>
> Configuring cabal-install-0.13.3...
> Setup.hs: At least the following dependencies are missing:
> Cabal >=1.13.3 && <1.14,
> base >=2.0 && <2.2,
> filepath >=1.0 && <1.3,
> time >=1.1 && <1.3,

This seems to indicate that you haven't tried with the current
development version of cabal-install. The dependency ranges have been
updated to allow building with the ghc-7.4.1 release candidate.

> But shouldn't cabal-install be updated for the version of ghc it's
> with?  I cloned branch 7.4 and did a ./sync-all pull so I should have
> the latest version, right?

I wasn't actually aware that cabal-install is included in the ghc tree
and can be pulled via sync-all. I'll try to reproduce what you did and
see if there's anything wrong.

> And how are other people testing this out
> if cabal-install has out of date dependencies?  And strangest, why is
> the 'base' dependency so old?

That's a consequence of how Cabal tries to resolve dependencies. There
are multiple flags in the .cabal file (to allow it to build with older
or strange configurations), and once the default flag settings fail,
Cabal will automatically try other assignments. If all assignments
fail, it will complain about the missing dependencies for the flag
assignment it tried last. So there isn't really a dependency on such
an old version of base.

> And while I'm wondering about cabal, why on earth is it that so many
> Setup.hs files are actually Setup.lhs and with no actual literate
> contents?

Does it really matter?

Cheers,
  Andres



More information about the Glasgow-haskell-users mailing list