Error while installing new packages with GHC 7.4.1

I updated my GHC version from 7.0.3 to 7.4.1. But after that GHC is unable to install some required packages. For example when I type in 'cabal install -v hoogle' I get a lot of errors (see end of message). Even after reinstalling the newest packages the errors still occurs. I use Linux-x86_64 and get this information: $ ghc --version The Glorious Glasgow Haskell Compilation System, version 7.4.1 $ ghc-pkg list | grep Cabal Cabal-1.14.0 How to solve the error? Reading available packages... Resolving dependencies... In order, the following would be installed: deepseq-1.3.0.0 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3 containers-0.4.2.1 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3 Cabal-1.12.0 (new version) binary-0.5.1.0 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3 haskell-src-exts-1.11.1 (new package) syb-0.3.6 (new package) template-haskell-2.7.0.0 (reinstall) cmdargs-0.9.3 (new package) text-0.11.1.13 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3 blaze-builder-0.3.1.0 (new package) enumerator-0.4.18 (new package) blaze-builder-enumerator-0.2.0.3 (new package) hashable-1.1.2.3 (new package) case-insensitive-0.4.0.1 (new package) http-types-0.6.9 (new package) parsec-3.1.2 (new package) network-2.3.0.11 (new package) simple-sendfile-0.2.1 (new package) tagsoup-0.12.6 (new package) time-1.4 (reinstall) random-1.0.1.1 (new package) unordered-containers-0.1.4.6 (new package) uniplate-1.6.6 (new package) wai-0.4.3 (new package) warp-0.4.6.3 (new package) hoogle-4.2.8 (new package) Extracting /home/antoras/.cabal/packages/hackage.haskell.org/deepseq/1.3.0.0/deepseq-1.3.0.0.tar.gz to /tmp/deepseq-1.3.0.016966... Configuring deepseq-1.3.0.0... Dependency array ==0.3.0.3: using array-0.3.0.3 Dependency base ==4.5.0.0: using base-4.5.0.0 Using Cabal-1.10.1.0 compiled by ghc-7.0 Using compiler: ghc-7.4.1 Using install prefix: /home/antoras/.cabal Binaries installed in: /home/antoras/.cabal/bin Libraries installed in: /home/antoras/.cabal/lib/deepseq-1.3.0.0/ghc-7.4.1 Private binaries installed in: /home/antoras/.cabal/libexec Data files installed in: /home/antoras/.cabal/share/deepseq-1.3.0.0 Documentation installed in: /home/antoras/.cabal/share/doc/deepseq-1.3.0.0 Using alex version 2.3.5 found on system at: /usr/bin/alex Using ar found on system at: /usr/bin/ar No c2hs found Using cpphs version 1.12 found on system at: /home/antoras/.cabal/bin/cpphs No ffihugs found Using gcc version 4.6.2 found on system at: /usr/bin/gcc Using ghc version 7.4.1 found on system at: /usr/bin/ghc Using ghc-pkg version 7.4.1 found on system at: /usr/bin/ghc-pkg No greencard found Using haddock version 2.10.0 found on system at: /usr/bin/haddock Using happy version 1.18.6 found on system at: /usr/bin/happy No hmake found Using hsc2hs version 0.67 found on system at: /usr/bin/hsc2hs No hscolour found No hugs found No jhc found Using ld found on system at: /usr/bin/ld No lhc found No lhc-pkg found No nhc98 found Using pkg-config version 0.26 found on system at: /usr/bin/pkg-config Using ranlib found on system at: /usr/bin/ranlib Using strip found on system at: /usr/bin/strip Using tar found on system at: /bin/tar No uhc found Creating dist/build (and its parents) Creating dist/build/autogen (and its parents) Preprocessing library deepseq-1.3.0.0... Building deepseq-1.3.0.0... Building library... Creating dist/build (and its parents) /usr/bin/ghc --make -package-name deepseq-1.3.0.0 -hide-all-packages -fbuilding-cabal-package -i -idist/build -i. -idist/build/autogen -Idist/build/autogen -Idist/build -optP-include -optPdist/build/autogen/cabal_macros.h -odir dist/build -hidir dist/build -stubdir dist/build -package-id array-0.3.0.3-29b5df20d1fe0ed3d8d697b667bb789e -package-id base-4.5.0.0-6db966b4cf8c1a91188e66d354ba065e -O -Wall -XHaskell98 -XCPP Control.DeepSeq [1 of 1] Compiling Control.DeepSeq ( Control/DeepSeq.hs, dist/build/Control/DeepSeq.o ) Control/DeepSeq.hs:56:1: array-0.3.0.3:Data.Array can't be safely imported! The module itself isn't safe. Extracting /home/antoras/.cabal/packages/hackage.haskell.org/haskell-src-exts/1.11.1/haskell-src-exts-1.11.1.tar.gz to /tmp/haskell-src-exts-1.11.116966... Creating /tmp/haskell-src-exts-1.11.116966/haskell-src-exts-1.11.1/dist/setup (and its parents) /usr/bin/ghc --make /tmp/haskell-src-exts-1.11.116966/haskell-src-exts-1.11.1/Setup.hs -o /tmp/haskell-src-exts-1.11.116966/haskell-src-exts-1.11.1/dist/setup/setup -odir /tmp/haskell-src-exts-1.11.116966/haskell-src-exts-1.11.1/dist/setup -hidir /tmp/haskell-src-exts-1.11.116966/haskell-src-exts-1.11.1/dist/setup -i -i/tmp/haskell-src-exts-1.11.116966/haskell-src-exts-1.11.1 -package Cabal-1.14.0 <command line>: cannot satisfy -package Cabal-1.14.0: Cabal-1.14.0-5875475606fe70ef919bbc055077d744 is unusable due to missing or recursive dependencies: array-0.4.0.0-59d1cc0e7979167b002f021942d60f46 containers-0.4.2.1-cfc6420ecc2194c9ed977b06bdfd9e69 directory-1.1.0.2-07820857642f1427d8b3bb49f93f97b0 process-1.1.0.1-18dadd8ad5fc640f55a7afdc7aace500 (use -v for more information) Extracting /home/antoras/.cabal/packages/hackage.haskell.org/syb/0.3.6/syb-0.3.6.tar.gz to /tmp/syb-0.3.616966... Creating /tmp/syb-0.3.616966/syb-0.3.6/dist/setup (and its parents) /usr/bin/ghc --make /tmp/syb-0.3.616966/syb-0.3.6/Setup.hs -o /tmp/syb-0.3.616966/syb-0.3.6/dist/setup/setup -odir /tmp/syb-0.3.616966/syb-0.3.6/dist/setup -hidir /tmp/syb-0.3.616966/syb-0.3.6/dist/setup -i -i/tmp/syb-0.3.616966/syb-0.3.6 -package Cabal-1.14.0 <command line>: cannot satisfy -package Cabal-1.14.0: Cabal-1.14.0-5875475606fe70ef919bbc055077d744 is unusable due to missing or recursive dependencies: array-0.4.0.0-59d1cc0e7979167b002f021942d60f46 containers-0.4.2.1-cfc6420ecc2194c9ed977b06bdfd9e69 directory-1.1.0.2-07820857642f1427d8b3bb49f93f97b0 process-1.1.0.1-18dadd8ad5fc640f55a7afdc7aace500 (use -v for more information) World file is already up to date. cabal: Error: some packages failed to install: Cabal-1.12.0 depends on deepseq-1.3.0.0 which failed to install. binary-0.5.1.0 depends on deepseq-1.3.0.0 which failed to install. blaze-builder-0.3.1.0 depends on deepseq-1.3.0.0 which failed to install. blaze-builder-enumerator-0.2.0.3 depends on deepseq-1.3.0.0 which failed to install. case-insensitive-0.4.0.1 depends on deepseq-1.3.0.0 which failed to install. cmdargs-0.9.3 depends on deepseq-1.3.0.0 which failed to install. containers-0.4.2.1 depends on deepseq-1.3.0.0 which failed to install. deepseq-1.3.0.0 failed during the building phase. The exception was: ExitFailure 1 enumerator-0.4.18 depends on deepseq-1.3.0.0 which failed to install. hashable-1.1.2.3 depends on deepseq-1.3.0.0 which failed to install. haskell-src-exts-1.11.1 failed during the configure step. The exception was: ExitFailure 1 hoogle-4.2.8 depends on syb-0.3.6 which failed to install. http-types-0.6.9 depends on deepseq-1.3.0.0 which failed to install. network-2.3.0.11 depends on deepseq-1.3.0.0 which failed to install. parsec-3.1.2 depends on deepseq-1.3.0.0 which failed to install. random-1.0.1.1 depends on deepseq-1.3.0.0 which failed to install. simple-sendfile-0.2.1 depends on deepseq-1.3.0.0 which failed to install. syb-0.3.6 failed during the configure step. The exception was: ExitFailure 1 tagsoup-0.12.6 depends on deepseq-1.3.0.0 which failed to install. template-haskell-2.7.0.0 depends on deepseq-1.3.0.0 which failed to install. text-0.11.1.13 depends on deepseq-1.3.0.0 which failed to install. time-1.4 depends on deepseq-1.3.0.0 which failed to install. uniplate-1.6.6 depends on syb-0.3.6 which failed to install. unordered-containers-0.1.4.6 depends on deepseq-1.3.0.0 which failed to install. wai-0.4.3 depends on deepseq-1.3.0.0 which failed to install. warp-0.4.6.3 depends on deepseq-1.3.0.0 which failed to install.

