making GHC from sources with a locally installed GHC 6.12.1 fails
Here is the end of the output of make that followed
- /configure --prefix=$HOME/Software/haskell/741
"inplace/bin/ghc-stage1" -H32m -O -package-name ghc-prim-0.2.0.0 -hide-all-packages -i -ilibraries/ghc-prim/. -ilibraries/ghc-prim/dist-install/build -ilibraries/ghc-prim/dist-install/build/autogen -Ilibraries/ghc-prim/dist-install/build -Ilibraries/ghc-prim/dist-install/build/autogen -Ilibraries/ghc-prim/. -optP-include -optPlibraries/ghc-prim/dist-install/build/autogen/cabal_macros.h -package rts-1.0 -split-objs -package-name ghc-prim -XHaskell98 -XCPP -XMagicHash -XForeignFunctionInterface -XUnliftedFFITypes -XUnboxedTuples -XEmptyDataDecls -XNoImplicitPrelude -O2 -no-user-package-conf -rtsopts -odir libraries/ghc-prim/dist-install/build -hidir libraries/ghc-prim/dist-install/build -stubdir libraries/ghc-prim/dist-install/build -hisuf hi -osuf o -hcsuf hc -c libraries/ghc-prim/./GHC/Generics.hs -o libraries/ghc-prim/dist-install/build/GHC/Generics.o
gcc: --hash-size=31: linker input file unused because linking not done
gcc: --reduce-memory-overheads: linker input file unused because linking not done
ghc-stage1: panic! (the 'impossible' happened)
(GHC version 7.4.1 for i386-unknown-linux):
X86.Regs.allArgRegs: should not be used!
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
make[1]: *** [libraries/ghc-prim/dist-install/build/GHC/Generics.o] Error 1
make: *** [all] Error 2
Note: configure failed in the first place, but I followed the hint at http://passingcuriosity.com/archives/ on 01 Sep 2009 and changed the last line of bin/ghc-6.12.1 into
extraoptionen="-optc-m32 -opta-m32 -optl-m32"
exec "$executablename" extraoptionen -B"
topdir" {1+"
@"}
This allows configuration. That blog indicates that, later, one might need something like -optl-arch\ i386 in that same script. I do not know what to do here. I cannot find any of these options in the documentation.
I keep the whole output of running make in a file (including redirection of error output) and can provide it if needed.