Skip to content

USE_RAND_TIEBREAKER=OFF fails to compile #211

Description

@nmcglo

The CMAKE option USE_RAND_TIEBREAKER defaults to ON. This feature was added from #185 (#184 into develop). Somewhere along the line since then, however, the option has become a requirement as the compilation will fail if USE_RAND_TIEBREAKER=OFF.

Tested compiler:

Apple clang version 21.0.0 (clang-2100.1.1.101)
Target: arm64-apple-darwin25.5.0
mpirun (Open MPI) 5.0.8

Found errors upon compilation:

[  2%] Building C object core/CMakeFiles/ROSS.dir/gvt/mpi_allreduce.c.o
/Users/neil/devel/ROSS/core/gvt/mpi_allreduce.c:526:5: error: call to undeclared function 'tw_copy_event_sig'; ISO C99 and later do not support
      implicit function declarations [-Wimplicit-function-declaration]
  526 |     tw_copy_event_sig(&g_tw_gvt_hook_trigger.sig_at, &g_tw_max_sig);
      |     ^
/Users/neil/devel/ROSS/core/gvt/mpi_allreduce.c:526:46: error: no member named 'sig_at' in 'struct gvt_hook_trigger'
  526 |     tw_copy_event_sig(&g_tw_gvt_hook_trigger.sig_at, &g_tw_max_sig);
      |                        ~~~~~~~~~~~~~~~~~~~~~ ^
/Users/neil/devel/ROSS/core/gvt/mpi_allreduce.c:526:55: error: use of undeclared identifier 'g_tw_max_sig'
  526 |     tw_copy_event_sig(&g_tw_gvt_hook_trigger.sig_at, &g_tw_max_sig);
      |                                                       ^~~~~~~~~~~~
/Users/neil/devel/ROSS/core/gvt/mpi_allreduce.c:532:2: error: call to undeclared function 'tw_copy_event_sig'; ISO C99 and later do not support
      implicit function declarations [-Wimplicit-function-declaration]
  532 |         tw_copy_event_sig(&g_tw_gvt_hook_trigger.sig_at, &g_tw_max_sig);
      |         ^
/Users/neil/devel/ROSS/core/gvt/mpi_allreduce.c:532:43: error: no member named 'sig_at' in 'struct gvt_hook_trigger'
  532 |         tw_copy_event_sig(&g_tw_gvt_hook_trigger.sig_at, &g_tw_max_sig);
      |                            ~~~~~~~~~~~~~~~~~~~~~ ^
/Users/neil/devel/ROSS/core/gvt/mpi_allreduce.c:532:52: error: use of undeclared identifier 'g_tw_max_sig'
  532 |         tw_copy_event_sig(&g_tw_gvt_hook_trigger.sig_at, &g_tw_max_sig);
      |                                                           ^~~~~~~~~~~~
