
Duncan Coutts wrote:
The basic problem here is that the version number of the network package has not been bumped.
see below
You probably installed from a ghc bindist that has network-2.2.0.0 already,
Yes, you're right, and I didn't notice that, because I relied on cabal install.
however it's not the same as network-2.2.0.0 from hackage. The pre-installed one is built against base-4, so when cabal-install tries to rebuild it then it tries to build it against base 4 which does not work because the one on hackage has not been updated.
So network-2.2.0.0 should be linked against base-3 within the binary dist of ghc-6.10 (or not shipped with ghc-6.10 at all. In fact it worked after I've unregistered my global network-2.2.0.0, first! (but I didn't get much further, see below)
Normally cabal-install would use base-3 but in this case it's picking 4 because the version that is already installed used 4 so the assumption is that since the same version is already installed then it does indeed work with base 4. Of course that's not true here because the package has changed without the version being bumped.
Or cabal-install should be smarter (or less smart).
Indeed the only reason it's trying to rebuild it at all is because the installed version has different deps from the available version, again due to the fact that it changed without changing version number.
So the solution is for the updated network package to have its version bumped and for it to be released.
So why is the version of network not bumped, yet? The maintainer is libraries@haskell.org. Would it interfere with ghc-6.8? Cheers and thanks for your explanation Christian P.S. for hxt and Shellac-editline the sources need to be changed for ghc-6.10: [ 49 of 112] Compiling Text.XML.HXT.RelaxNG.DataTypeLibUtils ( src/Text/XML/HXT/RelaxNG/DataTypeLibUtils.hs, dist/build/Text/XML/HXT/RelaxNG/DataTypeLibUtils.o ) src/Text/XML/HXT/RelaxNG/DataTypeLibUtils.hs:67:7: `>>>' is not a (visible) method of class `Arrow' cabal: Error: some packages failed to install: hxt-8.1.0 failed during the building phase. The exception was: exit: ExitFailure 1 Building Shellac-editline-0.9... [1 of 1] Compiling System.Console.Shell.Backend.Editline ( src/System/Console/Shell/Backend/Editline.hs, dist/build/System/Console/Shell/Backend/Editline.o ) src/System/Console/Shell/Backend/Editline.hs:48:45: Couldn't match expected type `()' against inferred type `Bool' Expected type: IO () Inferred type: IO Bool In the expression: EL.readHistory In the `readHistory' field of a record cabal: Error: some packages failed to install: Shellac-editline-0.9 failed during the building phase. The exception was: exit: ExitFailure 1