problem installing checkers

I wanted to try reactive, but cabal install fails on checkers (a dependency). Here is a portion of the error message, there are other overlapping instances that follow. Can someone advise me how to proceed. Thank you. [13 of 15] Compiling Test.QuickCheck.Classes ( src/Test/QuickCheck/Classes.hs, dist/build/Test/QuickCheck/Classes.o ) src/Test/QuickCheck/Classes.hs:137:38: Overlapping instances for Show (a -> b) arising from a use of `property' Matching instances: instance Show (a -> b) -- Defined in Text.Show.Functions instance Show base:System.Event.Manager.IOCallback -- Defined in base:System.Event.Manager (The choice depends on the instantiation of `a, b' To pick the first instance above, use -XIncoherentInstances when compiling the other instance declarations) In the expression: property binopP In the expression: ("binop", property binopP) In the expression: [("identity", property identityP), ("binop", property binopP)]

Hey Haskellers, I tried to install happstack. Unfortunately I get the following error:
cabal install happstack -Resolving dependencies... -cabal: cannot configure deepseq-1.1.0.0. It requires containers >=0.2 && <0.4 -For the dependency on containers >=0.2 && <0.4 there are these packages: -containers-0.2.0.0, containers-0.2.0.1 and containers-0.3.0.0. However none of them are available. -containers-0.2.0.0 was excluded because containers-0.4.1.0 was selected instead -containers-0.2.0.1 was excluded because containers-0.4.1.0 was selected instead -containers-0.3.0.0 was excluded because containers-0.4.1.0 was selected instead
ghc-pkg unregister containers-0.4.1.0 -ghc-pkg: unregistering containers-0.4.1.0 would break the following
I wanted to deselect containers: packages: Cabal-1.10.2.0 (use --force to override) But I did not want to use the force option, because I like cabal, and don't want to break it. What should I do?
ghc --version -6.12.1
Greets Gary

On Monday 24 October 2011, 01:37:19, Gary Klindt wrote:
Hey Haskellers,
I tried to install happstack. Unfortunately I get the following error:
cabal install happstack
-Resolving dependencies... -cabal: cannot configure deepseq-1.1.0.0. It requires containers >=0.2 && <0.4 -For the dependency on containers >=0.2 && <0.4 there are these packages: -containers-0.2.0.0, containers-0.2.0.1 and containers-0.3.0.0. However none of them are available. -containers-0.2.0.0 was excluded because containers-0.4.1.0 was selected instead -containers-0.2.0.1 was excluded because containers-0.4.1.0 was selected instead -containers-0.3.0.0 was excluded because containers-0.4.1.0 was selected instead
Since ghc-6.12.* cam with containers-0.3.0.0, this means you have installed a newer version of containers. That is generally not a good idea. containers is one of the boot packages, ghc depends on it and thus many of the packages you install will depend on the version that came with ghc. Run $ ghc-pkg check to see whether you already have some broken packages.
I wanted to deselect containers:
ghc-pkg unregister containers-0.4.1.0
-ghc-pkg: unregistering containers-0.4.1.0 would break the following packages: Cabal-1.10.2.0 (use --force to override)
Hm, a bit strange, Cabal's dependencies list only base and filepath on hackage, although it also depends on containers, array, directory... Anyway, your upgraded Cabal was built against containers-0.4.1.0, so it will break without that.
But I did not want to use the force option, because I like cabal, and don't want to break it.
Is it Cabal the library or cabal the executable? If the latter, once it's built, it doesn't need the Cabal version it was built with to be present.
What should I do?
You could try a) installing happstack with a constraint on the containers version to use, $ cabal install --constraint="containers < 0.4" happstack If nothing but Cabal on your system depends on containers-0.4.1.0 yet, that would probably work, but that would leave your installation open to breakage due to conflicting containers dependencies. b) installing happstack with a later deepseq, $ cabal install --constraint="deepseq > 1.1.0.0" c) unregister Cabal-1.10.2.0, then containers-0.4.1.0, then reinstall Cabal-1.10.2 (--dry-run first, to check whether that would want to reinstall a new containers) [but you could also decide to use the Cabal-1.8.* that came with your ghc].
ghc --version
-6.12.1
Greets Gary

