yesodweb/yesod — Issue #160: Odd dependency conflict
Author: pbrisbin
Created: 2011-10-19 16:34:05+00:00
State: open

I doubt this is yesod's fault -- but I'm hoping reporting here gets me a resolution.

Yesterday, I went through the various yesod packages and `git pull`ed and `./scripts/install`ed. Everything was going pretty well until I got to the `yesod` repo.

Since then, I've tried removing `.ghc` and `.cabal`, reinstalling and trying again -- same error. I've even gone so far as removing ghc entirely, rebooting, and trying again. Same error.

Attempting to install yesod-core:

```
Installing yesod-core...
Resolving dependencies...
Configuring yesod-core-0.9.3.2...
cabal: At least the following dependencies are missing:
aeson-native >=0.3.3.1 && <0.4,
clientsession >=0.7.3.1 && <0.8,
data-object-yaml ==0.3.*,
strict-concurrency ==0.2.4.*,
vector ==0.9.*
Resolving dependencies...
cabal: dependencies conflict: wai-extra-0.4.4 requires deepseq ==1.2.0.1
however
deepseq-1.2.0.1 was excluded because aeson-native-0.3.3.1 requires deepseq
<1.2
```

OK, so what if I install the older `deepseq`:

```
$ ghc-pkg list deepseq
/usr/lib/ghc-7.0.3/package.conf.d
/home/patrick/.ghc/x86_64-linux-7.0.3/package.conf.d
deepseq-1.1.0.2
deepseq-1.2.0.1
```

Same error!?

How bout if I try to install `aeson-native` itself:

```
$ cabal install --dry-run aeson-native
Resolving dependencies...
In order, the following would be installed (use -v for more details):
attoparsec-0.9.1.2
primitive-0.4.0.1
text-0.11.1.5
blaze-builder-0.3.0.1
hashable-1.1.2.1
unordered-containers-0.1.4.3
vector-0.9
blaze-textual-native-0.2.1
aeson-native-0.3.3.1
```

WTF? Half of those packages are already installed.

```
$ for pkg in attoparsec primitive text blaze-builder hashable unordered-containers vector blaze-textual aeson-native; do gl $pkg; done | grep '^ '
attoparsec-0.9.1.2
text-0.11.1.5
blaze-builder-0.3.0.1
hashable-1.1.2.1
```

And if I let you re-install them, it'll break half my other packages... Then re-installing those will break others and I'll end up back at the original dependency conflict (I've gone around that loop a few times).

Any ideas?