On Sunday 04 July 2010 14:39:05, Michael Lazarev wrote: > Hi, everybody! > > I think there's either an error in cabal-install, or I don't have an > idea on haskell packages. > I tried to install one particular library that depends on > containers-0.2.0.1 and got the following error: > > Data/IntMap.hs:182:7: > Could not find module `Data.Data': > It is a member of the hidden package `base'. > Perhaps you need to add `base' to the build-depends in your .cabal > file. Use -v to see a list of the files searched for.
As you've figured out, that's base 4, in base 3 there's no Data.Data. > > Then I tried to install containers-0.2.0.1 separately, andin the > process of the struggle I found that issuing the following command in > containers-0.2.0.1 directory: > ~/.cabal/bin/cabal install --constraint="base >= 4" -v > ... prints this: > Hah-rumph: $ cabal install --with-compiler=/home/dafis/bin/ghc-6.10.3 -v3 --reinstall --constraint="base == 4.*" --dry-run containers-0.2.0.1 <snip> Resolving dependencies... selecting containers-0.2.0.1 (hackage) selecting array-0.2.0.0 (installed or hackage) and discarding array-0.1.0.0, 0.3.0.0 and 0.3.0.1 selecting base-3.0.3.1 (installed) and 4.1.0.0 (installed) and discarding syb-0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.2 and 0.2.1 selecting ghc-prim-0.1.0.0 (installed) selecting integer-0.1.0.1 (installed) selecting rts-1.0 (installed) selecting syb-0.1.0.1 (installed) In order, the following would be installed: containers-0.2.0.1 (reinstall) changes: base-4.1.0.0 -> 3.0.3.1 And it's pretty adamant about the last line. Try containers-0.2.0.0, cabal-install doesn't announce to ignore the base- constraint for that one. > > So, my qusetion is, whether I'm doing something wrong, or there are > really two errors: > 1) cabal-install makes a wrong choice for dependency version containers-0.2.0.1 doesn't give an upper bound for the base version, so cabal-install chooses base-3 by default (less likely to break on older packages than the still more reduced base-4). But I would've thought the preferred version could be overridden by a constraint (and it seems for containers-0.2.0.0, it can). > 2) cabal-install does not respect the constraint, and proceeds to > building the library without any warning _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