/Users/neil/devel/ROSS/core/gvt/mpi_allreduce.c:542:31: error: no member named 'sig_at' in 'struct gvt_hook_trigger'
  542 |     if (g_tw_gvt_hook_trigger.sig_at.tie_lineage_length >= MAX_TIE_CHAIN) {
      |         ~~~~~~~~~~~~~~~~~~~~~ ^
/Users/neil/devel/ROSS/core/gvt/mpi_allreduce.c:545:5: error: use of undeclared identifier 'tw_event_sig'
  545 |     tw_event_sig * now = &lp->kp->last_sig; // tw_now_sig(lp);
      |     ^~~~~~~~~~~~
/Users/neil/devel/ROSS/core/gvt/mpi_allreduce.c:545:20: error: use of undeclared identifier 'now'
  545 |     tw_event_sig * now = &lp->kp->last_sig; // tw_now_sig(lp);
      |                    ^~~
/Users/neil/devel/ROSS/core/gvt/mpi_allreduce.c:545:35: error: no member named 'last_sig' in 'struct tw_kp'
  545 |     tw_event_sig * now = &lp->kp->last_sig; // tw_now_sig(lp);
      |                           ~~~~~~  ^
/Users/neil/devel/ROSS/core/gvt/mpi_allreduce.c:546:5: error: call to undeclared function 'tw_copy_event_sig'; ISO C99 and later do not support
      implicit function declarations [-Wimplicit-function-declaration]
  546 |     tw_copy_event_sig(&g_tw_gvt_hook_trigger.sig_at, now);
      |     ^
/Users/neil/devel/ROSS/core/gvt/mpi_allreduce.c:546:46: error: no member named 'sig_at' in 'struct gvt_hook_trigger'
  546 |     tw_copy_event_sig(&g_tw_gvt_hook_trigger.sig_at, now);
      |                        ~~~~~~~~~~~~~~~~~~~~~ ^
/Users/neil/devel/ROSS/core/gvt/mpi_allreduce.c:546:54: error: use of undeclared identifier 'now'; did you mean 'pow'?
  546 |     tw_copy_event_sig(&g_tw_gvt_hook_trigger.sig_at, now);
      |                                                      ^~~
      |                                                      pow
/Library/Developer/CommandLineTools/SDKs/MacOSX26.5.sdk/usr/include/math.h:453:15: note: 'pow' declared here
  453 | extern double pow(double, double);
      |               ^
/Users/neil/devel/ROSS/core/gvt/mpi_allreduce.c:548:27: error: no member named 'sig_at' in 'struct gvt_hook_trigger'
  548 |     g_tw_gvt_hook_trigger.sig_at.event_tiebreaker[g_tw_gvt_hook_trigger.sig_at.tie_lineage_length] = 0;
      |     ~~~~~~~~~~~~~~~~~~~~~ ^
/Users/neil/devel/ROSS/core/gvt/mpi_allreduce.c:548:73: error: no member named 'sig_at' in 'struct gvt_hook_trigger'
  548 |     g_tw_gvt_hook_trigger.sig_at.event_tiebreaker[g_tw_gvt_hook_trigger.sig_at.tie_lineage_length] = 0;
      |                                                   ~~~~~~~~~~~~~~~~~~~~~ ^
/Users/neil/devel/ROSS/core/gvt/mpi_allreduce.c:549:27: error: no member named 'sig_at' in 'struct gvt_hook_trigger'
  549 |     g_tw_gvt_hook_trigger.sig_at.tie_lineage_length += 1;
      |     ~~~~~~~~~~~~~~~~~~~~~ ^
/Users/neil/devel/ROSS/core/gvt/mpi_allreduce.c:557:5: error: call to undeclared function 'tw_copy_event_sig'; ISO C99 and later do not support
      implicit function declarations [-Wimplicit-function-declaration]
  557 |     tw_copy_event_sig(&g_tw_gvt_hook_trigger.sig_at, &g_tw_max_sig);
      |     ^
/Users/neil/devel/ROSS/core/gvt/mpi_allreduce.c:557:46: error: no member named 'sig_at' in 'struct gvt_hook_trigger'
  557 |     tw_copy_event_sig(&g_tw_gvt_hook_trigger.sig_at, &g_tw_max_sig);
      |                        ~~~~~~~~~~~~~~~~~~~~~ ^
/Users/neil/devel/ROSS/core/gvt/mpi_allreduce.c:557:55: error: use of undeclared identifier 'g_tw_max_sig'
  557 |     tw_copy_event_sig(&g_tw_gvt_hook_trigger.sig_at, &g_tw_max_sig);
      |                                                       ^~~~~~~~~~~~
19 errors generated.
make[2]: *** [core/CMakeFiles/ROSS.dir/gvt/mpi_allreduce.c.o] Error 1
make[1]: *** [core/CMakeFiles/ROSS.dir/all] Error 2
make: *** [all] Error 2

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions