The MPI standard requires that each routine be available with both the MPI and
PMPI prefix; for example, MPI_Send and PMPI_Send. Mpich
attempts to use weak symbols to provide this feature; this reduces the
size of the mpich library. You can force mpich to make separate libraries for
the MPI and PMPI versions by adding the configure option
--disable-weak-symbols:
configure --disable-weak-symbols ...Some MPI routines are implemented in terms of other MPI routines. For example, in mpich, MPI_Bcast is implemented using MPI_Send. When weak symbols are used, even the PMPI versions of the routines are implemented using the MPI (not PMPI) versions. If you want the PMPI routines to only use the PMPI routines, use --disable-weak-symbols when configuring mpich. Note that this behavior may change in later releases.