-
Notifications
You must be signed in to change notification settings - Fork 847
Description
When a user wants to run with cost modelling profiling enabled, they need to use +RTS -p
. For this to work and when invoking GHC directly, the user types:
$ ghc -prof -fprof-auto -rtsopts Main.hs
However, if they are using stack, they should type:
$ stack install --enable-executable-profiling --enable-library-profiling --ghc-options="-fprof-auto -rtsopts"
It might not be clear that when stack is used to invoke GHC, -prof
should not be used in --ghc-options
. If it is included, then they are likely to see compiler error messages relating to p_dyn, e.g.
Failed to load interface for ‘GHC.Integer.Type’
Perhaps you haven't installed the "p_dyn" libraries for package ‘integer-gmp-1.0.0.0’?
Use -v to see a list of the files searched for.
I initially raised this as a GHC documentation bug, but there it has been suggested that instead, stack should throw an error or at least print a warning that -prof
should not appear in the string passed to --ghc-options
.
This is the GHC ticket, that I'd like to close once the corresponding stack and cabal tickets are discussed: https://ghc.haskell.org/trac/ghc/ticket/10894
This is the mirrored cabal ticket: haskell/cabal#2827