There are 3 points in input.C where MPI is handled through its C++ bindings. These can be found at lines 1932, 2304 and 2694 and they all perform a very similar broadcast. The snippet of the first one follows:
The issue is that the C++ bindings were deprecated in MPI 2.2 (almost 10 years ago) and removed in MPI 3.0, which makes StackBlock very difficult to compile in a modern MPI stack. Since StackBlock already uses Boost:MPI to leverage most of its MPI communications, the solution would be to move these 3 broadcast to Boost:MPI as well and delete the include on mpi.h altogether.
There are 3 points in
input.C
where MPI is handled through its C++ bindings. These can be found at lines 1932, 2304 and 2694 and they all perform a very similar broadcast. The snippet of the first one follows:https://github.com/sanshar/StackBlock/blob/f95317b08043b7c531289576d59ad74a6d920741/input.C#L1932-L1944
The issue is that the C++ bindings were deprecated in MPI 2.2 (almost 10 years ago) and removed in MPI 3.0, which makes StackBlock very difficult to compile in a modern MPI stack. Since StackBlock already uses Boost:MPI to leverage most of its MPI communications, the solution would be to move these 3 broadcast to Boost:MPI as well and delete the include on
mpi.h
altogether.