[Hackage] #220: detect inconsistent package dependencies

Hackage trac at galois.com
Tue Feb 19 08:56:17 EST 2008


#220: detect inconsistent package dependencies
----------------------------+-----------------------------------------------
  Reporter:  duncan         |        Owner:                
      Type:  enhancement    |       Status:  closed        
  Priority:  normal         |    Milestone:                
 Component:  Cabal library  |      Version:  1.2.3.0       
  Severity:  normal         |   Resolution:  fixed         
  Keywords:                 |   Difficulty:  hard (< 1 day)
Ghcversion:  6.8.2          |     Platform:                
----------------------------+-----------------------------------------------
Changes (by duncan):

  * status:  new => closed
  * resolution:  => fixed

Comment:

 {{{
 Tue Feb 19 00:01:39 GMT 2008  Duncan Coutts <duncan at haskell.org>
   * Detect broken and inconsistent package deps
   We now check for packages that are broken due to their dependencies
 having
   been unregistered. We fail and print a fairly sensible message in this
 case.
   We also check for inconsistent dependencies and give a warning saying
 which
   packages are depending on inconsistent versions of a third. This is a
 warning
   not an error because it does not always lead to failure. Hopefully it'll
 help
   people who are otherwise just running into random compile errors.
   This fixes ticket #220.
 }}}

 We now get warnings like this:
 {{{
 Configuring Foo-1.0...
 Warning: This package indirectly depends on multiple versions of the same
 package. This is highly likely to cause a compile failure.
 package rss-3000.0.1 requires HaXml-1.13.3
 package Foo-1.0 requires HaXml-1.19.2
 }}}

 This was for a `Foo-1.0` package that depended on `rss` and `HaXml` where
 both `HaXml-1.13.3` and `HaXml-1.19.2` were available but `rss` had been
 built against the older `HaXml-1.13.3`. So by default we're still picking
 the latest `HaXml` version but now we warn that we got inconsistent
 versions.

 In this example it would be possible to avoid the inconsistency by picking
 `HaXml-1.13.3`. That is the next step.

-- 
Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/220#comment:3>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects


More information about the cabal-devel mailing list