Skip to content

Profiling GHC HEAD broken under OSX.

If I pull latest HEAD, with the following contents in build.mk:

BuildFlavour = prof

and then build under OSX it errors out with:

"inplace/bin/ghc-stage1" -prof  -H32m -O    -package-name ghc-6.13.20091112 -hide-all-packages -i -icompiler/nativeGen -icompiler/basicTypes -icompiler/cmm -icompiler/codeGen -icompiler/coreSyn -icompiler/cprAnalysis -icompiler/deSugar -icompiler/ghci -icompiler/hsSyn -icompiler/iface -icompiler/main -icompiler/parser -icompiler/prelude -icompiler/profiling -icompiler/rename -icompiler/simplCore -icompiler/simplStg -icompiler/specialise -icompiler/stgSyn -icompiler/stranal -icompiler/typecheck -icompiler/types -icompiler/utils -icompiler/vectorise -icompiler/stage2/build -icompiler/stage2/build/autogen -Icompiler/stage2/build -Icompiler/stage2/build/autogen -Icompiler/../libffi/build/include -Icompiler/stage2 -Icompiler/../libraries/base/cbits -Icompiler/../libraries/base/include -Icompiler/. -Icompiler/parser -Icompiler/utils   -optP-DGHCI -optP-include -optPcompiler/stage2/build/autogen/cabal_macros.h -package Cabal-1.8.0 -package array-0.3.0.0 -package base-4.2.0.0 -package bin-package-db-0.0.0.0 -package bytestring-0.9.1.5 -package containers-0.3.0.0 -package directory-1.0.1.0 -package filepath-1.1.0.3 -package hpc-0.5.0.4 -package old-time-1.0.0.3 -package process-1.0.1.2 -package template-haskell-2.4.0.0 -package unix-2.4.0.0  -DGHCI_TABLES_NEXT_TO_CODE -DSTAGE=2 -O2 -Wall -fno-warn-name-shadowing -fno-warn-orphans -XCPP -XMagicHash -XUnboxedTuples -XPatternGuards -XForeignFunctionInterface -XEmptyDataDecls -XTypeSynonymInstances -XMultiParamTypeClasses -XFlexibleInstances -XRank2Types -XScopedTypeVariables -XDeriveDataTypeable -XRelaxedPolyRec     -odir compiler/stage2/build -hidir compiler/stage2/build -stubdir compiler/stage2/build -hisuf p_hi -osuf  p_o -hcsuf p_hc -c compiler/main/Finder.lhs -o compiler/stage2/build/Finder.p_o
Undefined symbols:
  "_CCCS", referenced from:
      _integer_cmm_int2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_decodeDoublezh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_decodeDoublezh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_decodeDoublezh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** [utils/runghc/dist/build/tmp/runghc] Error 1
make[1]: *** Waiting for unfinished jobs....
Undefined symbols:
  "_CCCS", referenced from:
      _integer_cmm_int2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_decodeDoublezh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_decodeDoublezh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_decodeDoublezh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** [utils/hsc2hs/dist-install/build/tmp/hsc2hs] Error 1
Undefined symbols:
  "_CCCS", referenced from:
      _integer_cmm_int2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_decodeDoublezh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_decodeDoublezh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_decodeDoublezh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** [utils/hpc/dist/build/tmp/hpc] Error 1
Undefined symbols:
  "_CCCS", referenced from:
      _integer_cmm_int2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word2Integerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_int64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_word64ToIntegerzh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_decodeDoublezh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_decodeDoublezh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
      _integer_cmm_decodeDoublezh in libHSinteger-gmp-0.2.0.0.a(gmp-wrappers.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** [utils/ghc-pkg/dist-install/build/tmp/ghc-pkg] Error 1
make: *** [all] Error 2

This does not happen to me with the build.mk without profiling from the developers wiki.

Trac metadata
Trac field Value
Version 6.13
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Build System
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information