
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) Cheers, Simon