On 29 Feb 2012, at 09:53, Antoras wrote:
I updated my GHC version from 7.0.3 to 7.4.1. But after that GHC is unable to install some required packages.
containers-0.4.2.1 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3 binary-0.5.1.0 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3
I believe you can't rebuild packages that shipped as part of your install of ghc, including containers and binary. The downgrade of the array package looks worrying too. I think array-0.4.0.0 is shipped with ghc-7.4.1, so where did the dependency on array-0.3.0.3 come from? Regards, Malcolm

I don't know where the dependency to array-0.3.0.3 comes from. Is it possible to get more info from cabal than -v? On Wed 29 Feb 2012 11:09:14 AM CET, Malcolm Wallace wrote:
On 29 Feb 2012, at 09:53, Antoras wrote:
I updated my GHC version from 7.0.3 to 7.4.1. But after that GHC is unable to install some required packages.
containers-0.4.2.1 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3 binary-0.5.1.0 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3
I believe you can't rebuild packages that shipped as part of your install of ghc, including containers and binary. The downgrade of the array package looks worrying too. I think array-0.4.0.0 is shipped with ghc-7.4.1, so where did the dependency on array-0.3.0.3 come from?
Regards, Malcolm
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

On 12-02-29 06:04 AM, Antoras wrote:
I don't know where the dependency to array-0.3.0.3 comes from. Is it possible to get more info from cabal than -v?
hoogle-4.2.8 has "Cabal >= 1.8 && < 1.13", this brings in Cabal-1.12.0. Cabal-1.12.0 has "array >= 0.1 && < 0.4", this brings in array-0.3.0.3. It is a mess to have 2nd instances of libraries that already come with GHC, unless you are an expert in knowing and avoiding the treacherous consequences. See my http://www.vex.net/~trebla/haskell/sicp.xhtml It is possible to fish the output of "cabal install --dry-run -v3 hoogle" for why array-0.3.0.3 is brought in. It really is fishing, since the output is copious and of low information density. Chinese idiom: needle in ocean (haystack is too easy). Example: "selecting hoogle-4.2.8 (hackage) and discarding Cabal-1.1.6, 1.2.1, 1.2.2.0, 1.2.3.0, 1.2.4.0, 1.4.0.0, 1.4.0.1, 1.4.0.2, 1.6.0.1, 1.6.0.2, 1.6.0.3, 1.14.0, blaze-builder-0.1, case-insensitive-0.1," We see that selecting hoogle-4.2.8 causes ruling out Cabal 1.14.0 Similarly, the line for "selecting Cabal-1.12.0" mentions ruling out array-0.4.0.0