Thank you very much for your answers! When I check dependency problems
ghc-pkg check I get no answer.
I tried to hide the containers package which I had installed:
ghc-pkg hide container...
It did not help, same error message. Then I tried
cabal install --constraint="deepseq> 1.1.0.0" happstack
I was able to install this way. But: I was not able to compile the simple Hello Happstack example ... After all, I removed everything (ghc, haskell platform and cabal packages) and reinstalled a newer version of ghc 7.0.3. Everything is working fine, now. On 10/24/2011 02:11 AM, Daniel Fischer wrote:
Hey Haskellers,
I tried to install happstack. Unfortunately I get the following error:
cabal install happstack
-Resolving dependencies... -cabal: cannot configure deepseq-1.1.0.0. It requires containers>=0.2 && <0.4 -For the dependency on containers>=0.2&& <0.4 there are these packages: -containers-0.2.0.0, containers-0.2.0.1 and containers-0.3.0.0. However none of them are available. -containers-0.2.0.0 was excluded because containers-0.4.1.0 was selected instead -containers-0.2.0.1 was excluded because containers-0.4.1.0 was selected instead -containers-0.3.0.0 was excluded because containers-0.4.1.0 was selected instead Since ghc-6.12.* cam with containers-0.3.0.0, this means you have installed a newer version of containers. That is generally not a good idea. containers is one of the boot packages, ghc depends on it and thus many of
On Monday 24 October 2011, 01:37:19, Gary Klindt wrote: the packages you install will depend on the version that came with ghc.
Run
$ ghc-pkg check
to see whether you already have some broken packages.
I wanted to deselect containers:
ghc-pkg unregister containers-0.4.1.0
-ghc-pkg: unregistering containers-0.4.1.0 would break the following packages: Cabal-1.10.2.0 (use --force to override) Hm, a bit strange, Cabal's dependencies list only base and filepath on hackage, although it also depends on containers, array, directory... Anyway, your upgraded Cabal was built against containers-0.4.1.0, so it will break without that.
But I did not want to use the force option, because I like cabal, and don't want to break it. Is it Cabal the library or cabal the executable? If the latter, once it's built, it doesn't need the Cabal version it was built with to be present.
What should I do? You could try
a) installing happstack with a constraint on the containers version to use, $ cabal install --constraint="containers< 0.4" happstack If nothing but Cabal on your system depends on containers-0.4.1.0 yet, that would probably work, but that would leave your installation open to breakage due to conflicting containers dependencies.
b) installing happstack with a later deepseq, $ cabal install --constraint="deepseq> 1.1.0.0"
c) unregister Cabal-1.10.2.0, then containers-0.4.1.0, then reinstall Cabal-1.10.2 (--dry-run first, to check whether that would want to reinstall a new containers) [but you could also decide to use the Cabal-1.8.* that came with your ghc].
ghc --version
-6.12.1
Greets Gary

On Mon, Oct 24, 2011 at 01:37:19AM +0200, Gary Klindt wrote:
ghc-pkg unregister containers-0.4.1.0 -ghc-pkg: unregistering containers-0.4.1.0 would break the following
I wanted to deselect containers: packages: Cabal-1.10.2.0 (use --force to override)
By the way, if you just want to hide a package so that it will not be considered when building other packages, you should use 'ghc-pkg hide', not 'ghc-pkg unregister'. -Brent

On Sun, Oct 23, 2011 at 06:56:57PM -0400, Britt Anderson wrote:
I wanted to try reactive, but cabal install fails on checkers (a dependency). Here is a portion of the error message, there are other overlapping instances that follow. Can someone advise me how to proceed. Thank you.
[13 of 15] Compiling Test.QuickCheck.Classes ( src/Test/QuickCheck/Classes.hs, dist/build/Test/QuickCheck/Classes.o )
src/Test/QuickCheck/Classes.hs:137:38: Overlapping instances for Show (a -> b) arising from a use of `property' Matching instances: instance Show (a -> b) -- Defined in Text.Show.Functions instance Show base:System.Event.Manager.IOCallback -- Defined in base:System.Event.Manager
This is very naughty of System.Event.Manager, to define IOCallback as a *type synonym* for a certain function type, and then declare a Show instance for it. However, the instance shouldn't come into play unless System.Event.Manager is imported, and I don't think it is. So this error message seems rather odd to me. What version of GHC do you have? What is the output of 'ghc-pkg list' and 'ghc-pkg check'? -Brent
participants (4)
-
Brent Yorgey
-
Britt Anderson
-
Daniel Fischer
-
Gary Klindt