<div dir="ltr">On Mon, Jan 21, 2013 at 4:12 PM, Karl Rupp <span dir="ltr"><<a href="mailto:rupp@mcs.anl.gov" target="_blank">rupp@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Dear PETScians,<br>
<br>
MPI 3.0 *removes* a set of functions from MPI 1.x, of which the following are in use in PETSc:<br>
<br>
 * MPI_Type_struct, used in<br>
   src/ts/characteristic/impls/<u></u>da/slda.c<br>
   src/dm/impls/mesh/meshpcice.c<br>
<br>
 * MPI_Errhandler_create/MPI_<u></u>Errhandler_set, used in<br>
   src/sys/objects/pinit.c<br>
   src/sys/objects/init.c<br>
<br>
In both cases function were renamed in MPI-2.0:<br>
  MPI_Type_struct       -> MPI_Type_create_struct<br>
  MPI_Errhandler_create -> MPI_Comm_create_errhandler<br>
  MPI_Errhandler_set    -> MPI_Comm_set_errhandler<br>
<br>
It should be sufficient to update BuildSystem/config/packages/<u></u>MPI.py and add the respective checks in configureMPI2(). Any objections on the following defines:<br>
  HAVE_MPI_TYPE_CREATE_STRUCT<br>
  HAVE_MPI_COMM_CREATE_<u></u>ERRHANDLER<br>
  HAVE_MPI_COMM_SET_ERRHANDLER<br>
in the case of success?<br></blockquote><div><br></div><div style>Yes, this is the right way.</div><div style><br></div><div style>  Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Alternatives:<br>
 * Assume MPI 1.x is no longer in use and change the function names directly.<br>
 * Assume that implementations of MPI 3.0 or higher will still provide the 'removed' functions for backwards compatibility.<br>
<br>
Best regards,<br>
Karli<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener
</div></div>