
+++ Gwern Branwen [Nov 21 09 11:38 ]:
On Sat, Nov 21, 2009 at 11:14 AM, Vladimir Ivanov
wrote: I decided to give orchid a try, but failed to install the latest version (0.0.8) using cabal.
The reason is that one of the dependencies (filestore) depends on parsec-2.0.* and orchid requires parsec3. I installed filestore-0.2 separately, but nothing changed.
$ cabal install orchid Resolving dependencies... cabal: cannot configure filestore-0.2. It requires parsec ==2.* For the dependency on parsec ==2.* there are these packages: parsec-2.0, parsec-2.1.0.0 and parsec-2.1.0.1. However none of them are available. parsec-2.0 was excluded because orchid-0.0.8 requires parsec ==3.0.* parsec-2.1.0.0 was excluded because orchid-0.0.8 requires parsec ==3.0.* parsec-2.1.0.1 was excluded because orchid-0.0.8 requires parsec ==3.0.*
$ ghc-pkg list filestore /usr/lib64/ghc-6.10.1/./package.conf: ~/.ghc/x86_64-linux-6.10.1/package.conf: filestore-0.2, filestore-0.3.2, filestore-0.3.3
$ ghc-pkg list parsec /usr/lib64/ghc-6.10.1/./package.conf: parsec-2.1.0.1, parsec-3.0.0
$ cabal --version cabal-install version 0.6.2 using version 1.6.0.2 of the Cabal library
Have you seen this before? I hope I overlooked something trivial... =)
-- vi
Apparently you can build filestore with parsec-3 if you want. Data/FileStore/Git.hs doesn't seem to use any of the functionality that changed between 2 & 3. I swapped the dep:
hunk ./filestore.cabal 35 - parsec >= 2 && < 3, process, time, datetime, regex-posix, xml, split, Diff + parsec >= 3, process, time, datetime, regex-posix, xml, split, Diff
Configured, noticing what parsec was being used:
Dependency parsec >=3: using parsec-3.0.0
Built & installed successfully.
This is a bit of a problem. gitit requires parsec >= 2 && < 3, so gitit needs filestore to depend on parsec-2. The reason why is that pandoc depends on parsec-2, and the reason pandoc depends on parsec-2 is that parsec-2 is significantly faster than parsec-3. (I've verified this with several benchmarks, and so have others.) John