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

Reply via email to