Skip to content

ghc-9.6/head fails to build aeson-benchmarks with profiling enabled.

On commit 991b9ca5 when I try to build the aeson benchmarks I see build errors like this:

andi@horzube:~/repos/aeson/benchmarks$ cabal run --enable-profiling --profiling-detail=late -w /opt/ghc-9.6.0/bin/ghc aeson-benchmark-suite --allow-newer=base,ghc-prim,template-haskell -- Integer-decoder/2048/Int -n10000 +RTS -s -Ds
Build profile: -w ghc-9.6.0.20230111 -O1
In order, the following will be built (use -v for more details):
 - aeson-benchmarks-0 (exe:aeson-benchmark-suite)  --enable-profiling (first run)
Preprocessing executable 'aeson-benchmark-suite' for aeson-benchmarks-0..
Building executable 'aeson-benchmark-suite' for aeson-benchmarks-0..
[ 7 of 31] Compiling Auto.T.D         ( bench/Auto/T/D.hs, /home/andi/repos/aeson/benchmarks/dist-newstyle/build/x86_64-linux/ghc-9.6.0.20230111/aeson-benchmarks-0/x/aeson-benchmark-suite/build/aeson-benchmark-suite/aeson-benchmark-suite-tmp/Auto/T/D.p_o )

<no location info>: error:
    bench/Auto/T/D.hs:1:1: fatal:
    cannot find object file ‘/home/andi/repos/aeson/benchmarks/dist-newstyle/build/x86_64-linux/ghc-9.6.0.20230111/aeson-benchmarks-0/x/aeson-benchmark-suite/build/aeson-benchmark-suite/aeson-benchmark-suite-tmp/Options.dyn_o’
    while linking an interpreted expression
[ 8 of 31] Compiling Auto.T.BigSum    ( bench/Auto/T/BigSum.hs, /home/andi/repos/aeson/benchmarks/dist-newstyle/build/x86_64-linux/ghc-9.6.0.20230111/aeson-benchmarks-0/x/aeson-benchmark-suite/build/aeson-benchmark-suite/aeson-benchmark-suite-tmp/Auto/T/BigSum.p_o )

<no location info>: error:
    bench/Auto/T/BigSum.hs:1:1: fatal:
    cannot find object file ‘/home/andi/repos/aeson/benchmarks/dist-newstyle/build/x86_64-linux/ghc-9.6.0.20230111/aeson-benchmarks-0/x/aeson-benchmark-suite/build/aeson-benchmark-suite/aeson-benchmark-suite-tmp/Options.dyn_o’
    while linking an interpreted expression
[ 9 of 31] Compiling Auto.T.BigRecord ( bench/Auto/T/BigRecord.hs, /home/andi/repos/aeson/benchmarks/dist-newstyle/build/x86_64-linux/ghc-9.6.0.20230111/aeson-benchmarks-0/x/aeson-benchmark-suite/build/aeson-benchmark-suite/aeson-benchmark-suite-tmp/Auto/T/BigRecord.p_o )

<no location info>: error:
    bench/Auto/T/BigRecord.hs:1:1: fatal:
    cannot find object file ‘/home/andi/repos/aeson/benchmarks/dist-newstyle/build/x86_64-linux/ghc-9.6.0.20230111/aeson-benchmarks-0/x/aeson-benchmark-suite/build/aeson-benchmark-suite/aeson-benchmark-suite-tmp/Options.dyn_o’
    while linking an interpreted expression
[10 of 31] Compiling Auto.T.BigProduct ( bench/Auto/T/BigProduct.hs, /home/andi/repos/aeson/benchmarks/dist-newstyle/build/x86_64-linux/ghc-9.6.0.20230111/aeson-benchmarks-0/x/aeson-benchmark-suite/build/aeson-benchmark-suite/aeson-benchmark-suite-tmp/Auto/T/BigProduct.p_o )

<no location info>: error:
    bench/Auto/T/BigProduct.hs:1:1: fatal:
    cannot find object file ‘/home/andi/repos/aeson/benchmarks/dist-newstyle/build/x86_64-linux/ghc-9.6.0.20230111/aeson-benchmarks-0/x/aeson-benchmark-suite/build/aeson-benchmark-suite/aeson-benchmark-suite-tmp/Options.dyn_o’
    while linking an interpreted expression
[20 of 31] Compiling Twitter.TH       ( examples/src/Twitter/TH.hs, /home/andi/repos/aeson/benchmarks/dist-newstyle/build/x86_64-linux/ghc-9.6.0.20230111/aeson-benchmarks-0/x/aeson-benchmark-suite/build/aeson-benchmark-suite/aeson-benchmark-suite-tmp/Twitter/TH.p_o )

<no location info>: error:
    examples/src/Twitter/TH.hs:1:1: fatal:
    cannot find object file ‘/home/andi/repos/aeson/benchmarks/dist-newstyle/build/x86_64-linux/ghc-9.6.0.20230111/aeson-benchmarks-0/x/aeson-benchmark-suite/build/aeson-benchmark-suite/aeson-benchmark-suite-tmp/Twitter/Options.dyn_o’
    while linking an interpreted expression
andi@horzube:~/repos/aeson/benchmarks$

I hit this with:

  • The aeson repo at commit 620e2d64a771ad1e408dac00fdc2203da2963f75
  • Both ghc-9.6 branch and master.
  • I used a cabal built from cabals master branch but I doubt it matters.
  • This was on linux.

Non profiling builds and 9.4 seem to work.

@mpickering Maybe you can take a look given that this seems likely to be a driver issue.

@mpickering Seems like something that might be in your tree house.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information