Skip to content

IMB-MPI1 2021.3 doesn't compile #40

@chrpospiech

Description

@chrpospiech

Recently, some C++ parts have been added to IMB which introduces name mangling to the link step. The linker now complains that IMB_Barrier is listed “Extern C”in IMB_prototypes.h, but not in IMB_declare.h. The declaration in IMB_declare.h, however, is not really needed, as only the string IMB_Barrier is used in a subsequent CPP macro definition.Commenting this declaration out fixes the problem.The fix in git diff format is attached below. Please consider adopting this patch in future versions.

diff --git a/src_c/IMB_declare.h b/src_c/IMB_declare.h
index 8425545..49f749d 100644
--- a/src_c/IMB_declare.h
+++ b/src_c/IMB_declare.h
@@ -249,7 +249,7 @@ extern int IMB_internal_barrier;
(B) = (type*) IMB_v_alloc(sizeof(type)*(Len), where);
}

-void IMB_Barrier(MPI_Comm comm);
+// void IMB_Barrier(MPI_Comm comm);
#define IMB_do_n_barriers(comm, iter)
{
int _ii; \

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