Hi all, Not to pester, but this problem has me stumped. All of the dependencies that ghc reports are broken/recursive are reported (with identical versions) by ghc-pkg/cabal as being part of my bootstrap install.
Rerunning the offending command with "-package ghc" instead of "-package ghc-7.1.20110217" suppresses the error, but `make` nonetheless insists on rerunning the command with the original arguments. Furthermore, I'm unsure if I'm actually working around a bug or if I'm instead just silencing an error that will slyly retaliate from the shadows. It certainly seems like there's a subtlety with cabal that I don't understand. Any help would be much appreciated. Will On Sun, Feb 27, 2011 at 11:26 PM, William Knop <[email protected]> wrote: > I'm not sure what happened with the quote formatting in my original > message; sorry about that. Anyhow, I'd really appreciate it if someone > would chime in about this issue. Is it something silly that I'm not > comprehending about the build system or cabal, or is it a legitimate > bug/deficiency? > > Thanks, > Will > > On Thu, Feb 24, 2011 at 7:24 PM, William Knop > <[email protected]> wrote: >> >> Hi all, >> I'm building GHC HEAD, and I've encountered the following error a couple >> times: >>> >>> "/usr/bin/ghc" -M -dep-makefile ghc/stage1/build/.depend.haskell.tmp >>> -include-pkg-deps -H32m -O -package-conf libraries/bootstrapping.conf >>> -hide-all-packages -i -ighc/. -ighc/stage1/build -ighc/stage1/build/autogen >>> -Ighc/stage1/build -Ighc/stage1/build/autogen -optP-include >>> -optPghc/stage1/build/autogen/cabal_macros.h -package array-0.3.0.2 >>> -package base-4.3.1.0 -package bytestring-0.9.1.10 -package >>> directory-1.1.0.0 -package filepath-1.2.0.0 -package ghc-7.1.20110217 >>> -package process-1.0.1.4 -package unix-2.4.1.0 -Wall -XHaskell98 >>> -XNondecreasingIndentation -XCPP -XPatternGuards -no-user-package-conf >>> -rtsopts -odir ghc/stage1/build -hidir ghc/stage1/build -stubdir >>> ghc/stage1/build -hisuf hi -osuf o -hcsuf hc ghc/./Main.hs >>> >>> <command line>: cannot satisfy -package ghc-7.1.20110217: >>> >>> ghc-7.1.20110217-b77087559342dd20dfcfb258ea8804c4 is unusable due to >>> missing or recursive dependencies: >>> >>> Cabal-1.11.0-94afda515f19c403e7bc1e64b05e7f80 >>> bin-package-db-0.0.0.0-e7fefdd6f3601d1ce130006fe020c686 >>> hoopl-3.8.6.1-9f2c1afa2d4e6e1f5dd2821dfd6b919b >>> hpc-0.5.0.6-71c33aa47ae2440fd78a2a606987bc82 >>> >>> (use -v for more information) >>> >>> make[1]: *** [ghc/stage1/build/.depend.haskell] Error 1 >>> >>> make: *** [all] Error 2 >> >> The last time I saw this, I realized that `make clean` and even `make >> maintainer-clean` failed to remove the old .hs and .o files in ./libraries. >> I ran `find ./libraries | grep "\.hi$\|\.o$" | xargs -n 1 rm` which cleaned >> things up nicely. Then I had to fiddle around with `ghc-pkg` and >> unfortunately I don't remember exactly what I did, but everything built fine. >> This time, the error persists and I'm getting nowhere messing with `ghc-pkg` >> or manual builds of the offending libraries. It's odd that the dependencies >> are all shown, although ghc-7.1.20110217 is highlighted in blue (not sure >> what that means): >>> >>> $ ghc-pkg list -v >>> >>> using cache: >>> /Users/wknop/.ghc/x86_64-darwin-7.1.20110217/package.conf.d/package.cache >>> >>> using cache: >>> /Library/Frameworks/GHC.framework/Versions/7.1.20110217-x86_64/usr/lib/ghc-7.1.20110217/package.conf.d/package.cache >>> >>> /Library/Frameworks/GHC.framework/Versions/7.1.20110217-x86_64/usr/lib/ghc-7.1.20110217/package.conf.d >>> >>> Cabal-1.11.0 (Cabal-1.11.0-94afda515f19c403e7bc1e64b05e7f80) >>> >>> array-0.3.0.2 (array-0.3.0.2-82b79889a63c9f1c51bec752ba6e74c2) >>> >>> base-4.3.1.0 (base-4.3.1.0-772e705367f0e57fa35bb2732ef27d5f) >>> >>> bin-package-db-0.0.0.0 >>> (bin-package-db-0.0.0.0-e7fefdd6f3601d1ce130006fe020c686) >>> >>> binary-0.5.0.2 (binary-0.5.0.2-0fc98c736c6f368bb204d82d52e9b985) >>> >>> bytestring-0.9.1.10 >>> (bytestring-0.9.1.10-9ed25604136f5805a5307d3964bed1a2) >>> >>> containers-0.4.0.0 (containers-0.4.0.0-e65ebc811ae84f909e4426649d5305b6) >>> >>> directory-1.1.0.0 (directory-1.1.0.0-af496658c243f2bddd90748bc896b9cb) >>> >>> extensible-exceptions-0.1.1.2 >>> (extensible-exceptions-0.1.1.2-d8c5b906654260efd7249f497d17a831) >>> >>> ffi-1.0 (builtin_ffi) >>> >>> filepath-1.2.0.0 (filepath-1.2.0.0-083d27aec2076819a3255aa35e2ce43b) >>> >>> ghc-7.1.20110217 (ghc-7.1.20110217-b77087559342dd20dfcfb258ea8804c4) >>> >>> ghc-prim-0.2.0.0 (ghc-prim-0.2.0.0-dcc46e56b3af1fa9c9fa226ef635850d) >>> >>> haskell2010-1.0.0.0 >>> (haskell2010-1.0.0.0-5a47cd47ec15d3267342d7569d62be69) >>> >>> haskell98-1.1.0.0 (haskell98-1.1.0.0-ff2f72cc8added329f0e4b03c5cc83e8) >>> >>> hoopl-3.8.6.1 (hoopl-3.8.6.1-9f2c1afa2d4e6e1f5dd2821dfd6b919b) >>> >>> hpc-0.5.0.6 (hpc-0.5.0.6-71c33aa47ae2440fd78a2a606987bc82) >>> >>> integer-gmp-0.2.0.2 >>> (integer-gmp-0.2.0.2-a1c2a972ace139a643a7e915357c7135) >>> >>> old-locale-1.0.0.2 (old-locale-1.0.0.2-f8974f34bd37bc556cfeca15f8cf9933) >>> >>> old-time-1.0.0.6 (old-time-1.0.0.6-caa2975bbf8e858473e1d88cca412718) >>> >>> pretty-1.0.2.0 (pretty-1.0.2.0-86ef771ce2f9bebde0154187a7714390) >>> >>> process-1.0.1.4 (process-1.0.1.4-8e5c7fd6eb02062956e817290e78052c) >>> >>> random-1.0.0.3 (random-1.0.0.3-ba5d71475c84afcd915bdd0c7896d252) >>> >>> rts-1.0 (builtin_rts) >>> >>> template-haskell-2.5.0.0 >>> (template-haskell-2.5.0.0-d8450268cce481f1f0f0609421f45d6a) >>> >>> time-1.2.0.3 (time-1.2.0.3-54ba5c61f979a06ebaa014e89cb57800) >>> >>> unix-2.4.1.0 (unix-2.4.1.0-ed4a568ba9e55a6699f0a5637de1eb70) >>> >>> /Users/wknop/.ghc/x86_64-darwin-7.1.20110217/package.conf.d >>> >>> HUnit-1.2.2.3 (HUnit-1.2.2.3-cfbd4873c8348462ffebec9e0e2612ff) >>> >>> QuickCheck-2.4.0.1 (QuickCheck-2.4.0.1-203424cf15ac4e156e45863bdb6c5c3c) >>> >>> ansi-terminal-0.5.5 >>> (ansi-terminal-0.5.5-572a1d0154fb2632bb4e9431adf0cdb1) >>> >>> ansi-wl-pprint-0.6.3 >>> (ansi-wl-pprint-0.6.3-875ef2078f6bfbf85f537bf474d4db67) >>> >>> hostname-1.0 (hostname-1.0-fd008e4cbc7e53cd089e95782cd47a3a) >>> >>> mtl-2.0.1.0 (mtl-2.0.1.0-86fd290a44e249d2b21a3e6adc3985a4) >>> >>> regex-base-0.93.2 (regex-base-0.93.2-f611e499723a1c17ae67e04fe4ce3d1e) >>> >>> regex-posix-0.94.4 (regex-posix-0.94.4-9e243c82c4410fcdd8b9c4a9f579cd23) >>> >>> test-framework-0.3.3 >>> (test-framework-0.3.3-2e089ba99de1028033d51a65ef26cced) >>> >>> test-framework-hunit-0.2.6 >>> (test-framework-hunit-0.2.6-cd25c078816dfb54dc08cf64d24bcea2) >>> >>> test-framework-quickcheck2-0.2.9 >>> (test-framework-quickcheck2-0.2.9-0063f8833c46c25ff4d6bb13461990f8) >>> >>> transformers-0.2.2.0 >>> (transformers-0.2.2.0-5facb5b7c533677975df4a82c67e8639) >>> >>> xml-1.3.7 (xml-1.3.7-eb24b369ce1c655abc9947262d56223e) >> >> The other notable thing is that the versions of the installed packages >> matches the packages I am building with GHC. I initially thought that it >> would be a good thing, however now I'm thinking that it's leading to some >> kind of conflict between the build system and the bootstrap system. >> In the past I've noticed that cabal does not deal well with different >> versions of GHC, particularly that it doesn't keep track which version of >> GHC is used to build and register a package (and the .cabal user directory >> doesn't have separate subdirectories for different cabal versions). This is >> quite annoying, since it means one can't really have test installs of GHC >> without fiddling around with prefixes or sandbox construction. Anyway, I >> wouldn't be surprised if conflicts from that sort of thing could cause the >> issue I'm having. >> So I suppose the question now is, what is the actual cause and should it be >> fixed in GHC's build system or in cabal's source? >> Thanks, >> William > _______________________________________________ Glasgow-haskell-users mailing list [email protected] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
