Ashley Yakeley | 1 Sep 11:55

Linking Multiple Versions of the Same Package

I tried doing this out of curiosity. Package B links to version 0.1 of 
open-witness, while package C links to B and version 0.1.1 of open-witness.

Cabal stopped me when doing "cabal configure" in C:

   $ cabal configure
   Configuring C-0.1...
   Warning: This package indirectly depends on multiple versions of the same
   package. This is highly likely to cause a compile failure.
   package B-0.1 requires open-witness-0.1
   package C-0.1 requires open-witness-0.1.1

It appears the issue is that package versions are not recorded in 
External Core names. Thus
Ashley Yakeley | 1 Sep 12:02

Re: Linking Multiple Versions of the Same Package

I wrote:
> Thus

Sorry, that was accidentally sent early, and after I discovered that 
package versions are in fact recorded in External Core names.

Please ignore...

--

-- 
Ashley Yakeley
Duncan Coutts | 1 Sep 14:41

Re: Linking Multiple Versions of the Same Package

On Mon, 2008-09-01 at 02:58 -0700, Ashley Yakeley wrote:
> I tried doing this out of curiosity. Package B links to version 0.1 of 
> open-witness, while package C links to B and version 0.1.1 of open-witness.
> 
> Cabal stopped me when doing "cabal configure" in C:
> 
>    $ cabal configure
>    Configuring C-0.1...
>    Warning: This package indirectly depends on multiple versions of the same
>    package. This is highly likely to cause a compile failure.
>    package B-0.1 requires open-witness-0.1
>    package C-0.1 requires open-witness-0.1.1

It does not stop you. It's a warning.

The reason it warns is because almost every use of multiple versions of
a package is a mistake. We do not currently have a mechanism to see
which uses are deliberate or obviously safe so Cabal has to be
conservative.

Duncan

Gmane