[Haskell-cafe] Build local-gc branch of GHC

Andreas Voellmy andreas.voellmy at gmail.com
Sat Oct 1 16:06:06 CEST 2011


Thanks to Simon Marlow for helping me resolve this problem. After step 2,
delete the following directories from the source tree:

libraries/dph
libraries/vector
libraries/primitive

then proceed with step 3 and 4 (boot, configure, make). This worked for me.

Regards,
Andreas

On Mon, Sep 26, 2011 at 2:18 PM, Andreas Voellmy
<andreas.voellmy at gmail.com>wrote:

> Hi,
>
> I've been trying to get and build a branch of ghc that includes the new
> local GC algorithm (
> http://www.haskell.org/pipermail/cvs-ghc/2011-June/062748.html), but I
> haven't been able to build it successfully. Here is what I've done:
>
> 1. Got the latest source tree using these commands:
>
> $ git clone http://darcs.haskell.org/ghc.git/
> $ cd ghc
> $ ./sync-all --testsuite get
>
> 2. Use 'fingerprint'  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:
>
> ./utils/fingerprint/fingerprint.py restore -f local-gc.fp
>
> and my local-gc.fp fingerprint file contains this:
>
> .|ab5aad587de8e3d9dde539982ae728b33e5bca50
> ghc-tarballs|e7b7b152083f7c3e3559e557a239757d41ac02a6
> libraries/Cabal|6f01f56a2702b50e2da909566c4a01622cb2ca7f
> libraries/Win32|0cf603103e9ad3fccd862171ba5e689b87930622
> libraries/array|e4b4e2e0a79f4138bdff4f10d263436b0155f449
> libraries/base|be2750a0a11b919fb03cc070074e430f88bdfa90
> libraries/binary|376797487651cf995bd52458ce1f7d7a283341b3
> libraries/bytestring|cab9d8566fba8611598f14fb4f2ac7b8d4aae75b
> libraries/containers|592f6d9da9090e8d53432f22a01bb117fea2246c
> libraries/deepseq|91e8a93b15ed32af3941f81e927291a023feb369
> libraries/directory|3a0f2e2cb94c3e4f346023acc7201409d2876ed8
> libraries/extensible-exceptions|a667b48d0cb6469b6611cb516d16836aa002e782
> libraries/filepath|92d211a2752fe8827582ae0d97efd18722ad3d87
> libraries/ghc-prim|7fcfc880853fa399c9468049aeb14e6eadb9eae5
> libraries/haskeline|125ee5bba59fa9ac2fd77aa3922c30dffc11b7b5
> libraries/haskell2010|f90687bee55adfd693fe460f2ab4bc270a7f97e3
> libraries/haskell98|eb655b0317665acb9670025480b4af4465bc8f55
> libraries/hoopl|0febb7f04ff4326bd120fc75549845e5e9678d72
> libraries/hpc|fce8babbc3f60fb195d84545753dc342422ab8e1
> libraries/integer-gmp|2567c97aaa467cb676a6ecc2cf840c92ee1cb6ec
> libraries/integer-simple|c3e9c0268b4d59895829e429d1ac767e6041b06a
> libraries/mtl|a748dfa2770af1d348dfaa8ad6955b25b4935711
> libraries/old-locale|7f09f55ea3011c17c526805f099394a05ec9c3fe
> libraries/old-time|6aae8dc2f13cef6ab48c5436c6c0e7c1b5ae3f51
> libraries/parallel|f82611fac439236e22a057cd555bb9fe393597b0
> libraries/pretty|e00aa7e0f82fc6f13ad85f1b3a27f53efe473e60
> libraries/process|d1c2999473ba0d4ceafdc6da309debca83f91abe
> libraries/random|ba8cb1b9fdfddeb29fdfedd8612c8ce85a987af8
> libraries/stm|ccc6d74872916e5de7747df4cc61f64de64be591
> libraries/template-haskell|acd4c3292d0f7a222a1f4f426054e4732a809fc8
> libraries/terminfo|f4476f1881085b74dbe65cf4a4561e8fb34017d4
> libraries/unix|c9a0bf119ce343b291bef77828066339e94fb64d
> libraries/utf8-string|d28cd1fbd4ebaaa0608c070bd02ed72dc9b70399
> libraries/xhtml|9a4d7d64d0491a1844d5b5759275b029ccd1e2cd
> nofib|6d3ea16e56bd99d060e778fab3583aa67a6b50d4
> testsuite|6560613138d61afddd0d8d428254370f8dfdb4cd
> utils/hsc2hs|c46eed44ce96f1719334ffb190eddf63695bc553
>
> 3. I then run
>
> $perl boot
> $./configure
>
> This succeeds telling me that it will be building ghc version 7.1.20110606.
>
> 4. Run make and it fails with this output:
>
> + test -f mk/config.mk.old
> + cp -p mk/config.mk mk/config.mk.old
> touch -r mk/config.mk.old mk/config.mk
> + test -f mk/project.mk.old
> + cp -p mk/project.mk mk/project.mk.old
> touch -r mk/project.mk.old mk/project.mk
> + test -f compiler/ghc.cabal.old
> + cp -p compiler/ghc.cabal compiler/ghc.cabal.old
> touch -r compiler/ghc.cabal.old compiler/ghc.cabal
> ===--- building phase 0
> make -r --no-print-directory -f ghc.mk phase=0 phase_0_builds
> libraries/dph/ghc.mk:116: *** dph_th_deps(v,seq):
> libraries/dph/dph-base_dist-install_GHCI_LIB not defined!.  Stop.
> make: *** [all] Error 2
>
> 5. I don'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:
>
> "inplace/bin/ghc-stage1" -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
>
> libraries/vector/Data/Vector/Fusion/Util.hs:4:14:
>     Unsupported extension: Trustworthy
> make[1]: *** [libraries/vector/dist-install/build/.depend-v-p-dyn.haskell]
> Error 1
> make: *** [all] Error 2
>
> 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?
>
> Regards,
> Andreas
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20111001/425e86b4/attachment.htm>


More information about the Haskell-Cafe mailing list