configure CLI option conventions
configure will, by default, search for header files and/or
libraries for various optional features (e.g., various HPC network
API/support libraries). If the relevant files are found, Open MPI
will built support for that feature. If they are not found, Open MPI
will skip building support for that feature.
However, if you specify
FOO is the
corresponding CLI option name for the feature) on the
command line and Open MPI is unable to find relevant support for
configure will assume that it was unable to provide a
feature that was specifically requested, and will therefore abort so
that a human can resolve out the issue.
--with-FOO to force Open MPI’s
script to abort it if can’t find support for a given feature
may be preferable to unexpectedly discovering at run-time
that Open MPI is missing support for a critical feature.
Additionally, if a search directory is specified for
FOO in the
--with-FOO=DIR, Open MPI will:
FOO’s header files in
FOO’s library files:
--with-FOO-libdir=LIBDIRwas specified, search in
Otherwise, search in
DIR/lib, and if they are not found there, search again in
If both the relevant header files and libraries are found:
Open MPI will build support for
If the root path where the FOO libraries are found is neither
/usr/local, Open MPI will compile itself with RPATH flags pointing to the directory where
FOO’s libraries are located.
Open MPI does not RPATH
/usr/local/libbecause many systems already search these directories for run-time libraries by default; adding RPATH for them could have unintended consequences for the search path ordering.
--with-FOO-libdir=LIBDIR options are not usually
needed; they are typically only needed when
FOO’s libraries are
installed in an “unexpected” location.
Also note the difference between
--with-FOO-libdir=LIBDIR: the former is a directory to which
suffixes such as
/lib are added, whereas the
latter is assumed to be a full library directory name (e.g.,