[Haskell-cafe] Cabal's dependence mechanism can be more available

吴兴博 wuxb45 at gmail.com
Thu Oct 13 16:05:13 CEST 2011


[[  My point is on cabal, but I had to give some examples. I'm very sorry
for the authors of the packages listed below. ]]
The story is :
  I was trying to install a package from hackage [holumbus-mapreduce]. I use
ghc-7.2.1 and had a hard time to install the packages that depends on.
  [holumbus-mapreduce] depends on [holumbus-distribution].
[holumbus-distribution] depends on [hxt] and [hxt-regex-xmlschema]. etc..
There are tens of depends that drive me into an infinite 'step in'.
  If the dependence mechanism of cabal packages is good enough and the
author of the package built it, the success can be repeat. but it not.
a example:
   1.
      There are hxt packages with version 9.* in hackage now.
      [holumbus-distribution] says that it depends on    "hxt >= 8.2".
      But I had to add "< 9" to make it compiled. Maybe when
holumbus-distribution was released, there was no hxt 9.*.
   2.
      some packages depends on "haskell98 <2"
      I just removed this line, and it compiled, and id I use "haskell98",
the newer "haskell98-2.*" will clash with new "base"
   3.
       here is a piece of message from `runhaskell Setup configure`
       """
       Configuring Holumbus-Distribution-0.1.1...
       Warning: This package indirectly depends on multiple versions of the
same
       package readline-1.0.1.0 requires process-1.0.1.5
       package hslogger-1.1.5 requires process-1.0.1.5
       package haskell98-2.0.0.0 requires process-1.1.0.0
       """
    but finally I found that "readline" does not refuse to be compiled with
newer "process" at all, I use --reinstall to adjust "readline" and
"hslogger" play with "process-1.1.0.0"
    It is like C++'s multi-deriving or something like that, I'm not sure of
the technique word.   A what to contain B,C ; B contains D' and C contains
D'' ; but there can be only One D in A.

All I did is download the all packages, edit its depends: and compile and
install it.

If Cabal can remember some certain package-version combination of the
successful builds, Sure It will make hackage more available to users.
based on some success build, it can also try to make promotion to
depends-packages, and provides newest & can build packages.

Cheers!

-- 

       Wu Xingbo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20111013/bc4a2e62/attachment.htm>


More information about the Haskell-Cafe mailing list