On 04/03/11 11:49, William Knop wrote:
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.

I don't know what might case this I'm afraid. Is it reproducible from a completely clean tree? (i.e. make maintainer-clean first).

Cheers,
        Simon


Will


On Sun, Feb 27, 2011 at 11:26 PM, William Knop
<william.knop.nos...@gmail.com>  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
<william.knop.nos...@gmail.com>  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
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

Reply via email to