Skip to content

Install MPI ABI into separate prefix #7940

Description

@eschnett

MPICH (head of the main branch) installs the header and library file for the new MPI ABI into the same prefix as the standard MPICH header and library files. This makes it difficult to configure other libraries or applications to build with the new MPI ABI. It would be preferable to either have separate prefixes, or to install only either the MPI ABI or the MPICH ABI but not both together.

In MPICH's current setup, one needs to pass the flag -DMPI_ABI at compile time to select the new ABI (or using mpicc_abi instead of mpicc). These are new mechanisms, and neither autoconf nor cmake know about this. Many existing packages have (for better or worse) their own hand-rolled configure system (e.g. PETSc), and they also do not know about this. This makes it very easy to accidentally compile or link against the wrong ABI. Unix is know to be abysmally bad at detecting such inconsistencies.

Having separate install directories would eliminate this risk. For example, installing all the files for the MPI ABI into $prefix/mpiabi (include/mpi.h, lib/libmpi_abi.so, and bin/mpicc) would do so.

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