[Haskell-cafe] Cabal 3.2.0.0, run okay with profiling enabled, but installed exe NO profiling enabled
YueCompl
compl.yue at icloud.com
Tue Feb 23 19:57:02 UTC 2021
I'm using a multi-package project with `profiling: True` defined in cabal.project.local, and my cabal.project is generated by tools, so maybe this workaround doesn't work around 3.2.0.0?
```
$ cat cabal.project.local
profiling: True
profiling-detail: all-functions
optimization: 0
$ cat cabal.project
-- Please change Cabal project settings per your needs
-- FOLLOWING CONTENTS GONNA BE OVERWRITTEN BY EPM --
-- * this file should be:
-- /fw/m3cyue/edh-universe/cabal.project
packages:
./e-wrks/edh/lossless-decimal/lossless-decimal.cabal
./e-wrks/edh/elr/elr.cabal
./e-wrks/edh/host.hs/edh.cabal
./e-wrks/nedh/host.hs/nedh.cabal
./e-wrks/sedh/host.hs/sedh.cabal
./e-wrks/hasdim/host.hs/hasdim.cabal
./e-wrks/haskit/host.hs/haskit.cabal
./e-wrks/els/host.hs/els.cabal
$
```
> On 2021-02-24, at 03:25, Albert Y. C. Lai <trebla at vex.net> wrote:
>
> 3.4.0.0 does the same. I am not sure whether it is a bug or a feature.
>
> Workaround: Write a cabal.project file that goes like:
>
> packages: .
>
> package *
> profiling: True
>
> https://cabal.readthedocs.io/en/3.4/cabal-project.html has every variation and fine-tuning.
>
>
> On 2021-02-22 9:24 a.m., YueCompl via Haskell-Cafe wrote:
>> Dear Cafe,
>> I'm not sure it is a bug or just designed behavior? But I can't install profiling-enabled exe with cabal 3.2.0.0, while direct running works correctly.
>> $ cabal --version
>> cabal-install version 3.2.0.0
>> compiled using version 3.2.0.0 of the Cabal library
>> $cabal run --enable-profiling --enable-executable-profiling exe:els -- +RTS --info
>> Up to date
>> [("GHC RTS", "YES")
>> ,("GHC version", "8.8.4")
>> ,("RTS way", "rts_thr_p")
>> ,("Build platform", "x86_64-apple-darwin")
>> ,("Build architecture", "x86_64")
>> ,("Build OS", "darwin")
>> ,("Build vendor", "apple")
>> ,("Host platform", "x86_64-apple-darwin")
>> ,("Host architecture", "x86_64")
>> ,("Host OS", "darwin")
>> ,("Host vendor", "apple")
>> ,("Target platform", "x86_64-apple-darwin")
>> ,("Target architecture", "x86_64")
>> ,("Target OS", "darwin")
>> ,("Target vendor", "apple")
>> ,("Word size", "64")
>> ,("Compiler unregisterised", "NO")
>> ,("Tables next to code", "YES")
>> ,("Flag -with-rtsopts", "-maxN31 -qg")
>> ]
>> $cabal install --enable-profiling --overwrite-policy=always --enable-executable-profiling exe:els && els +RTS --info
>> Wrote tarball sdist to
>> ...
>> Resolving dependencies...
>> Up to date
>> Copying 'els'
>> [("GHC RTS", "YES")
>> ,("GHC version", "8.8.4")
>> ,("RTS way", "rts_thr")
>> ,("Build platform", "x86_64-apple-darwin")
>> ,("Build architecture", "x86_64")
>> ,("Build OS", "darwin")
>> ,("Build vendor", "apple")
>> ,("Host platform", "x86_64-apple-darwin")
>> ,("Host architecture", "x86_64")
>> ,("Host OS", "darwin")
>> ,("Host vendor", "apple")
>> ,("Target platform", "x86_64-apple-darwin")
>> ,("Target architecture", "x86_64")
>> ,("Target OS", "darwin")
>> ,("Target vendor", "apple")
>> ,("Word size", "64")
>> ,("Compiler unregisterised", "NO")
>> ,("Tables next to code", "YES")
>> ,("Flag -with-rtsopts", "-maxN31 -qg")
>> ]
>> $ cabal install --enable-profiling --overwrite-policy=always --enable-executable-profiling exe:els && els +RTS -p
>> Wrote tarball sdist to
>> ...
>> Resolving dependencies...
>> Up to date
>> Copying 'els'
>> els: the flag -p requires the program to be built with -prof
>> els:
>> els: Usage: <prog> <args> [+RTS <rtsopts> | -RTS <args>] ... --RTS <args>
>> els: ...
>> Is there other options to get a profiling enabled exe installed?
>> Thanks with regards,
>> Compl
>> _______________________________________________
>> Haskell-Cafe mailing list
>> To (un)subscribe, modify options or view archives go to:
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>> Only members subscribed via the mailman list are allowed to post.
>
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.
More information about the Haskell-Cafe
mailing list