Skip to content

Compiling error related to rts/Stats.c

I'm receiving the following error message when compiling ghcHEAD:

"inplace/bin/ghc-stage1" -optc-fno-stack-protector -optc-Wall -optc-Wall -optc-Wextra -optc-Wstrict-prototypes -optc-Wmissing-prototypes -optc-Wmissing-declarations -optc-Winline -optc-Waggregate-return -optc-Wpointer-arith -optc-Wmissing-noreturn -optc-Wnested-externs -optc-Wredundant-decls -optc-Wundef -optc-Iincludes -optc-Iincludes/dist -optc-Iincludes/dist-derivedconstants/header -optc-Iincludes/dist-ghcconstants/header -optc-Irts -optc-Irts/dist/build -optc-DCOMPILING_RTS -optc-fno-strict-aliasing -optc-fno-common -optc-Irts/dist/build/./autogen -optc-Werror=unused-but-set-variable -optc-Wno-error=inline -optc-O2 -optc-fomit-frame-pointer -optc-g -optc-DRtsWay=\"rts_p\" -optc-ffunction-sections -optc-fdata-sections -static -prof -eventlog  -H32m -O -Wall   -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build -DCOMPILING_RTS -this-unit-id rts -dcmm-lint      -i -irts -irts/dist/build -Irts/dist/build -irts/dist/build/./autogen -Irts/dist/build/./autogen            -O2 -Wcpp-undef    -Wnoncanonical-monad-instances  -c rts/Stats.c -o rts/dist/build/Stats.p_o
rts/Stats.c: In function 'report_summary':

rts/Stats.c:741:39: error:
     error: 'RTSSummaryStats {aka const struct RTSSummaryStats_}' has no member named 'rc_cpu_ns'; did you mean 'rp_cpu_ns'?
                     TimeToSecondsDbl(sum->rc_cpu_ns),
                                           ^
    |
741 |                 TimeToSecondsDbl(sum->rc_cpu_ns),
    |                                       ^

rts/Stats.c:29:39: error:
     note: in definition of macro 'TimeToSecondsDbl'
     #define TimeToSecondsDbl(t) ((double)(t) / TIME_RESOLUTION)
                                           ^
   |
29 | #define TimeToSecondsDbl(t) ((double)(t) / TIME_RESOLUTION)
   |                                       ^

rts/Stats.c:742:39: error:
     error: 'RTSSummaryStats {aka const struct RTSSummaryStats_}' has no member named 'rc_elapsed_ns'; did you mean 'rp_elapsed_ns'?
                     TimeToSecondsDbl(sum->rc_elapsed_ns));
                                           ^
    |
742 |                 TimeToSecondsDbl(sum->rc_elapsed_ns));
    |                                       ^

rts/Stats.c:29:39: error:
     note: in definition of macro 'TimeToSecondsDbl'
     #define TimeToSecondsDbl(t) ((double)(t) / TIME_RESOLUTION)
                                           ^
   |
29 | #define TimeToSecondsDbl(t) ((double)(t) / TIME_RESOLUTION)
   |                                       ^
rts/Stats.c: In function 'report_machine_readable':

rts/Stats.c:904:58: error:
     error: 'RTSSummaryStats {aka const struct RTSSummaryStats_}' has no member named 'hp_cpu_ns'; did you mean 'rp_cpu_ns'?
         MR_STAT("hc_cpu_seconds", "f", TimeToSecondsDbl(sum->hp_cpu_ns));
                                                              ^
    |
904 |     MR_STAT("hc_cpu_seconds", "f", TimeToSecondsDbl(sum->hp_cpu_ns));
    |                                                          ^

rts/Stats.c:867:62: error:
     note: in definition of macro 'MR_STAT'
         statsPrintf(" ,(\"" field_name "\", \"%" format "\")\n", value)
                                                                  ^~~~~
    |
867 |     statsPrintf(" ,(\"" field_name "\", \"%" format "\")\n", value)
    |                                                              ^

rts/Stats.c:904:36: error:
     note: in expansion of macro 'TimeToSecondsDbl'
         MR_STAT("hc_cpu_seconds", "f", TimeToSecondsDbl(sum->hp_cpu_ns));
                                        ^~~~~~~~~~~~~~~~
    |
904 |     MR_STAT("hc_cpu_seconds", "f", TimeToSecondsDbl(sum->hp_cpu_ns));
    |                                    ^

rts/Stats.c:905:59: error:
     error: 'RTSSummaryStats {aka const struct RTSSummaryStats_}' has no member named 'hp_elapsed_ns'; did you mean 'rp_elapsed_ns'?
         MR_STAT("hc_wall_seconds", "f", TimeToSecondsDbl(sum->hp_elapsed_ns));
                                                               ^
    |
905 |     MR_STAT("hc_wall_seconds", "f", TimeToSecondsDbl(sum->hp_elapsed_ns));
    |                                                           ^

rts/Stats.c:867:62: error:
     note: in definition of macro 'MR_STAT'
         statsPrintf(" ,(\"" field_name "\", \"%" format "\")\n", value)
                                                                  ^~~~~
    |
867 |     statsPrintf(" ,(\"" field_name "\", \"%" format "\")\n", value)
    |                                                              ^

rts/Stats.c:905:37: error:
     note: in expansion of macro 'TimeToSecondsDbl'
         MR_STAT("hc_wall_seconds", "f", TimeToSecondsDbl(sum->hp_elapsed_ns));
                                         ^~~~~~~~~~~~~~~~
    |
905 |     MR_STAT("hc_wall_seconds", "f", TimeToSecondsDbl(sum->hp_elapsed_ns));
    |                                     ^
`cc' failed in phase `C Compiler'. (Exit code: 1)
make[1]: *** [rts/ghc.mk:295: rts/dist/build/Stats.p_o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:127: all] Error 2
builder for '/nix/store/qvidsmhk6a1a1h96q85dx1dalgqgph4l-ghc-8.5.20180319.drv' failed with exit code 2
error: build of '/nix/store/qvidsmhk6a1a1h96q85dx1dalgqgph4l-ghc-8.5.20180319.drv' failed

I suspect it's related to the recent commit 2d4bda2e. Currently compiling the previous revision to confirm. Has anyone confirmed similar error in another environment?

Trac metadata
Trac field Value
Version 8.5
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