Hi, <div><br></div><div>I&#39;ve been trying to get and build a branch of ghc that includes the new local GC algorithm (<a href="http://www.haskell.org/pipermail/cvs-ghc/2011-June/062748.html">http://www.haskell.org/pipermail/cvs-ghc/2011-June/062748.html</a>), but I haven&#39;t been able to build it successfully. Here is what I&#39;ve done: </div>
<div><br></div><div>1. Got the latest source tree using these commands:</div><div><br></div><div><div>$ git clone <a href="http://darcs.haskell.org/ghc.git/">http://darcs.haskell.org/ghc.git/</a></div><div>$ cd ghc</div><div>
$ ./sync-all --testsuite get</div></div><div><br></div><div>2. Use &#39;fingerprint&#39;  script to get the state of the repository for the branch mentioned in the web page I mentioned above. A fingerprint file based on the announcement above fails due to some problem with binary and haddock change sets not being found. So I modified the fingerprint to use the latest versions for binary and deleted the change for haddock entirely. I ran this command:</div>
<div><br></div><div>./utils/fingerprint/fingerprint.py restore -f local-gc.fp</div><div><br></div><div>and my local-gc.fp fingerprint file contains this:</div><div><br></div><div>.|ab5aad587de8e3d9dde539982ae728b33e5bca50</div>
<div>ghc-tarballs|e7b7b152083f7c3e3559e557a239757d41ac02a6</div><div>libraries/Cabal|6f01f56a2702b50e2da909566c4a01622cb2ca7f</div><div>libraries/Win32|0cf603103e9ad3fccd862171ba5e689b87930622</div><div>libraries/array|e4b4e2e0a79f4138bdff4f10d263436b0155f449</div>
<div>libraries/base|be2750a0a11b919fb03cc070074e430f88bdfa90</div><div>libraries/binary|376797487651cf995bd52458ce1f7d7a283341b3</div><div>libraries/bytestring|cab9d8566fba8611598f14fb4f2ac7b8d4aae75b</div><div>libraries/containers|592f6d9da9090e8d53432f22a01bb117fea2246c</div>
<div>libraries/deepseq|91e8a93b15ed32af3941f81e927291a023feb369</div><div>libraries/directory|3a0f2e2cb94c3e4f346023acc7201409d2876ed8</div><div>libraries/extensible-exceptions|a667b48d0cb6469b6611cb516d16836aa002e782</div>
<div>libraries/filepath|92d211a2752fe8827582ae0d97efd18722ad3d87</div><div>libraries/ghc-prim|7fcfc880853fa399c9468049aeb14e6eadb9eae5</div><div>libraries/haskeline|125ee5bba59fa9ac2fd77aa3922c30dffc11b7b5</div><div>libraries/haskell2010|f90687bee55adfd693fe460f2ab4bc270a7f97e3</div>
<div>libraries/haskell98|eb655b0317665acb9670025480b4af4465bc8f55</div><div>libraries/hoopl|0febb7f04ff4326bd120fc75549845e5e9678d72</div><div>libraries/hpc|fce8babbc3f60fb195d84545753dc342422ab8e1</div><div>libraries/integer-gmp|2567c97aaa467cb676a6ecc2cf840c92ee1cb6ec</div>
<div>libraries/integer-simple|c3e9c0268b4d59895829e429d1ac767e6041b06a</div><div>libraries/mtl|a748dfa2770af1d348dfaa8ad6955b25b4935711</div><div>libraries/old-locale|7f09f55ea3011c17c526805f099394a05ec9c3fe</div><div>libraries/old-time|6aae8dc2f13cef6ab48c5436c6c0e7c1b5ae3f51</div>
<div>libraries/parallel|f82611fac439236e22a057cd555bb9fe393597b0</div><div>libraries/pretty|e00aa7e0f82fc6f13ad85f1b3a27f53efe473e60</div><div>libraries/process|d1c2999473ba0d4ceafdc6da309debca83f91abe</div><div>libraries/random|ba8cb1b9fdfddeb29fdfedd8612c8ce85a987af8</div>
<div>libraries/stm|ccc6d74872916e5de7747df4cc61f64de64be591</div><div>libraries/template-haskell|acd4c3292d0f7a222a1f4f426054e4732a809fc8</div><div>libraries/terminfo|f4476f1881085b74dbe65cf4a4561e8fb34017d4</div><div>libraries/unix|c9a0bf119ce343b291bef77828066339e94fb64d</div>
<div>libraries/utf8-string|d28cd1fbd4ebaaa0608c070bd02ed72dc9b70399</div><div>libraries/xhtml|9a4d7d64d0491a1844d5b5759275b029ccd1e2cd</div><div>nofib|6d3ea16e56bd99d060e778fab3583aa67a6b50d4</div><div>testsuite|6560613138d61afddd0d8d428254370f8dfdb4cd</div>
<div>utils/hsc2hs|c46eed44ce96f1719334ffb190eddf63695bc553</div><div> </div><div>3. I then run </div><div><br></div><div>$perl boot</div><div>$./configure</div><div><br></div><div>This succeeds telling me that it will be building ghc version 7.1.20110606.</div>
<div><br></div><div>4. Run make and it fails with this output: </div><div><br></div><div><div>+ test -f mk/config.mk.old</div><div>+ cp -p mk/<a href="http://config.mk">config.mk</a> mk/config.mk.old</div><div>touch -r mk/config.mk.old mk/<a href="http://config.mk">config.mk</a></div>
<div>+ test -f mk/project.mk.old</div><div>+ cp -p mk/<a href="http://project.mk">project.mk</a> mk/project.mk.old</div><div>touch -r mk/project.mk.old mk/<a href="http://project.mk">project.mk</a></div><div>+ test -f compiler/ghc.cabal.old</div>
<div>+ cp -p compiler/ghc.cabal compiler/ghc.cabal.old</div><div>touch -r compiler/ghc.cabal.old compiler/ghc.cabal</div><div>===--- building phase 0</div><div>make -r --no-print-directory -f <a href="http://ghc.mk">ghc.mk</a> phase=0 phase_0_builds</div>
<div>libraries/dph/<a href="http://ghc.mk:116">ghc.mk:116</a>: *** dph_th_deps(v,seq): libraries/dph/dph-base_dist-install_GHCI_LIB not defined!.  Stop.</div><div>make: *** [all] Error 2</div></div><div><br></div><div>5. I don&#39;t know how to fix this, so I tried deleting libraries/dph. Then I run make again, and get a ways through the build, and then get this error: </div>
<div><br></div><div><div>&quot;inplace/bin/ghc-stage1&quot; -M -dep-makefile libraries/vector/dist-install/build/.depend-v-p-dyn.haskell.tmp -dep-suffix p -dep-suffix dyn -include-pkg-deps -H32m -O -package-name vector-0.8 -hide-all-packages -i -ilibraries/vector/. -ilibraries/vector/dist-install/build -ilibraries/vector/dist-install/build/autogen -Ilibraries/vector/dist-install/build -Ilibraries/vector/dist-install/build/autogen -Ilibraries/vector/include -Ilibraries/vector/internal -optP-DVECTOR_BOUNDS_CHECKS -optP-include -optPlibraries/vector/dist-install/build/autogen/cabal_macros.h -package base-4.3.1.0 -package primitive-0.4.0.1 -O2 -XHaskell98 -XCPP -XDeriveDataTypeable -O2 -no-user-package-conf -rtsopts -odir libraries/vector/dist-install/build -hidir libraries/vector/dist-install/build -stubdir libraries/vector/dist-install/build -hisuf hi -osuf o -hcsuf hc  libraries/vector/./Data/Vector/Internal/Check.hs  libraries/vector/./Data/Vector/Fusion/Util.hs  libraries/vector/./Data/Vector/Fusion/Stream/Size.hs  libraries/vector/./Data/Vector/Fusion/Stream/Monadic.hs  libraries/vector/./Data/Vector/Fusion/Stream/Monadic/Safe.hs  libraries/vector/./Data/Vector/Fusion/Stream.hs  libraries/vector/./Data/Vector/Fusion/Stream/Safe.hs  libraries/vector/./Data/Vector/Generic/Mutable.hs  libraries/vector/./Data/Vector/Generic/Mutable/Safe.hs  libraries/vector/./Data/Vector/Generic/Base.hs  libraries/vector/./Data/Vector/Generic/New.hs  libraries/vector/./Data/Vector/Generic/New/Safe.hs  libraries/vector/./Data/Vector/Generic.hs  libraries/vector/./Data/Vector/Generic/Safe.hs  libraries/vector/./Data/Vector/Primitive/Mutable.hs  libraries/vector/./Data/Vector/Primitive/Mutable/Safe.hs  libraries/vector/./Data/Vector/Primitive.hs  libraries/vector/./Data/Vector/Primitive/Safe.hs  libraries/vector/./Data/Vector/Storable/Internal.hs  libraries/vector/./Data/Vector/Storable/Mutable.hs  libraries/vector/./Data/Vector/Storable.hs  libraries/vector/./Data/Vector/Unboxed/Base.hs  libraries/vector/./Data/Vector/Unboxed/Mutable.hs  libraries/vector/./Data/Vector/Unboxed/Mutable/Safe.hs  libraries/vector/./Data/Vector/Unboxed.hs  libraries/vector/./Data/Vector/Unboxed/Safe.hs  libraries/vector/./Data/Vector/Mutable.hs  libraries/vector/./Data/Vector/Mutable/Safe.hs  libraries/vector/./Data/Vector.hs  libraries/vector/./Data/Vector/Safe.hs</div>
<div><br></div><div>libraries/vector/Data/Vector/Fusion/Util.hs:4:14:</div><div>    Unsupported extension: Trustworthy</div><div>make[1]: *** [libraries/vector/dist-install/build/.depend-v-p-dyn.haskell] Error 1</div><div>
make: *** [all] Error 2</div></div><div><br></div><div>I deleted this library too, but my build errors just continued. After resolving a bunch of build errors in Haskell libraries, I started getting errors in the C files in the rts directory. While I could go on fixing these problems, it seems likely that I went wrong somewhere early on. Does anyone see where I went wrong? Did I use the various tools (git, sync-all, fingerprint, boot, configure, make) in the right order and way? </div>
<div><br></div><div>Regards, </div><div>Andreas</div><div><br></div>