Validate of GHC HEAD freezes on FreeBSD

Kazu Yamamoto ( 山本和彦 ) kazu at
Thu Jan 24 09:33:48 CET 2013


The "validate" script against GHC HEAD freezes on FreeBSD 9.1.
After sync-all, I did as follow:

% config_args="--with-iconv-includes=/usr/local/include --with-iconv-libraries=/usr/local/lib --with-gmp-includes=/usr/local/include --with-gmp-libraries=/usr/local/lib --with-gcc=/usr/local/bin/gcc47" CPUS=10 sh validate

This stopped quickly due to this problem:

Then I executed "validate" with "--no-clean" again.

% config_args="--with-iconv-includes=/usr/local/include --with-iconv-libraries=/usr/local/lib --with-gmp-includes=/usr/local/include --with-gmp-libraries=/usr/local/lib --with-gcc=/usr/local/bin/gcc47" CPUS=10 sh validate --no-clean

GHC could be compiled and tests started. But this resulted in:

cd ../../libraries/base/tests && '/usr/home/kazu/work/ghc/bindisttest/install   dir/bin/ghc' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts -fno-ghci-history -o qsemn001 qsemn001.hs    >qsemn001.comp.stderr 2>&1
cd ../../libraries/base/tests && ./T5962    </dev/null > 2>
cd ../../libraries/base/tests && ./5943    </dev/null > 2>
cd ../../libraries/base/tests && ./T7034    </dev/null > 2>
cd ../../libraries/base/tests && ./qsem001    </dev/null > 2>
cd ../../libraries/base/tests && ./qsemn001    </dev/null > 2>

Wrong exit code (expected 0 , actual 9 )


*** unexpected failure for Chan002(normal)

And waiting for something forever.

Does anyone understand what happened?

Note that I can build GHC HEAD by typing "gmake" (v3.82 installed by
the ports system) twice.

This is a serious problem for us since we want to merge our code to
GHC HEAD. "validate" against GHC with our code on Linux and Mac passed
so far. But "validate" against even vanilla GHC freezes.


On FreeBSD, I applied the following patch for validate since
unused-but-set-variable is not available.

diff --git a/mk/ b/mk/
index 399bf0e..378a3e6 100644
--- a/mk/
+++ b/mk/
@@ -13,7 +13,7 @@ HADDOCK_DOCS    = YES
 # Debian doesn't turn -Werror=unused-but-set-variable on by default, so
 # we turn it on explicitly for consistency with other users
 ifeq "$(GccLT46)" "NO"
-SRC_CC_WARNING_OPTS += -Werror=unused-but-set-variable
+#SRC_CC_WARNING_OPTS += -Werror=unused-but-set-variable
 # gcc 4.6 gives 3 warning for giveCapabilityToTask not being inlined
 SRC_CC_WARNING_OPTS += -Wno-error=inline


More information about the Glasgow-haskell-users mailing list