GHC build error: cannot satisfy -package ghc-7.1.20110217

William Knop william.knop.nospam at gmail.com
Wed Mar 9 22:36:23 CET 2011


Hi Simon, thanks for the reply. Indeed it is reproducible with a
maintainer-clean tree and to be sure I even set up a fresh repo. I'm
still unclear what the underlying issue is, but I've worked around it
by first running `make` until the error, then editing
"./ghc/stage1/package-data.mk" to remove the version from the ghc dep,
and finally rerunning `make`. The resulting build performs comparably
in the test suite to previous builds, so I think it's probably an okay
workaround.

Will

On Tue, Mar 8, 2011 at 6:44 AM, Simon Marlow <marlowsd at gmail.com> wrote:
> 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.nospam at 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.nospam at 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 at haskell.org
>> http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
>
>



More information about the Glasgow-haskell-users mailing list