The unix package adds -ldl to the linker, which breaks the linking of static libraries. So, we remove it. This should be fixed in configure.ac too, but not necessary the way we are building it. --- ghc-6.10.2.orig/libraries/unix/configure 2009-03-31 06:26:28.000000000 +1300 +++ ghc-6.10.2/libraries/unix/configure 2009-10-13 10:20:19.000000000 +1300 @@ -6375,9 +6375,9 @@ fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } -if test $ac_cv_lib_dl_dlopen = yes; then - EXTRA_LIBS="$EXTRA_LIBS dl" -fi +#if test $ac_cv_lib_dl_dlopen = yes; then +# EXTRA_LIBS="$EXTRA_LIBS dl" +#fi