[Haskell-cafe] A new cabal odissey: cabal-1.8 breaking its own
neck by updating its dependencies
p.giarrusso at gmail.com
Sun Sep 12 12:25:09 EDT 2010
On Sun, Sep 12, 2010 at 15:30, Tillmann Rendel
<rendel at mathematik.uni-marburg.de> wrote:
> Paolo Giarrusso wrote:
>> $ cabal install --dry cabal-install leksah-0.8.0.6
>> [... does not work ...]
>> However, trying to install cabal-install and leksah separately works quite
> So do install them separately.
Yeah, I did, I was pointing out the behavior because it _looked_ like
a bug. And while it's a feature, it is there to cater with another
"bug" (see below).
Indeed, nothing in this thread is an assistance request.
> cabal install p1 p2 is supposed to find a single consistent install plan for
> p1 and p2 and the transitive dependencies of either of them. This is useful
> if you plan to use p1 and p2 in a single project.
Ahah! Then it's a feature. The need for consistency stems from a bug:
in a tracker entry you linked to,
http://hackage.haskell.org/trac/hackage/ticket/704, duncan argues that
"we also want to be able to do things like linking multiple versions
of a Haskell package into a single application".
If that were possible, cabal would solve my request by using Cabal 1.6
and 1.8 together - you can make that work if type-checking uses
_versioned_ types (that's not discussed in bug #704 though). I
believe, though, cabal should still try to avoid that unless needed or
explicitly requested. Among other reasons, even after typechecking,
Cabal 1.6 and 1.8 might interact differently with RealWorld, say
through incompatible file formats. In that case, I would refrain from
installing both, or Cabal 1.8 would have some imaginary "Conflicts:
Cabal-1.6" property (which exists for Debian packages).
But I see that here, the only correct install plan implies a GHC
upgrade via Cabal and Hackage, which should not happen without a
warning, and should never be attempted until all fundamental problems
we are discussing are solved.
Paolo Giarrusso - Ph.D. Student
More information about the Haskell-Cafe