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
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
The CMAKE option
USE_RAND_TIEBREAKERdefaults toON. This feature was added from #185 (#184 intodevelop). Somewhere along the line since then, however, the option has become a requirement as the compilation will fail ifUSE_RAND_TIEBREAKER=OFF.Tested compiler:
Found errors upon compilation: