odd GHC 6.8.2 compile failure
Isaac Dupree
isaacdupree at charter.net
Thu Jan 3 14:36:25 EST 2008
Simon Marlow wrote:
> Isaac Dupree wrote:
>> Simon Marlow wrote:
>>> Isaac Dupree wrote:
>>>> linking the compiled stage2 failed when bootstrapping from 6.6.1,
>>>> with --prefix=$HOME .
>>>>
>>>> It's odd because I previously had a 6.8.2 (official x86 Linux
>>>> bin-dist) installed as root (it's gone now), and I still have a
>>>> bunch of cabal/hackage packages installed in $HOME that were
>>>> compiled by that 6.8.2 (in addition to a few things installed by
>>>> `cabal install` in ~/.cabal/). Do you think that could be confusing
>>>> the build process, and if it is, is that a bug - and a bug in what?
>>>
>>> It looks like at some point you've updated your sources and
>>> recompiled without cleaning in stage2, or something similar. The
>>> build system doesn't currently notice when libraries have changed and
>>> stage2 needs to be completely recompiled.
>>
>> It sure looks that way! But I didn't do that personally; I think
>> these are all of my steps:
>> [download via Firefox to /Users/me/downloads/ghc-6.8.2-src.tar.bz2]
>> cd /Users/me/programming/cabalz/NotActuallyCabalButMaybeShouldBe
>> aunpack /Users/me/downloads/ghc-6.8.2-src.tar.bz2
>> # this `aunpack` is equivalent to tar -xjf in this case.
>> cd ghc-6.8.2
>> ./configure --prefix=$HOME
>> # ($HOME is /Users/me/HOME , by the way).
>> make
>>
>> Indeed I just reproduced it, newly unpacking that tarball in a new
>> location, to make sure, and I got the same error.
>>
>>
>> What if GHC suddenly decided to link with the newer versions of the
>> boot-libraries than come with 6.8.2, the ones that could be found in
>> $HOME since I installed them there? (or with the _same_ versions that
>> happened to be compiled with different flags, perhaps?)
>
> And you get different results if you omit the --prefix=$HOME? (if so,
> that's very strange, and I don't have a clue what's wrong, yet)
tested a couple more times:
- it still fails without --prefix=$HOME
- but it succeeds if I `su - east` and have 'east' compile it (without
using --prefix here either) ('east' being another user on my machine
other than the user 'me' which I usually use)
Isaac
More information about the Glasgow-haskell-users
mailing list