On Thu, Dec 22, 2011 at 22:25, Conor McBride wrote:

On 22 Dec 2011, at 16:08, Sean Leather wrote:

I've built it from source (ghc-7.4.0.20111219-src.tar.bz2) on Leopard. I'd be happy to contribute my build if somebody tells me what to do.

I had a crack at this and got quite warm, literally and metaphorically.
But, no, I didn't quite get there. And yes, it's some sort of libraries
issue. Here's the barf...

make -r --no-print-directory -f ghc.mk phase=final all
"inplace/bin/ghc-stage1" -fPIC -dynamic  -H32m -O    -package-name integer-gmp-0.4.0.0 -hide-all-packages -i -ilibraries/integer-gmp/. -ilibraries/integer-gmp/dist-install/build -ilibraries/integer-gmp/dist-install/build/autogen -Ilibraries/integer-gmp/dist-install/build -Ilibraries/integer-gmp/dist-install/build/autogen -Ilibraries/integer-gmp/.    -optP-include -optPlibraries/integer-gmp/dist-install/build/autogen/cabal_macros.h -package ghc-prim-0.2.0.0  -package-name integer-gmp -XHaskell98 -XCPP -XMagicHash -XUnboxedTuples -XNoImplicitPrelude -XForeignFunctionInterface -XUnliftedFFITypes -O2  -no-user-package-conf -rtsopts     -odir libraries/integer-gmp/dist-install/build -hidir libraries/integer-gmp/dist-install/build -stubdir libraries/integer-gmp/dist-install/build -hisuf dyn_hi -osuf  dyn_o -hcsuf dyn_hc libraries/integer-gmp/dist-install/build/GHC/Integer.dyn_o libraries/integer-gmp/dist-install/build/GHC/Integer/GMP/Internals.dyn_o libraries/integer-gmp/dist-install/build/GHC/Integer/GMP/Prim.dyn_o libraries/integer-gmp/dist-install/build/GHC/Integer/Logarithms.dyn_o libraries/integer-gmp/dist-install/build/GHC/Integer/Logarithms/Internals.dyn_o libraries/integer-gmp/dist-install/build/GHC/Integer/Type.dyn_o libraries/integer-gmp/dist-install/build/cbits/gmp-wrappers.dyn_o  libraries/integer-gmp/dist-install/build/cbits/cbits.dyn_o   libraries/integer-gmp/gmp/objs/*.o -shared -dynamic -dynload deploy -dylib-install-name /usr/local/lib/ghc-7.4.0.20111219/`basename "libraries/integer-gmp/dist-install/build/libHSinteger-gmp-0.4.0.0-ghc7.4.0.20111219.dylib" | sed 's/^libHS//;s/[-]ghc.*//'`/`basename "libraries/integer-gmp/dist-install/build/libHSinteger-gmp-0.4.0.0-ghc7.4.0.20111219.dylib"` -no-auto-link-packages -o libraries/integer-gmp/dist-install/build/libHSinteger-gmp-0.4.0.0-ghc7.4.0.20111219.dylib
ld: duplicate symbol ___gmpz_abs in libraries/integer-gmp/gmp/objs/add.o and libraries/integer-gmp/gmp/objs/abs.o
collect2: ld returned 1 exit status
make[1]: *** [libraries/integer-gmp/dist-install/build/libHSinteger-gmp-0.4.0.0-ghc7.4.0.20111219.dylib] Error 1
make: *** [all] Error 2

...which makes me wonder just what I need to delete.

I'm not sure, but gmp is often a problem. You can try using my configure arguments. I create a script configure.mine that calls configure with my preferred prefix and gmp library.

$ cat configure.mine 
VERSION=7.4.0.20111219
./configure \
  --prefix=/Library/Frameworks/GHC.framework/Versions/$VERSION/usr  \
  --with-gmp-libraries=/Library/Frameworks/GMP.framework                \
  --with-gmp-includes=/Library/Frameworks/GMP.framework/Headers

I use the GMP.framework that is installed with the Haskell Platform. The prefix is just a convenient location that allows me to change a symlink to switch between GHC versions.

Regards,
Sean