
On Sunday 03 October 2010 00:07:24, Christian Höner zu Siederdissen wrote:
Hi,
does the Cabal constraint solver always try to solve the complete graph?
example: (ghc-7.0.0-rc1)
$ cabal install parsec-3.1.0 cabal: cannot configure syb-0.2.1. It requires base >=4.0 && <4.3
cd syb-0.2.1 * remove base<4.3 constraint from syb.cabal cabal install * syb-0.2.1 is now installed and works!
$ cabal install parsec-3.1.0 cabal: cannot configure syb-0.2.1. It requires base >=4.0 && <4.3
Yes, cabal looks at the package-index to find out the required dependencies, it doesn't know where you have local source files. When you edit a .cabal file, always increment the version of the package, in this case making the version 0.2.1.1 or 0.2.1.0.1 would be a good choice. Then cabal sees you have a newer version of syb installed and unless parsec-3.1.0 asks explicitly for version 0.2.1 (or <= 0.2.1), it will choose the newer installed version (since the package index knows nothing about that, it doesn't see an inconsistency and assumes it'll be alright).