[Haskell-cafe] Cabal

Nils Anders Danielsson nad at Cs.Nott.AC.UK
Thu Dec 17 13:08:29 EST 2009

On 2009-11-09 12:39, Duncan Coutts wrote:
> You'll be glad to know this is addressed in Cabal-1.8, though not in a
> fully automatic way. The problem with sharing automatically is knowing
> when it is safe to do so and when it is not. Each component that shares
> a source file can use different compiler options, cpp flags, and include
> dirs (and perhaps other stuff that we cannot easily track). Also, when
> you link it into a library you actually compile it differently than when
> you compile it into an executable (the -package-name flag is different).
> So what we've done is to let executables depend on libraries. That makes
> the sharing explicit. At some point I also want to add support for
> private libs which would make this feature useful in more cases.

I was hoping that I could make use of this feature now:

  $ cabal --version
  cabal-install version 0.7.5
  using version of the Cabal library

However, when I try to use it I get the following error:

  cabal: internal error: could not construct a valid install plan.
  The proposed (invalid) plan contained the following problems:
  The following packages are involved in a dependency cycle ...

The relevant tests in the Cabal source tree also fail for me:


Is this feature supposed to work now, or has it been postponed?


More information about the Haskell-Cafe mailing list