Validate breaks on Mac OS X with (not that) many cores (and probably others)

Manuel M T Chakravarty chak at cse.unsw.edu.au
Sat Dec 12 03:55:37 EST 2009


BTW, windows buildbots fall over in the same way: http://darcs.haskell.org/buildbot/all/builders/x86%20Windows%20head%20fast/builds/4977/steps/compile/logs/stdio

And it also happens with just one make thread, although it seems to succeed sometime, I see more failure than successful builds.

Manuel


Manuel M T Chakravarty:
> Actually, it sometimes also happens with 4 cores (and maybe less?) and I also sometimes get
> 
>> config.status: executing src commands
>> # libffi.so needs to be built with the correct soname.
>> # NOTE: this builds libffi_convience.so with the incorrect
>> # soname, but we don't need that anyway!
>> cd libffi && \
>> 	  "cp" build/libtool build/libtool.orig; \
>> 	  sed -e s/soname_spec=.*/soname_spec="libHSffi-ghc6.13.20091211.dylib"/ build/libtool.orig > build/libtool
>> # We don't want libtool's cygwin hacks
>> cd libffi && \
>> 	  "cp" build/libtool build/libtool.orig; \
>> 	  sed -e s/dlname=\'\$tdlname\'/dlname=\'\$dlname\'/ build/libtool.orig > build/libtool
>> touch libffi/stamp.ffi.configure
>> make: *** [all] Error 2
>> limitingfactor chak 16 (.../Code/ghc-test3): 
> 
> Something is very wrong here!
> 
> 
> 
> Manuel M T Chakravarty:
>> I think this is since the new c_asm.bit dependency stuff was introduced.  The problem only seems to happen in a very parallel build, and my guess is that this happens on any box that doesn't have gmp.h globally installed.
>> 
>> I ran into it when using 8 cores (with 'env CPUS=8 sh validate'):
>> 
>>> /usr/bin/gcc -E    -m32 -Wall -Werror -I/Users/chak/Code/ghc-test/libraries/integer-gmp/gmp -Ilibraries/integer-gmp/.    -I"/Users/chak/Code/ghc-test/includes" -I"/Users/chak/Code/ghc-test/libffi/dist-install/build"      -MM libraries/integer-gmp/cbits/cbits.c -MF libraries/integer-gmp/dist-install/build/.depend-v.c_asm.bit
>>> In file included from libraries/integer-gmp/cbits/cbits.c:12:
>>> libraries/integer-gmp/cbits/alloc.c:11:17: error: gmp.h: No such file or directory
>>> make[1]: *** [libraries/integer-gmp/dist-install/build/.depend-v.c_asm] Error 1
>>> make: *** [all] Error 2
>>> limitingfactor chak 21 (.../Code/ghc-test): 
>> 
>> I also get lots of annoying message like this (independent of whether the build is parallel or not):
>> 
>>> # libraries/base = dir
>>> # libraries/unix = dir
>>> "rm" -f libraries/integer-gmp/dist-install/build/.depend-v.c_asm.tmp
>>> # dist-install = distdir
>>> # dist-install = distdir
>>> mv libraries/process/dist-install/build/.depend-v.c_asm.tmp libraries/process/dist-install/build/.depend-v.c_asm
>>> "rm" -f libraries/ghc-prim/dist-install/build/.depend-v.c_asm.tmp
>>> # libraries/base/dist-install/build/.depend-v.c_asm = depfile
>>> # libraries/unix/dist-install/build/.depend-v.c_asm = depfile
>>> touch libraries/integer-gmp/dist-install/build/.depend-v.c_asm.tmp
>>> "inplace/bin/mkdirhier" libraries/ghc-prim/dist-install/build/GHC//.
>>> # libraries/integer-gmp = dir
>>> # libraries/unix/cbits/execvpe.c = file
>>> # libraries/base/cbits/PrelIOUtils.c = file
>>> touch libraries/ghc-prim/dist-install/build/.depend-v.c_asm.tmp
>>> "rm" -f utils/haddock/dist/build/.depend.c_asm.tmp
>>> # libraries/ghc-prim = dir
>>> # v = way
>>> # v = way
>>> touch utils/haddock/dist/build/.depend.c_asm.tmp
>>> # dist-install = distdir
>>> # dist-install = distdir
>>> 
>>> # The formatting of this definition (e.g. the blank line above) is
>>> # libraries/integer-gmp/dist-install/build/.depend-v.c_asm = depfile
>>> # libraries/ghc-prim/dist-install/build/.depend-v.c_asm = depfile
>>> # The formatting of this definition (e.g. the blank line above) is
>>> mv utils/haddock/dist/build/.depend.c_asm.tmp utils/haddock/dist/build/.depend.c_asm
>>> # important, in order to get make to generate the right makefile code.
>>> # libraries/integer-gmp/cbits/cbits.c = file
>>> # libraries/ghc-prim/cbits/debug.c = file
>>> # important, in order to get make to generate the right makefile code.
> 



More information about the Cvs-ghc mailing list