On Wed, Feb 29, 2012 at 08:02:11PM -0500, Albert Y. C. Lai wrote:
It is possible to fish the output of "cabal install --dry-run -v3 hoogle" for why array-0.3.0.3 is brought in. It really is fishing, since the output is copious and of low information density. Chinese idiom: needle in ocean (haystack is too easy). Example:
"selecting hoogle-4.2.8 (hackage) and discarding Cabal-1.1.6, 1.2.1, 1.2.2.0, 1.2.3.0, 1.2.4.0, 1.4.0.0, 1.4.0.1, 1.4.0.2, 1.6.0.1, 1.6.0.2, 1.6.0.3, 1.14.0, blaze-builder-0.1, case-insensitive-0.1,"
We see that selecting hoogle-4.2.8 causes ruling out Cabal 1.14.0
Similarly, the line for "selecting Cabal-1.12.0" mentions ruling out array-0.4.0.0
I wonder about the possibility of making a simple tool to parse the output of cabal install -v3 and visualize/organize it in some sort of way to make this process easier. What might such visualization/organization look like? -Brent

On 12-02-29 09:30 PM, Brent Yorgey wrote:
I wonder about the possibility of making a simple tool to parse the output of cabal install -v3 and visualize/organize it in some sort of way to make this process easier. What might such visualization/organization look like?
The most useful information is like this (let's say someone orders "cabal install -v3 x"): will add array-0.4.999 for x-2.3's array >= 0.4.999 containers-0.4.2.1's array any Cabal-1.14.0's array >= 0.1 && < 0.5 ignoring existing array-0.4.0.0 will replace containers-0.4.2.1 for Cabal-1.14.0's containers >= 0.1 && < 0.5 change of array ignoring existing containers-0.4.2.1 will replace Cabal-1.14.0 for x-2.3's Cabal >= 1.12 change of array, containers, process ignoring existing Cabal-1.14.0 will add x-2.3 for command's x any (remark: change of process happened in a previous session and noticed now) Most of this information is not found the output of cabal install -v3.

Ok, interesting info. But how to solve the problem now? Should I contact the author of Hoogle and ask him about how solving this? On 03/01/2012 02:02 AM, Albert Y. C. Lai wrote:
On 12-02-29 06:04 AM, Antoras wrote:
I don't know where the dependency to array-0.3.0.3 comes from. Is it possible to get more info from cabal than -v?
hoogle-4.2.8 has "Cabal >= 1.8 && < 1.13", this brings in Cabal-1.12.0.
Cabal-1.12.0 has "array >= 0.1 && < 0.4", this brings in array-0.3.0.3.
It is a mess to have 2nd instances of libraries that already come with GHC, unless you are an expert in knowing and avoiding the treacherous consequences. See my http://www.vex.net/~trebla/haskell/sicp.xhtml
It is possible to fish the output of "cabal install --dry-run -v3 hoogle" for why array-0.3.0.3 is brought in. It really is fishing, since the output is copious and of low information density. Chinese idiom: needle in ocean (haystack is too easy). Example:
"selecting hoogle-4.2.8 (hackage) and discarding Cabal-1.1.6, 1.2.1, 1.2.2.0, 1.2.3.0, 1.2.4.0, 1.4.0.0, 1.4.0.1, 1.4.0.2, 1.6.0.1, 1.6.0.2, 1.6.0.3, 1.14.0, blaze-builder-0.1, case-insensitive-0.1,"
We see that selecting hoogle-4.2.8 causes ruling out Cabal 1.14.0
Similarly, the line for "selecting Cabal-1.12.0" mentions ruling out array-0.4.0.0
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Hi Antoras, The darcs version of Hoogle has had a more permissive dependency for a few weeks. Had I realised the dependency caused problems I'd have released a new version immediately! As it stands, I'll release a new version in about 4 hours. If you can't wait that long, try darcs get http://code.haskell.org/hoogle Thanks, Neil On Thursday, March 1, 2012, Antoras wrote:
Ok, interesting info. But how to solve the problem now? Should I contact the author of Hoogle and ask him about how solving this?
On 03/01/2012 02:02 AM, Albert Y. C. Lai wrote:
On 12-02-29 06:04 AM, Antoras wrote:
I don't know where the dependency to array-0.3.0.3 comes from. Is it possible to get more info from cabal than -v?
hoogle-4.2.8 has "Cabal >= 1.8 && < 1.13", this brings in Cabal-1.12.0.
Cabal-1.12.0 has "array >= 0.1 && < 0.4", this brings in array-0.3.0.3.
It is a mess to have 2nd instances of libraries that already come with GHC, unless you are an expert in knowing and avoiding the treacherous consequences. See my http://www.vex.net/~trebla/**haskell/sicp.xhtmlhttp://www.vex.net/~trebla/haskell/sicp.xhtml
It is possible to fish the output of "cabal install --dry-run -v3 hoogle" for why array-0.3.0.3 is brought in. It really is fishing, since the output is copious and of low information density. Chinese idiom: needle in ocean (haystack is too easy). Example:
"selecting hoogle-4.2.8 (hackage) and discarding Cabal-1.1.6, 1.2.1, 1.2.2.0, 1.2.3.0, 1.2.4.0, 1.4.0.0, 1.4.0.1, 1.4.0.2, 1.6.0.1, 1.6.0.2, 1.6.0.3, 1.14.0, blaze-builder-0.1, case-insensitive-0.1,"
We see that selecting hoogle-4.2.8 causes ruling out Cabal 1.14.0
Similarly, the line for "selecting Cabal-1.12.0" mentions ruling out array-0.4.0.0
______________________________**_________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/**mailman/listinfo/glasgow-**haskell-usershttp://www.haskell.org/mailman/listinfo/glasgow-haskell-users
______________________________**_________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/**mailman/listinfo/glasgow-**haskell-usershttp://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Hi Antoras,
I've just released Hoogle 4.2.9, which allows Cabal 1.15, so hopefully
will install correctly for you.
Thanks, Neil
On Thu, Mar 1, 2012 at 5:02 PM, Neil Mitchell
Hi Antoras,
The darcs version of Hoogle has had a more permissive dependency for a few weeks. Had I realised the dependency caused problems I'd have released a new version immediately! As it stands, I'll release a new version in about 4 hours. If you can't wait that long, try darcs get http://code.haskell.org/hoogle
Thanks, Neil
On Thursday, March 1, 2012, Antoras wrote:
Ok, interesting info. But how to solve the problem now? Should I contact the author of Hoogle and ask him about how solving this?
On 03/01/2012 02:02 AM, Albert Y. C. Lai wrote:
On 12-02-29 06:04 AM, Antoras wrote:
I don't know where the dependency to array-0.3.0.3 comes from. Is it possible to get more info from cabal than -v?
hoogle-4.2.8 has "Cabal >= 1.8 && < 1.13", this brings in Cabal-1.12.0.
Cabal-1.12.0 has "array >= 0.1 && < 0.4", this brings in array-0.3.0.3.
It is a mess to have 2nd instances of libraries that already come with GHC, unless you are an expert in knowing and avoiding the treacherous consequences. See my http://www.vex.net/~trebla/haskell/sicp.xhtml
It is possible to fish the output of "cabal install --dry-run -v3 hoogle" for why array-0.3.0.3 is brought in. It really is fishing, since the output is copious and of low information density. Chinese idiom: needle in ocean (haystack is too easy). Example:
"selecting hoogle-4.2.8 (hackage) and discarding Cabal-1.1.6, 1.2.1, 1.2.2.0, 1.2.3.0, 1.2.4.0, 1.4.0.0, 1.4.0.1, 1.4.0.2, 1.6.0.1, 1.6.0.2, 1.6.0.3, 1.14.0, blaze-builder-0.1, case-insensitive-0.1,"
We see that selecting hoogle-4.2.8 causes ruling out Cabal 1.14.0
Similarly, the line for "selecting Cabal-1.12.0" mentions ruling out array-0.4.0.0
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
participants (5)
-
Albert Y. C. Lai
-
Antoras
-
Brent Yorgey
-
Malcolm Wallace
-
Neil Mitchell