Upgrade macos

This commit is contained in:
Bassem Girgis
2025-03-19 08:52:56 -05:00
parent 53580cb51f
commit d29ef955f5
8041 changed files with 1936720 additions and 130842 deletions

View File

@@ -0,0 +1,209 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.5. Specifying compilers and flags &mdash; OpenPMIx 5.0.5 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="5.6. Required support libraries" href="required-support-libraries.html" />
<link rel="prev" title="5.4. VPATH builds" href="vpath-builds.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
OpenPMIx
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">2. Getting help</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes/index.html">3. Release notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../exceptions.html">4. Exceptions to the PMIx Standard</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">5. Building and installing PMIx</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="quickstart.html">5.1. Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="definitions.html">5.2. Definitions</a></li>
<li class="toctree-l2"><a class="reference internal" href="filesystem-requirements.html">5.3. Filesystem requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="vpath-builds.html">5.4. VPATH builds</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">5.5. Specifying compilers and flags</a></li>
<li class="toctree-l2"><a class="reference internal" href="required-support-libraries.html">5.6. Required support libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-cli-options/index.html">5.7. <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-output-summary.html">5.8. <code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary</a></li>
<li class="toctree-l2"><a class="reference internal" href="make-targets.html">5.9. <code class="docutils literal notranslate"><span class="pre">make</span></code> targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="installation-location.html">5.10. Installation location</a></li>
<li class="toctree-l2"><a class="reference internal" href="packagers.html">5.11. Advice for packagers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">7. Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../history.html">8. History</a></li>
<li class="toctree-l1"><a class="reference internal" href="../versions.html">9. Version Numbers and Binary Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../mca.html">10. The Modular Component Architecture (MCA)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../building-apps/index.html">11. Building PMIx applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../developers/index.html">12. Developer’s guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">13. Contributing to OpenPMIx</a></li>
<li class="toctree-l1"><a class="reference internal" href="../license.html">14. License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">15. OpenPMIx Security Policy</a></li>
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">17. OpenPMIx manual pages</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">OpenPMIx</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">5. </span>Building and installing PMIx</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.5. </span>Specifying compilers and flags</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/installing-pmix/compilers-and-flags.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<style>
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
</style><div class="section" id="specifying-compilers-and-flags">
<span id="install-configure-compilers-and-flags-label"></span><h1><span class="section-number">5.5. </span>Specifying compilers and flags<a class="headerlink" href="#specifying-compilers-and-flags" title="Permalink to this heading"></a></h1>
<p>Changing the compilers that PMIx uses to build itself uses the
standard GNU Autoconf mechanism of setting special environment variables
either before invoking <code class="docutils literal notranslate"><span class="pre">configure</span></code> or on the <code class="docutils literal notranslate"><span class="pre">configure</span></code> command
line itself.</p>
<p>The following environment variables are recognized by <code class="docutils literal notranslate"><span class="pre">configure</span></code>:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">CC</span></code>: C compiler to use</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">CFLAGS</span></code>: Compile flags to pass to the C compiler</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">CPPFLAGS</span></code>: Preprocessor flags to pass to the C compiler</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">LDFLAGS</span></code>: Linker flags to pass to all compilers</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">LIBS</span></code>: Libraries to pass to all compilers (it is rarely
necessary for users to need to specify additional <code class="docutils literal notranslate"><span class="pre">LIBS</span></code>)</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">PKG_CONFIG</span></code>: Path to the <code class="docutils literal notranslate"><span class="pre">pkg-config</span></code> utility</p></li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>PMIx v5.0.5 does not contain any C++ code. However,
you can use a C++ compiler to build PMIx if you so choose.</p>
</div>
<p>For example, to build with a specific instance of <code class="docutils literal notranslate"><span class="pre">gcc</span></code>:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span>./configure<span class="w"> </span><span class="se">\</span>
<span class="w"> </span><span class="nv">CC</span><span class="o">=</span>/opt/gcc-a.b.c/bin/gcc<span class="w"> </span><span class="nv">CFLAGS</span><span class="o">=</span>-m64<span class="w"> </span>...
</pre></div>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>The PMIx community generally suggests using the above
command line form for setting different compilers (vs. setting
environment variables and then invoking <code class="docutils literal notranslate"><span class="pre">./configure</span></code>). The
above form will save all variables and values in the <code class="docutils literal notranslate"><span class="pre">config.log</span></code>
file, which makes post-mortem analysis easier if problems occur.</p>
</div>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>Note that setting <code class="docutils literal notranslate"><span class="pre">CFLAGS</span></code> (etc.) does <em>not</em> affect the
flags used by the <a class="reference internal" href="../building-apps/quickstart.html#label-quickstart-building-apps"><span class="std std-ref">wrapper compiler</span></a>. In the above, example, you may
also need to add <code class="docutils literal notranslate"><span class="pre">-m64</span></code> to the <code class="docutils literal notranslate"><span class="pre">--with-wrapper-cflags</span></code>
option:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>shell$ ./configure CFLAGS=-m64 \
--with-wrapper-cflags=-m64 ...
</pre></div>
</div>
<p>Failure to do this will result in PMIx-based applications
failing to compile / link properly.</p>
<p>See the <a class="reference internal" href="../building-apps/customizing-wrappers.html#label-customizing-wrapper-compiler"><span class="std std-ref">Customizing wrapper compiler behavior</span></a> section for more
details.</p>
</div>
<p>Note that if you intend to compile PMIx with a <code class="docutils literal notranslate"><span class="pre">make</span></code> other than
the default one in your <code class="docutils literal notranslate"><span class="pre">PATH</span></code>, then you must either set the <code class="docutils literal notranslate"><span class="pre">$MAKE</span></code>
environment variable before invoking PMIx’s <code class="docutils literal notranslate"><span class="pre">configure</span></code> script, or
pass <code class="docutils literal notranslate"><span class="pre">MAKE=your_make_prog</span></code> to configure. For example:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span>./configure<span class="w"> </span><span class="nv">MAKE</span><span class="o">=</span>/path/to/my/make<span class="w"> </span>...
</pre></div>
</div>
<p>This could be the case, for instance, if you have a shell alias for
<code class="docutils literal notranslate"><span class="pre">make</span></code>, or you always type <code class="docutils literal notranslate"><span class="pre">gmake</span></code> out of habit. Failure to tell
<code class="docutils literal notranslate"><span class="pre">configure</span></code> which non-default <code class="docutils literal notranslate"><span class="pre">make</span></code> you will use to compile PMIx
can result in undefined behavior (meaning: don’t do that).</p>
<p>Note that you may also want to ensure that the value of
<code class="docutils literal notranslate"><span class="pre">LD_LIBRARY_PATH</span></code> is set appropriately (or not at all) for your build
(or whatever environment variable is relevant for your operating
system). For example, some users have been tripped up by setting to
use a non-default C compiler via the <code class="docutils literal notranslate"><span class="pre">CC</span></code> environment variable,
but then failing to set <code class="docutils literal notranslate"><span class="pre">LD_LIBRARY_PATH</span></code> to include the directory
containing that non-default C compiler’s support libraries.
This causes PMIx’s <code class="docutils literal notranslate"><span class="pre">configure</span></code> script to fail when it tries to
compile / link / run simple C programs.</p>
</div>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="vpath-builds.html" class="btn btn-neutral float-left" title="5.4. VPATH builds" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="required-support-libraries.html" class="btn btn-neutral float-right" title="5.6. Required support libraries" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2014-2025, The OpenPMIx Community.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View File

@@ -0,0 +1,211 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.7.1. configure CLI option conventions &mdash; OpenPMIx 5.0.5 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css" />
<!--[if lt IE 9]>
<script src="../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
<script src="../../_static/jquery.js"></script>
<script src="../../_static/underscore.js"></script>
<script src="../../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../../_static/doctools.js"></script>
<script src="../../_static/sphinx_highlight.js"></script>
<script src="../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="5.7.2. Installation options" href="installation.html" />
<link rel="prev" title="5.7. configure command line options" href="index.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../../index.html" class="icon icon-home">
OpenPMIx
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../quickstart.html">1. Quick start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../getting-help.html">2. Getting help</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../release-notes/index.html">3. Release notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../exceptions.html">4. Exceptions to the PMIx Standard</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">5. Building and installing PMIx</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../quickstart.html">5.1. Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../definitions.html">5.2. Definitions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../filesystem-requirements.html">5.3. Filesystem requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="../vpath-builds.html">5.4. VPATH builds</a></li>
<li class="toctree-l2"><a class="reference internal" href="../compilers-and-flags.html">5.5. Specifying compilers and flags</a></li>
<li class="toctree-l2"><a class="reference internal" href="../required-support-libraries.html">5.6. Required support libraries</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="index.html">5.7. <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a><ul class="current">
<li class="toctree-l3 current"><a class="current reference internal" href="#">5.7.1. <code class="docutils literal notranslate"><span class="pre">configure</span></code> CLI option conventions</a></li>
<li class="toctree-l3"><a class="reference internal" href="installation.html">5.7.2. Installation options</a></li>
<li class="toctree-l3"><a class="reference internal" href="runtime.html">5.7.3. Run-time system support</a></li>
<li class="toctree-l3"><a class="reference internal" href="required-support-libraries.html">5.7.4. CLI Options for required support libraries</a></li>
<li class="toctree-l3"><a class="reference internal" href="rpath-and-runpath.html">5.7.5. Linker “rpath” and “runpath” functionality</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../configure-output-summary.html">5.8. <code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary</a></li>
<li class="toctree-l2"><a class="reference internal" href="../make-targets.html">5.9. <code class="docutils literal notranslate"><span class="pre">make</span></code> targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="../installation-location.html">5.10. Installation location</a></li>
<li class="toctree-l2"><a class="reference internal" href="../packagers.html">5.11. Advice for packagers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../how-things-work/index.html">6. How Things Work</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../release-notes.html">7. Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../history.html">8. History</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../versions.html">9. Version Numbers and Binary Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../mca.html">10. The Modular Component Architecture (MCA)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../building-apps/index.html">11. Building PMIx applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../developers/index.html">12. Developer’s guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../contributing.html">13. Contributing to OpenPMIx</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../license.html">14. License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../security.html">15. OpenPMIx Security Policy</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../news/index.html">16. News</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../man/index.html">17. OpenPMIx manual pages</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../index.html">OpenPMIx</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../index.html"><span class="section-number">5. </span>Building and installing PMIx</a></li>
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">5.7. </span><code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.7.1. </span><code class="docutils literal notranslate"><span class="pre">configure</span></code> CLI option conventions</li>
<li class="wy-breadcrumbs-aside">
<a href="../../_sources/installing-pmix/configure-cli-options/conventions.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<style>
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
</style><div class="section" id="configure-cli-option-conventions">
<span id="building-pmix-cli-options-conventions-label"></span><h1><span class="section-number">5.7.1. </span><code class="docutils literal notranslate"><span class="pre">configure</span></code> CLI option conventions<a class="headerlink" href="#configure-cli-option-conventions" title="Permalink to this heading"></a></h1>
<p><code class="docutils literal notranslate"><span class="pre">configure</span></code> will, by default, search for header files and/or
libraries for various optional features (e.g., various network
support libraries). If the relevant files are found, PMIx
will built support for that feature. If they are not found, PMIx
will skip building support for that feature.</p>
<p>However, if you specify <code class="docutils literal notranslate"><span class="pre">--with-FOO</span></code> (where <code class="docutils literal notranslate"><span class="pre">FOO</span></code> is the
corresponding CLI option name for the feature) on the <code class="docutils literal notranslate"><span class="pre">configure</span></code>
command line and PMIx is unable to find relevant support for
<code class="docutils literal notranslate"><span class="pre">FOO</span></code>, <code class="docutils literal notranslate"><span class="pre">configure</span></code> 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.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Using <code class="docutils literal notranslate"><span class="pre">--with-FOO</span></code> to force PMIx’s <code class="docutils literal notranslate"><span class="pre">configure</span></code>
script to abort it if can’t find support for a given feature
may be preferable to unexpectedly discovering at run-time
that PMIx is missing support for a critical feature.</p>
</div>
<p>Additionally, if a search directory is specified for <code class="docutils literal notranslate"><span class="pre">FOO</span></code> in the
form <code class="docutils literal notranslate"><span class="pre">--with-FOO=DIR</span></code>, PMIx will:</p>
<ol class="arabic">
<li><p>Search for <code class="docutils literal notranslate"><span class="pre">FOO</span></code>’s header files in <code class="docutils literal notranslate"><span class="pre">DIR/include</span></code>.</p></li>
<li><p>Search for <code class="docutils literal notranslate"><span class="pre">FOO</span></code>’s library files:</p>
<ol class="arabic simple">
<li><p>If <code class="docutils literal notranslate"><span class="pre">--with-FOO-libdir=LIBDIR</span></code> was specified, search in
<code class="docutils literal notranslate"><span class="pre">LIBDIR</span></code>.</p></li>
<li><p>Otherwise, search in <code class="docutils literal notranslate"><span class="pre">DIR/lib64</span></code>, and if they are not found
there, search again in <code class="docutils literal notranslate"><span class="pre">DIR/lib</span></code>.</p></li>
</ol>
</li>
<li><p>If both the relevant header files and libraries are found:</p>
<ol class="arabic">
<li><p>PMIx will build support for <code class="docutils literal notranslate"><span class="pre">FOO</span></code>.</p></li>
<li><p>If the root path where the FOO libraries are found is neither
<code class="docutils literal notranslate"><span class="pre">/usr</span></code> nor <code class="docutils literal notranslate"><span class="pre">/usr/local</span></code>, PMIx will compile itself with
RPATH flags pointing to the directory where <code class="docutils literal notranslate"><span class="pre">FOO</span></code>’s libraries
are located.</p>
<div class="admonition important">
<p class="admonition-title">Important</p>
<p>PMIx does not RPATH <code class="docutils literal notranslate"><span class="pre">/usr/lib[64]</span></code> and
<code class="docutils literal notranslate"><span class="pre">/usr/local/lib[64]</span></code> because 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.</p>
</div>
</li>
</ol>
</li>
</ol>
<div class="admonition caution">
<p class="admonition-title">Caution</p>
<p>The <code class="docutils literal notranslate"><span class="pre">--with-FOO-libdir=LIBDIR</span></code> options are not usually
needed; they are typically only needed when <code class="docutils literal notranslate"><span class="pre">FOO</span></code>’s libraries are
installed in an “unexpected” location.</p>
<p>Also note the difference between <code class="docutils literal notranslate"><span class="pre">--with-FOO=DIR</span></code> and
<code class="docutils literal notranslate"><span class="pre">--with-FOO-libdir=LIBDIR</span></code>: the former is a directory to which
suffixes such as <code class="docutils literal notranslate"><span class="pre">/include</span></code> and <code class="docutils literal notranslate"><span class="pre">/lib</span></code> are added, whereas the
latter is assumed to be a full library directory name (e.g.,
<code class="docutils literal notranslate"><span class="pre">/opt/some_library/lib</span></code>).</p>
</div>
</div>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="index.html" class="btn btn-neutral float-left" title="5.7. configure command line options" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="installation.html" class="btn btn-neutral float-right" title="5.7.2. Installation options" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2014-2025, The OpenPMIx Community.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View File

@@ -0,0 +1,163 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.7. configure command line options &mdash; OpenPMIx 5.0.5 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css" />
<!--[if lt IE 9]>
<script src="../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
<script src="../../_static/jquery.js"></script>
<script src="../../_static/underscore.js"></script>
<script src="../../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../../_static/doctools.js"></script>
<script src="../../_static/sphinx_highlight.js"></script>
<script src="../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="5.7.1. configure CLI option conventions" href="conventions.html" />
<link rel="prev" title="5.6. Required support libraries" href="../required-support-libraries.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../../index.html" class="icon icon-home">
OpenPMIx
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../quickstart.html">1. Quick start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../getting-help.html">2. Getting help</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../release-notes/index.html">3. Release notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../exceptions.html">4. Exceptions to the PMIx Standard</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">5. Building and installing PMIx</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../quickstart.html">5.1. Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../definitions.html">5.2. Definitions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../filesystem-requirements.html">5.3. Filesystem requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="../vpath-builds.html">5.4. VPATH builds</a></li>
<li class="toctree-l2"><a class="reference internal" href="../compilers-and-flags.html">5.5. Specifying compilers and flags</a></li>
<li class="toctree-l2"><a class="reference internal" href="../required-support-libraries.html">5.6. Required support libraries</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">5.7. <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a><ul>
<li class="toctree-l3"><a class="reference internal" href="conventions.html">5.7.1. <code class="docutils literal notranslate"><span class="pre">configure</span></code> CLI option conventions</a></li>
<li class="toctree-l3"><a class="reference internal" href="installation.html">5.7.2. Installation options</a></li>
<li class="toctree-l3"><a class="reference internal" href="runtime.html">5.7.3. Run-time system support</a></li>
<li class="toctree-l3"><a class="reference internal" href="required-support-libraries.html">5.7.4. CLI Options for required support libraries</a></li>
<li class="toctree-l3"><a class="reference internal" href="rpath-and-runpath.html">5.7.5. Linker “rpath” and “runpath” functionality</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../configure-output-summary.html">5.8. <code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary</a></li>
<li class="toctree-l2"><a class="reference internal" href="../make-targets.html">5.9. <code class="docutils literal notranslate"><span class="pre">make</span></code> targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="../installation-location.html">5.10. Installation location</a></li>
<li class="toctree-l2"><a class="reference internal" href="../packagers.html">5.11. Advice for packagers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../how-things-work/index.html">6. How Things Work</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../release-notes.html">7. Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../history.html">8. History</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../versions.html">9. Version Numbers and Binary Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../mca.html">10. The Modular Component Architecture (MCA)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../building-apps/index.html">11. Building PMIx applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../developers/index.html">12. Developer’s guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../contributing.html">13. Contributing to OpenPMIx</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../license.html">14. License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../security.html">15. OpenPMIx Security Policy</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../news/index.html">16. News</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../man/index.html">17. OpenPMIx manual pages</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../index.html">OpenPMIx</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../index.html"><span class="section-number">5. </span>Building and installing PMIx</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.7. </span><code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</li>
<li class="wy-breadcrumbs-aside">
<a href="../../_sources/installing-pmix/configure-cli-options/index.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<style>
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
</style><div class="section" id="configure-command-line-options">
<h1><span class="section-number">5.7. </span><code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options<a class="headerlink" href="#configure-command-line-options" title="Permalink to this heading"></a></h1>
<p>There are many available <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options; see
<code class="docutils literal notranslate"><span class="pre">./configure</span> <span class="pre">--help</span></code> for a full list.</p>
<p>Conventions for the command line options and many commonly-used
options (but not all of them!) are described in the sections listed
below.</p>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="conventions.html">5.7.1. <code class="docutils literal notranslate"><span class="pre">configure</span></code> CLI option conventions</a></li>
<li class="toctree-l1"><a class="reference internal" href="installation.html">5.7.2. Installation options</a></li>
<li class="toctree-l1"><a class="reference internal" href="runtime.html">5.7.3. Run-time system support</a></li>
<li class="toctree-l1"><a class="reference internal" href="required-support-libraries.html">5.7.4. CLI Options for required support libraries</a></li>
<li class="toctree-l1"><a class="reference internal" href="rpath-and-runpath.html">5.7.5. Linker “rpath” and “runpath” functionality</a></li>
</ul>
</div>
</div>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="../required-support-libraries.html" class="btn btn-neutral float-left" title="5.6. Required support libraries" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="conventions.html" class="btn btn-neutral float-right" title="5.7.1. configure CLI option conventions" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2014-2025, The OpenPMIx Community.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View File

@@ -0,0 +1,480 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.7.2. Installation options &mdash; OpenPMIx 5.0.5 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css" />
<!--[if lt IE 9]>
<script src="../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
<script src="../../_static/jquery.js"></script>
<script src="../../_static/underscore.js"></script>
<script src="../../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../../_static/doctools.js"></script>
<script src="../../_static/sphinx_highlight.js"></script>
<script src="../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="5.7.3. Run-time system support" href="runtime.html" />
<link rel="prev" title="5.7.1. configure CLI option conventions" href="conventions.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../../index.html" class="icon icon-home">
OpenPMIx
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../quickstart.html">1. Quick start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../getting-help.html">2. Getting help</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../release-notes/index.html">3. Release notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../exceptions.html">4. Exceptions to the PMIx Standard</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">5. Building and installing PMIx</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../quickstart.html">5.1. Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../definitions.html">5.2. Definitions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../filesystem-requirements.html">5.3. Filesystem requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="../vpath-builds.html">5.4. VPATH builds</a></li>
<li class="toctree-l2"><a class="reference internal" href="../compilers-and-flags.html">5.5. Specifying compilers and flags</a></li>
<li class="toctree-l2"><a class="reference internal" href="../required-support-libraries.html">5.6. Required support libraries</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="index.html">5.7. <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="conventions.html">5.7.1. <code class="docutils literal notranslate"><span class="pre">configure</span></code> CLI option conventions</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">5.7.2. Installation options</a></li>
<li class="toctree-l3"><a class="reference internal" href="runtime.html">5.7.3. Run-time system support</a></li>
<li class="toctree-l3"><a class="reference internal" href="required-support-libraries.html">5.7.4. CLI Options for required support libraries</a></li>
<li class="toctree-l3"><a class="reference internal" href="rpath-and-runpath.html">5.7.5. Linker “rpath” and “runpath” functionality</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../configure-output-summary.html">5.8. <code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary</a></li>
<li class="toctree-l2"><a class="reference internal" href="../make-targets.html">5.9. <code class="docutils literal notranslate"><span class="pre">make</span></code> targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="../installation-location.html">5.10. Installation location</a></li>
<li class="toctree-l2"><a class="reference internal" href="../packagers.html">5.11. Advice for packagers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../how-things-work/index.html">6. How Things Work</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../release-notes.html">7. Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../history.html">8. History</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../versions.html">9. Version Numbers and Binary Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../mca.html">10. The Modular Component Architecture (MCA)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../building-apps/index.html">11. Building PMIx applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../developers/index.html">12. Developer’s guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../contributing.html">13. Contributing to OpenPMIx</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../license.html">14. License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../security.html">15. OpenPMIx Security Policy</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../news/index.html">16. News</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../man/index.html">17. OpenPMIx manual pages</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../index.html">OpenPMIx</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../index.html"><span class="section-number">5. </span>Building and installing PMIx</a></li>
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">5.7. </span><code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.7.2. </span>Installation options</li>
<li class="wy-breadcrumbs-aside">
<a href="../../_sources/installing-pmix/configure-cli-options/installation.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<style>
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
</style><div class="section" id="installation-options">
<span id="label-building-installation-cli-options"></span><h1><span class="section-number">5.7.2. </span>Installation options<a class="headerlink" href="#installation-options" title="Permalink to this heading"></a></h1>
<p>The following are general installation command line options that can
be used with <code class="docutils literal notranslate"><span class="pre">configure</span></code>:</p>
<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">--prefix=DIR</span></code>:
Install PMIx into the base directory named <code class="docutils literal notranslate"><span class="pre">DIR</span></code>. Hence, PMIx
will place its executables in <code class="docutils literal notranslate"><span class="pre">DIR/bin</span></code>, its header files in
<code class="docutils literal notranslate"><span class="pre">DIR/include</span></code>, its libraries in <code class="docutils literal notranslate"><span class="pre">DIR/lib</span></code>, etc.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Also see the section on <a class="reference internal" href="../installation-location.html#building-pmix-installation-location-label"><span class="std std-ref">installation location</span></a> for more
information on the installation prefix.</p>
</div>
</li>
<li><p><code class="docutils literal notranslate"><span class="pre">--disable-shared</span></code>: By default, PMIx builds a
shared library, and all components are included as part of those
shared library. This switch disables this default; it is really
only useful when used with <code class="docutils literal notranslate"><span class="pre">--enable-static</span></code>. Specifically, this
option does <em>not</em> imply <code class="docutils literal notranslate"><span class="pre">--enable-static</span></code>; enabling static
libraries and disabling shared libraries are two independent
options.</p>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
<p><a class="reference internal" href="../packagers.html#label-install-packagers-dso-or-not"><span class="std std-ref">See this section</span></a> for
advice to packagers about this CLI option.</p>
</div>
</li>
<li><p><code class="docutils literal notranslate"><span class="pre">--enable-static</span></code>:
Build PMIx as a static library, and statically link in
all components. Note that this option does <em>not</em> imply
<code class="docutils literal notranslate"><span class="pre">--disable-shared</span></code>; enabling static libraries and disabling shared
libraries are two independent options.</p>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
<p><a class="reference internal" href="../packagers.html#label-install-packagers-dso-or-not"><span class="std std-ref">See this section</span></a> for
advice to packagers about this CLI option.</p>
</div>
</li>
<li><p><code class="docutils literal notranslate"><span class="pre">--disable-wrapper-runpath</span></code> / <code class="docutils literal notranslate"><span class="pre">--disable-wrapper-rpath</span></code>: By
default, the wrapper compiler (<code class="docutils literal notranslate"><span class="pre">pmixcc</span></code>) will explicitly add
“runpath” and “rpath” linker flags when linking user executables on
systems that support them. That is, the created executables will
include a filesystem path reference to the location of PMIx’s
libraries in the application executable itself. This means that the
user does not have to set <code class="docutils literal notranslate"><span class="pre">LD_LIBRARY_PATH</span></code> to find PMIx’s
libraries, which can be helpful if they are installed in a location
that the run-time linker does not search by default.</p>
<p>Using the <code class="docutils literal notranslate"><span class="pre">--disable-wrapper-r*path</span></code> options will prevent the
wrappers from explicitly adding one or both of these linker flags.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>By default, the wrapper compiler prefers “runpath”
behavior over “rpath” behavior.</p>
<ul class="simple">
<li><p>Using <code class="docutils literal notranslate"><span class="pre">--disable-wrapper-runpath</span></code> alters this
preference: explicit “runpath” linker flags will not be
added by the wrapper. However, “rpath” flags may still
be added, if the platform supports them.</p></li>
<li><p>Using both <code class="docutils literal notranslate"><span class="pre">--disable-wrapper-runpath</span></code> <em>and</em>
<code class="docutils literal notranslate"><span class="pre">--disable-wrapper-rpath</span></code> will prevent the wrapper
from explicitly adding “runpath” <em>and</em> “rpath” linker
flags.</p></li>
</ul>
</div>
<div class="admonition caution">
<p class="admonition-title">Caution</p>
<p>Even if the wrapper compiler does not explicitly add
“runpath” or “rpath” linker flags, the local compiler,
linker, and/or operating system may implicitly enable
either “runpath” or “rpath” behavior when linking.</p>
</div>
<div class="admonition important">
<p class="admonition-title">Important</p>
<p>The <code class="docutils literal notranslate"><span class="pre">--disable-wrapper-runpath</span></code> and
<code class="docutils literal notranslate"><span class="pre">--disable-wrapper-rpath</span></code> CLI options <em>only</em> affect
the flags that the wrapper compiler uses when
building PMIx-based applications. These options do
not affect how PMIx is built (to
include the wrapper compiler itself).</p>
<p>See the <a class="reference internal" href="rpath-and-runpath.html#building-pmix-cli-options-rpath-and-runpath-label"><span class="std std-ref">Linker “rpath” and “runpath”
functionality</span></a>
section for details on how “rpath” and “runpath”
affect the building and linking of PMIx itself.</p>
</div>
<p>When either of “runpath” or “rpath” behaviors are enabled, the
applications will have the filesystem path location of the PMIx
library hard-coded into a PMIx-based application. The
most notable differences between “runpath” and “rpath” behavior are:</p>
<ul>
<li><p>runpath</p>
<blockquote>
<div><ol class="arabic simple">
<li><p>The run-time linker first searches the paths in the
<code class="docutils literal notranslate"><span class="pre">LD_LIBRARY_PATH</span></code> environment variable for the relevant PMIx
library.</p></li>
<li><p>If not found there, the run-time linker falls back to checking
the hard-coded location for the relevant PMIx
library.</p></li>
</ol>
</div></blockquote>
</li>
<li><p>rpath</p>
<blockquote>
<div><ol class="arabic simple">
<li><p>The run-time linker first checks the hard-coded location for
the relevant PMIx library.</p></li>
<li><p>If not found there, the run-time linker falls back to
searching the paths in the <code class="docutils literal notranslate"><span class="pre">LD_LIBRARY_PATH</span></code> environment
variable for the relevant PMIx library.</p></li>
</ol>
</div></blockquote>
</li>
</ul>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>There are other, subtle differences between “runpath”
and “rpath” which are out of scope for this
documentation. You may wish to consult other sources
for more information.</p>
<p>For example, a decent set of explanations can be found
in the slides for a Linux course entitled “Building and
Using Shared Libraries on Linux // <a class="reference external" href="https://man7.org/training/download/shlib_dynlinker_slides.pdf">Shared Libraries:
The Dynamic Linker</a>”.</p>
</div>
<p>For example, consider that you install PMIx vA.B.0 and
compile/link your PMIx-based application against it. Later, you
install PMIx vA.B.1 to a different installation prefix (e.g.,
<code class="docutils literal notranslate"><span class="pre">/opt/pmix/A.B.1</span></code> vs. <code class="docutils literal notranslate"><span class="pre">/opt/pmix/A.B.0</span></code>), and you leave
the old installation intact.</p>
<p>In the runpath case, you can set the <code class="docutils literal notranslate"><span class="pre">LD_LIBRARY_PATH</span></code> environment
variable to point to the A.B.1 installation, and then your
application will use those libraries, since the runtime will search
the paths in <code class="docutils literal notranslate"><span class="pre">LD_LIBRARY_PATH</span></code> first.</p>
<p>In the rpath case, since the run-time linker searches the
<code class="docutils literal notranslate"><span class="pre">/opt/pmix/A.B.0</span></code> location that is hard-coded in your
application first, your application will use the libraries from your
A.B.0 installation (regardless of the value of the
<code class="docutils literal notranslate"><span class="pre">LD_LIBRARY_PATH</span></code> environment variable).</p>
<p>Note that in both cases, however, if you remove the original A.B.0
installation and set <code class="docutils literal notranslate"><span class="pre">LD_LIBRARY_PATH</span></code> to point to the A.B.1
installation, your application will use the A.B.1 libraries.</p>
<p>As noted above, both runpath/rpath behaviors can be disabled via
<code class="docutils literal notranslate"><span class="pre">--disable-wrapper-rpath</span></code>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>You can also <a class="reference internal" href="../../building-apps/customizing-wrappers.html#label-customizing-wrapper-compiler"><span class="std std-ref">customize the compiler/linker flags
that are used by the wrapper compilers</span></a> to build PMIx-based
applications.</p>
</div>
</li>
<li><p><code class="docutils literal notranslate"><span class="pre">--enable-dlopen</span></code>: Enable PMIx to load components as
standalone Dynamic Shared Objects (DSOs) at run-time. This option
is enabled by default.</p>
<p>The opposite of this option, <code class="docutils literal notranslate"><span class="pre">--disable-dlopen</span></code>, causes the following:</p>
<ol class="arabic simple">
<li><p>PMIx will not attempt to open any DSOs at run-time.</p></li>
<li><p>configure behaves as if the <code class="docutils literal notranslate"><span class="pre">--enable-mca-static</span></code> argument was set.</p></li>
<li><p>configure will ignore the <code class="docutils literal notranslate"><span class="pre">--enable-mca-dso</span></code> argument.</p></li>
</ol>
<p>See the description of <code class="docutils literal notranslate"><span class="pre">--enable-mca-static</span></code> / <code class="docutils literal notranslate"><span class="pre">--enable-mca-dso</span></code> for
more information.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>This option does <em>not</em> change how PMIx’s libraries
(<code class="docutils literal notranslate"><span class="pre">libpmix</span></code>, for example) will be built. You can change
whether PMIx builds static or dynamic libraries via
the <code class="docutils literal notranslate"><span class="pre">--enable|disable-static</span></code> and
<code class="docutils literal notranslate"><span class="pre">--enable|disable-shared</span></code> arguments.</p>
</div>
</li>
</ul>
<ul id="building-pmix-cli-options-mca-dso-label">
<li><p><code class="docutils literal notranslate"><span class="pre">--enable-mca-dso[=LIST]</span></code> and <code class="docutils literal notranslate"><span class="pre">--enable-mca-static[=LIST]</span></code>
These two options, along with <code class="docutils literal notranslate"><span class="pre">--enable-mca-no-build</span></code>, govern the
behavior of how PMIx’s frameworks and components are built.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">--enable-mca-dso</span></code> option specifies which frameworks and/or
components are built as Dynamic Shared Objects (DSOs).
Specifically, DSOs are built as “plugins” outside of the core PMIx
library, and are loaded by PMIx at run time.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">--enable-mca-static</span></code> option specifies which frameworks and/or
components are built as part of the core PMIx library (i.e.,
they are not built as DSOs, and therefore do not need to be
separately discovered and opened at run time).</p>
<p>Both options can be used one of two ways:</p>
<ol class="arabic simple">
<li><p><code class="docutils literal notranslate"><span class="pre">--enable-mca-OPTION</span></code> (with no value)</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">--enable-mca-OPTION=LIST</span></code></p></li>
</ol>
<p><code class="docutils literal notranslate"><span class="pre">--enable-mca-OPTION=no</span></code> or <code class="docutils literal notranslate"><span class="pre">--disable-mca-OPTION</span></code> are both legal
options, but have no impact on the selection logic described below.
Only affirmative options change the selection process.</p>
<p><code class="docutils literal notranslate"><span class="pre">LIST</span></code> is a comma-delimited list of PMIx frameworks and/or
framework+component tuples. Examples:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">ptl</span></code> specifies the entire PTL framework</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">ptl-client</span></code> specifies just the CLIENT component in the PTL framework</p></li>
<li><dl class="simple">
<dt><code class="docutils literal notranslate"><span class="pre">plog,ptl-client</span></code> specifies the entire PLOG framework and the CLIENT</dt><dd><p>component in the PTL framework</p>
</dd>
</dl>
</li>
</ul>
<p>PMIx’s <code class="docutils literal notranslate"><span class="pre">configure</span></code> script uses the values of these two options
when evaluating each component to determine how it should be built
by evaluating these conditions in order:</p>
<ol class="arabic simple">
<li><p>If an individual component’s build behavior has been specified
via these two options, <code class="docutils literal notranslate"><span class="pre">configure</span></code> uses that behavior.</p></li>
<li><p>Otherwise, if the component is in a framework whose build
behavior has been specified via these two options, <code class="docutils literal notranslate"><span class="pre">configure</span></code>
uses that behavior.</p></li>
<li><p>Otherwise, <code class="docutils literal notranslate"><span class="pre">configure</span></code> uses the global default build behavior.</p></li>
</ol>
<p>At each level of the selection process, if the component is
specified to be built as both a static and dso component, the static
option will win.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>As of PMIx v4.2.3, <code class="docutils literal notranslate"><span class="pre">configure</span></code>’s global default
is to build all components as static (i.e., part of the
PMIx core library, not as DSOs). Prior to PMIx
4.2.3, the global default behavior was to build
most components as DSOs.</p>
</div>
<div class="admonition important">
<p class="admonition-title">Important</p>
<p>If the <code class="docutils literal notranslate"><span class="pre">--disable-dlopen</span></code> option is specified, then
PMIx will not be able to search for DSOs at run
time, and the value of the <code class="docutils literal notranslate"><span class="pre">--enable-mca-dso</span></code>
option will be silently ignored.</p>
</div>
<p>Some examples:</p>
<ol class="arabic">
<li><p>Default to building all components as static (i.e., as part of
the PMIx core libraries – no DSOs):</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>shell$ ./configure
</pre></div>
</div>
</li>
<li><p>Build all components as static, except the CLIENT PTL, which will be
built as a DSO:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>shell$ ./configure --enable-mca-dso=ptl-client
</pre></div>
</div>
</li>
<li><p>Build all components as static, except all PTL components, which
will be built as DSOs:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>shell$ ./configure --enable-mca-dso=ptl
</pre></div>
</div>
</li>
<li><p>Build all components as static, except all PLOG components and the
CLIENT PTL component, which will be built as DSOs:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>shell$ ./configure --enable-mca-dso=plog,ptl-client
</pre></div>
</div>
</li>
<li><p>Build all PTLs as static, except the CLIENT PTL, as the
<code class="docutils literal notranslate"><span class="pre">&lt;framework-component&gt;</span></code> option is more specific than the
<code class="docutils literal notranslate"><span class="pre">&lt;framework&gt;</span></code> option:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>shell$ ./configure --enable-mca-dso=ptl --enable-mca-static=ptl-client
</pre></div>
</div>
</li>
<li><p>Build the CLIENT PTL as static, because the static option at the
same level always wins:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>shell$ ./configure --enable-mca-dso=ptl-client --enable-mca-static=ptl-client
</pre></div>
</div>
</li>
</ol>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
<p><a class="reference internal" href="../packagers.html#label-install-packagers-dso-or-not"><span class="std std-ref">See this section</span></a> for
advice to packagers about this CLI option.</p>
</div>
</li>
<li><p><code class="docutils literal notranslate"><span class="pre">--enable-mca-no-build=LIST</span></code>: Comma-separated list of
<code class="docutils literal notranslate"><span class="pre">&lt;framework&gt;-&lt;component&gt;</span></code> pairs that will not be built. For
example, <code class="docutils literal notranslate"><span class="pre">--enable-mca-no-build=plog-syslog,psensor-file</span></code> will
disable building both the <code class="docutils literal notranslate"><span class="pre">syslog</span></code> PLOG component and the
<code class="docutils literal notranslate"><span class="pre">file</span></code> PSENSOR component.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>This option is typically only useful for components that
would otherwise be built. For example, if you are on a
machine without OmniPath support, it is not necessary to
specify:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>shell$ ./configure --enable-mca-no-build=pnet-opa
</pre></div>
</div>
<p>because the <code class="docutils literal notranslate"><span class="pre">configure</span></code> script will naturally see that
you do not have support for OmniPath and will
automatically skip the <code class="docutils literal notranslate"><span class="pre">opa</span></code> PNET component.</p>
</div>
</li>
<li><p><code class="docutils literal notranslate"><span class="pre">--disable-show-load-errors-by-default</span></code>:
Set the default value of the <code class="docutils literal notranslate"><span class="pre">mca_base_component_show_load_errors</span></code>
MCA variable: the <code class="docutils literal notranslate"><span class="pre">--enable</span></code> form of this option sets the MCA
variable to true, the <code class="docutils literal notranslate"><span class="pre">--disable</span></code> form sets the MCA variable to
false. The MCA <code class="docutils literal notranslate"><span class="pre">mca_base_component_show_load_errors</span></code> variable can
still be overridden at run time via the usual MCA-variable-setting
mechanisms; this configure option simply sets the default value.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">--disable</span></code> form of this option is intended for PMIx
packagers who tend to enable support for many different types of
networks and systems in their packages. For example, consider a
packager who includes support for both the FOO and BAR networks in
their PMIx package, both of which require support libraries
(<code class="docutils literal notranslate"><span class="pre">libFOO.so</span></code> and <code class="docutils literal notranslate"><span class="pre">libBAR.so</span></code>). If an end user only has BAR
hardware, they likely only have <code class="docutils literal notranslate"><span class="pre">libBAR.so</span></code> available on their
systems – not <code class="docutils literal notranslate"><span class="pre">libFOO.so</span></code>. Disabling load errors by default will
prevent the user from seeing potentially confusing warnings about
the FOO components failing to load because <code class="docutils literal notranslate"><span class="pre">libFOO.so</span></code> is not
available on their systems.</p>
<p>Conversely, system administrators tend to build an PMIx that is
targeted at their specific environment, and contains few (if any)
components that are not needed. In such cases, they might want
their users to be warned that the FOO network components failed to
load (e.g., if <code class="docutils literal notranslate"><span class="pre">libFOO.so</span></code> was mistakenly unavailable), because PMIx
may otherwise silently fail to provide support for that network.</p>
</li>
<li><p><code class="docutils literal notranslate"><span class="pre">--with-platform=FILE</span></code>:
Load configure options for the build from <code class="docutils literal notranslate"><span class="pre">FILE</span></code>. Options on the
command line that are not in <code class="docutils literal notranslate"><span class="pre">FILE</span></code> are also used. Options on the
command line and in <code class="docutils literal notranslate"><span class="pre">FILE</span></code> are replaced by what is in <code class="docutils literal notranslate"><span class="pre">FILE</span></code>.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">--with-libpmix-name=STRING</span></code>:
Replace <code class="docutils literal notranslate"><span class="pre">libpmix.*</span></code> with <code class="docutils literal notranslate"><span class="pre">libSTRING.*</span></code>. This is provided as a convenience mechanism
for third-party packagers of PMIx that might want to rename
these libraries for their own purposes. This option is <em>not</em>
intended for typical users of PMIx.</p></li>
</ul>
</div>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="conventions.html" class="btn btn-neutral float-left" title="5.7.1. configure CLI option conventions" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="runtime.html" class="btn btn-neutral float-right" title="5.7.3. Run-time system support" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2014-2025, The OpenPMIx Community.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View File

@@ -0,0 +1,185 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.7.4. CLI Options for required support libraries &mdash; OpenPMIx 5.0.5 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css" />
<!--[if lt IE 9]>
<script src="../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
<script src="../../_static/jquery.js"></script>
<script src="../../_static/underscore.js"></script>
<script src="../../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../../_static/doctools.js"></script>
<script src="../../_static/sphinx_highlight.js"></script>
<script src="../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="5.7.5. Linker “rpath” and “runpath” functionality" href="rpath-and-runpath.html" />
<link rel="prev" title="5.7.3. Run-time system support" href="runtime.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../../index.html" class="icon icon-home">
OpenPMIx
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../quickstart.html">1. Quick start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../getting-help.html">2. Getting help</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../release-notes/index.html">3. Release notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../exceptions.html">4. Exceptions to the PMIx Standard</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">5. Building and installing PMIx</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../quickstart.html">5.1. Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../definitions.html">5.2. Definitions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../filesystem-requirements.html">5.3. Filesystem requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="../vpath-builds.html">5.4. VPATH builds</a></li>
<li class="toctree-l2"><a class="reference internal" href="../compilers-and-flags.html">5.5. Specifying compilers and flags</a></li>
<li class="toctree-l2"><a class="reference internal" href="../required-support-libraries.html">5.6. Required support libraries</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="index.html">5.7. <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="conventions.html">5.7.1. <code class="docutils literal notranslate"><span class="pre">configure</span></code> CLI option conventions</a></li>
<li class="toctree-l3"><a class="reference internal" href="installation.html">5.7.2. Installation options</a></li>
<li class="toctree-l3"><a class="reference internal" href="runtime.html">5.7.3. Run-time system support</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">5.7.4. CLI Options for required support libraries</a></li>
<li class="toctree-l3"><a class="reference internal" href="rpath-and-runpath.html">5.7.5. Linker “rpath” and “runpath” functionality</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../configure-output-summary.html">5.8. <code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary</a></li>
<li class="toctree-l2"><a class="reference internal" href="../make-targets.html">5.9. <code class="docutils literal notranslate"><span class="pre">make</span></code> targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="../installation-location.html">5.10. Installation location</a></li>
<li class="toctree-l2"><a class="reference internal" href="../packagers.html">5.11. Advice for packagers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../how-things-work/index.html">6. How Things Work</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../release-notes.html">7. Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../history.html">8. History</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../versions.html">9. Version Numbers and Binary Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../mca.html">10. The Modular Component Architecture (MCA)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../building-apps/index.html">11. Building PMIx applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../developers/index.html">12. Developer’s guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../contributing.html">13. Contributing to OpenPMIx</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../license.html">14. License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../security.html">15. OpenPMIx Security Policy</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../news/index.html">16. News</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../man/index.html">17. OpenPMIx manual pages</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../index.html">OpenPMIx</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../index.html"><span class="section-number">5. </span>Building and installing PMIx</a></li>
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">5.7. </span><code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.7.4. </span>CLI Options for required support libraries</li>
<li class="wy-breadcrumbs-aside">
<a href="../../_sources/installing-pmix/configure-cli-options/required-support-libraries.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<style>
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
</style><div class="section" id="cli-options-for-required-support-libraries">
<span id="label-building-pmix-cli-options-required-support-libraries"></span><h1><span class="section-number">5.7.4. </span>CLI Options for required support libraries<a class="headerlink" href="#cli-options-for-required-support-libraries" title="Permalink to this heading"></a></h1>
<p>The following <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options are for PMIx’s
<a class="reference internal" href="../required-support-libraries.html#label-install-required-support-libraries"><span class="std std-ref">required support libraries</span></a></p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">--with-hwloc[=VALUE]</span></code>:</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">--with-libevent[=VALUE]</span></code>:</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">--with-libev[=VALUE]</span></code>:</p></li>
</ul>
<dl class="simple">
<dt>These options specify where to find</dt><dd><p>the headers and libraries for the <a class="reference external" href="https://www.open-mpi.org/projects/hwloc/">Hwloc</a>, <a class="reference external" href="https://libevent.org/">Libevent</a>, and <a class="reference external" href="https://metacpan.org/dist/EV/view/libev/ev.pod/">libev</a> libraries,
respectively.</p>
</dd>
</dl>
<div class="admonition note">
<p class="admonition-title">Note</p>
<dl class="simple">
<dt>Either <code class="docutils literal notranslate"><span class="pre">libevent</span></code> <em>or</em> <code class="docutils literal notranslate"><span class="pre">libev</span></code> must be provided.</dt><dd><p>PMIx’s <code class="docutils literal notranslate"><span class="pre">configure</span></code> script will error out if both
are specified. In the absence of user direction,
PMIx will default to using <code class="docutils literal notranslate"><span class="pre">libevent</span></code>.</p>
</dd>
</dl>
<p>The following <code class="docutils literal notranslate"><span class="pre">VALUE</span></code>s are permitted:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">DIR</span></code>: Specify the location of a specific installation to use.
<code class="docutils literal notranslate"><span class="pre">configure</span></code> will abort if it cannot find suitable header files
and libraries under <code class="docutils literal notranslate"><span class="pre">DIR</span></code>.</p></li>
</ul>
</div>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">--with-hwloc-libdir=LIBDIR</span></code>:</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">--with-libevent-libdir=LIBDIR</span></code>:</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">--with-libev-libdir=LIBDIR</span></code>:
<a class="reference internal" href="conventions.html#building-pmix-cli-options-conventions-label"><span class="std std-ref">See the configure CLI
options conventions</span></a>
for a description of these options.</p></li>
</ul>
</div>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="runtime.html" class="btn btn-neutral float-left" title="5.7.3. Run-time system support" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="rpath-and-runpath.html" class="btn btn-neutral float-right" title="5.7.5. Linker “rpath” and “runpath” functionality" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2014-2025, The OpenPMIx Community.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View File

@@ -0,0 +1,199 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.7.5. Linker “rpath” and “runpath” functionality &mdash; OpenPMIx 5.0.5 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css" />
<!--[if lt IE 9]>
<script src="../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
<script src="../../_static/jquery.js"></script>
<script src="../../_static/underscore.js"></script>
<script src="../../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../../_static/doctools.js"></script>
<script src="../../_static/sphinx_highlight.js"></script>
<script src="../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="5.8. configure output summary" href="../configure-output-summary.html" />
<link rel="prev" title="5.7.4. CLI Options for required support libraries" href="required-support-libraries.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../../index.html" class="icon icon-home">
OpenPMIx
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../quickstart.html">1. Quick start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../getting-help.html">2. Getting help</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../release-notes/index.html">3. Release notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../exceptions.html">4. Exceptions to the PMIx Standard</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">5. Building and installing PMIx</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../quickstart.html">5.1. Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../definitions.html">5.2. Definitions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../filesystem-requirements.html">5.3. Filesystem requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="../vpath-builds.html">5.4. VPATH builds</a></li>
<li class="toctree-l2"><a class="reference internal" href="../compilers-and-flags.html">5.5. Specifying compilers and flags</a></li>
<li class="toctree-l2"><a class="reference internal" href="../required-support-libraries.html">5.6. Required support libraries</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="index.html">5.7. <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="conventions.html">5.7.1. <code class="docutils literal notranslate"><span class="pre">configure</span></code> CLI option conventions</a></li>
<li class="toctree-l3"><a class="reference internal" href="installation.html">5.7.2. Installation options</a></li>
<li class="toctree-l3"><a class="reference internal" href="runtime.html">5.7.3. Run-time system support</a></li>
<li class="toctree-l3"><a class="reference internal" href="required-support-libraries.html">5.7.4. CLI Options for required support libraries</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">5.7.5. Linker “rpath” and “runpath” functionality</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../configure-output-summary.html">5.8. <code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary</a></li>
<li class="toctree-l2"><a class="reference internal" href="../make-targets.html">5.9. <code class="docutils literal notranslate"><span class="pre">make</span></code> targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="../installation-location.html">5.10. Installation location</a></li>
<li class="toctree-l2"><a class="reference internal" href="../packagers.html">5.11. Advice for packagers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../how-things-work/index.html">6. How Things Work</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../release-notes.html">7. Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../history.html">8. History</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../versions.html">9. Version Numbers and Binary Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../mca.html">10. The Modular Component Architecture (MCA)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../building-apps/index.html">11. Building PMIx applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../developers/index.html">12. Developer’s guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../contributing.html">13. Contributing to OpenPMIx</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../license.html">14. License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../security.html">15. OpenPMIx Security Policy</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../news/index.html">16. News</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../man/index.html">17. OpenPMIx manual pages</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../index.html">OpenPMIx</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../index.html"><span class="section-number">5. </span>Building and installing PMIx</a></li>
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">5.7. </span><code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.7.5. </span>Linker “rpath” and “runpath” functionality</li>
<li class="wy-breadcrumbs-aside">
<a href="../../_sources/installing-pmix/configure-cli-options/rpath-and-runpath.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<style>
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
</style><div class="section" id="linker-rpath-and-runpath-functionality">
<span id="building-pmix-cli-options-rpath-and-runpath-label"></span><h1><span class="section-number">5.7.5. </span>Linker “rpath” and “runpath” functionality<a class="headerlink" href="#linker-rpath-and-runpath-functionality" title="Permalink to this heading"></a></h1>
<p>PMIx v5.0.5 is composed of multiple
libraries that depend on each other.</p>
<p>When built from official distribution tarballs,
PMIx is built with the following versions of the
GNU Autotools:</p>
<ul class="simple">
<li><p>Autoconf 2.69.0</p></li>
<li><p>Automake 1.13.4</p></li>
<li><p>Libtool 2.4.2</p></li>
</ul>
<p>This set of GNU Autotools invokes the <code class="docutils literal notranslate"><span class="pre">libtool</span></code> executable to build
PMIx’s libraries and executables with the <a class="reference external" href="https://www.gnu.org/software/libtool/manual/html_node/Link-mode.html#Link-mode">-rpath CLI option</a>.</p>
<p>The behavior of <code class="docutils literal notranslate"><span class="pre">libtool</span> <span class="pre">-rpath</span> <span class="pre">...</span></code> is, unfortunately, highly
system-dependent. In conjunction with compiler-, linker-, and other
system-level settings, the end result may be to effect “rpath”
behavior, “runpath” behavior, or possibly even neither behavior.</p>
<p>Although the specific behavior of <code class="docutils literal notranslate"><span class="pre">libtool</span> <span class="pre">-rpath</span> <span class="pre">..</span></code> is outside the
scope of this documentation, you can run commands such as <code class="docutils literal notranslate"><span class="pre">readelf</span> <span class="pre">-d</span>
<span class="pre">...</span></code> to find out with which behavior your PMIx was built.</p>
<p>For example:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>shell$ ./configure --prefix=/opt/pmix/ ...
...
shell$ make -j 32 all &amp;&amp; make install
...
shell$ readelf -d /opt/pmix/lib/libmpi.so | egrep -i &#39;rpath|runpath&#39;
0x000000000000001d (RUNPATH) Library runpath: [/opt/pmix/lib]
</pre></div>
</div>
<p>The above output indicates that <code class="docutils literal notranslate"><span class="pre">libpmix.so</span></code> was built with “runpath”
support, whereas output like this:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>shell$ readelf -d /opt/pmix/lib/libpmix.so | egrep -i &#39;rpath|runpath&#39;
0x000000000000000f (RPATH) Library rpath: [/opt/pmix/lib]
</pre></div>
</div>
<p>indicates that <code class="docutils literal notranslate"><span class="pre">libpmix.so</span></code> was built with “rpath” support.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>If you want to utilize additional compiler or linker flags
(such as runpath flags) when building PMIx,
you can <a class="reference internal" href="../compilers-and-flags.html#install-configure-compilers-and-flags-label"><span class="std std-ref">specify these flags on the configure command
line</span></a>.</p>
<p>For example, if invoking <code class="docutils literal notranslate"><span class="pre">libtool</span> <span class="pre">-rpath</span> <span class="pre">...</span></code> on your
system actually effects “rpath” behavior, and you wish to
effect “runpath” behavior, you could set <code class="docutils literal notranslate"><span class="pre">LDFLAGS</span></code> when
invoking <code class="docutils literal notranslate"><span class="pre">configure</span></code>, like this:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span>./configure<span class="w"> </span><span class="nv">LDFLAGS</span><span class="o">=</span>-Wl,--enable-new-dtags<span class="w"> </span>...
</pre></div>
</div>
</div>
</div>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="required-support-libraries.html" class="btn btn-neutral float-left" title="5.7.4. CLI Options for required support libraries" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="../configure-output-summary.html" class="btn btn-neutral float-right" title="5.8. configure output summary" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2014-2025, The OpenPMIx Community.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View File

@@ -0,0 +1,187 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.7.3. Run-time system support &mdash; OpenPMIx 5.0.5 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css" />
<!--[if lt IE 9]>
<script src="../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
<script src="../../_static/jquery.js"></script>
<script src="../../_static/underscore.js"></script>
<script src="../../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../../_static/doctools.js"></script>
<script src="../../_static/sphinx_highlight.js"></script>
<script src="../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="5.7.4. CLI Options for required support libraries" href="required-support-libraries.html" />
<link rel="prev" title="5.7.2. Installation options" href="installation.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../../index.html" class="icon icon-home">
OpenPMIx
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../quickstart.html">1. Quick start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../getting-help.html">2. Getting help</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../release-notes/index.html">3. Release notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../exceptions.html">4. Exceptions to the PMIx Standard</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">5. Building and installing PMIx</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../quickstart.html">5.1. Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../definitions.html">5.2. Definitions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../filesystem-requirements.html">5.3. Filesystem requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="../vpath-builds.html">5.4. VPATH builds</a></li>
<li class="toctree-l2"><a class="reference internal" href="../compilers-and-flags.html">5.5. Specifying compilers and flags</a></li>
<li class="toctree-l2"><a class="reference internal" href="../required-support-libraries.html">5.6. Required support libraries</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="index.html">5.7. <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="conventions.html">5.7.1. <code class="docutils literal notranslate"><span class="pre">configure</span></code> CLI option conventions</a></li>
<li class="toctree-l3"><a class="reference internal" href="installation.html">5.7.2. Installation options</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">5.7.3. Run-time system support</a></li>
<li class="toctree-l3"><a class="reference internal" href="required-support-libraries.html">5.7.4. CLI Options for required support libraries</a></li>
<li class="toctree-l3"><a class="reference internal" href="rpath-and-runpath.html">5.7.5. Linker “rpath” and “runpath” functionality</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../configure-output-summary.html">5.8. <code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary</a></li>
<li class="toctree-l2"><a class="reference internal" href="../make-targets.html">5.9. <code class="docutils literal notranslate"><span class="pre">make</span></code> targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="../installation-location.html">5.10. Installation location</a></li>
<li class="toctree-l2"><a class="reference internal" href="../packagers.html">5.11. Advice for packagers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../how-things-work/index.html">6. How Things Work</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../release-notes.html">7. Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../history.html">8. History</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../versions.html">9. Version Numbers and Binary Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../mca.html">10. The Modular Component Architecture (MCA)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../building-apps/index.html">11. Building PMIx applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../developers/index.html">12. Developer’s guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../contributing.html">13. Contributing to OpenPMIx</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../license.html">14. License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../security.html">15. OpenPMIx Security Policy</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../news/index.html">16. News</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../man/index.html">17. OpenPMIx manual pages</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../index.html">OpenPMIx</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../index.html"><span class="section-number">5. </span>Building and installing PMIx</a></li>
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">5.7. </span><code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.7.3. </span>Run-time system support</li>
<li class="wy-breadcrumbs-aside">
<a href="../../_sources/installing-pmix/configure-cli-options/runtime.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<style>
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
</style><div class="section" id="run-time-system-support">
<h1><span class="section-number">5.7.3. </span>Run-time system support<a class="headerlink" href="#run-time-system-support" title="Permalink to this heading"></a></h1>
<p>The following are command line options for various runtime systems that
can be used with <code class="docutils literal notranslate"><span class="pre">configure</span></code>:</p>
<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">--with-alps</span></code>:
Force the building of for the Cray Alps run-time environment. If
Alps support cannot be found, configure will abort.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">--with-lsf=DIR</span></code>:
Specify the directory where the LSF libraries and header files are
located. This option is generally only necessary if the LSF headers
and libraries are not in default compiler/linker search paths.</p>
<p>LSF is a resource manager system, frequently used as a batch
scheduler in HPC systems.</p>
</li>
<li><p><code class="docutils literal notranslate"><span class="pre">--with-lsf-libdir=DIR</span></code>:
Look in directory for the LSF libraries. By default, Open MPI will
look in <code class="docutils literal notranslate"><span class="pre">DIR/lib</span></code> and <code class="docutils literal notranslate"><span class="pre">DIR/lib64</span></code>, which covers most cases. This
option is only needed for special configurations.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">--with-slurm</span></code>:
Force the building of Slurm scheduler support.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">--with-sge</span></code>:
Specify to build support for the Oracle Grid Engine (OGE) resource
manager and/or the Open Grid Engine. OGE support is disabled by
default; this option must be specified to build OMPI’s OGE support.</p>
<p>The Oracle Grid Engine (OGE) and open Grid Engine packages are
resource manager systems, frequently used as a batch scheduler in
HPC systems. It used to be called the “Sun Grid Engine”, which is
why the option is still named <code class="docutils literal notranslate"><span class="pre">--with-sge</span></code>.</p>
</li>
<li><p><code class="docutils literal notranslate"><span class="pre">--with-tm=DIR</span></code>:
Specify the directory where the TM libraries and header files are
located. This option is generally only necessary if the TM headers
and libraries are not in default compiler/linker search paths.</p>
<p>TM is the support library for the Torque and PBS Pro resource
manager systems, both of which are frequently used as a batch
scheduler in HPC systems.</p>
</li>
</ul>
</div>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="installation.html" class="btn btn-neutral float-left" title="5.7.2. Installation options" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="required-support-libraries.html" class="btn btn-neutral float-right" title="5.7.4. CLI Options for required support libraries" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2014-2025, The OpenPMIx Community.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View File

@@ -0,0 +1,150 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.8. configure output summary &mdash; OpenPMIx 5.0.5 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="5.9. make targets" href="make-targets.html" />
<link rel="prev" title="5.7.5. Linker “rpath” and “runpath” functionality" href="configure-cli-options/rpath-and-runpath.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
OpenPMIx
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">2. Getting help</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes/index.html">3. Release notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../exceptions.html">4. Exceptions to the PMIx Standard</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">5. Building and installing PMIx</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="quickstart.html">5.1. Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="definitions.html">5.2. Definitions</a></li>
<li class="toctree-l2"><a class="reference internal" href="filesystem-requirements.html">5.3. Filesystem requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="vpath-builds.html">5.4. VPATH builds</a></li>
<li class="toctree-l2"><a class="reference internal" href="compilers-and-flags.html">5.5. Specifying compilers and flags</a></li>
<li class="toctree-l2"><a class="reference internal" href="required-support-libraries.html">5.6. Required support libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-cli-options/index.html">5.7. <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">5.8. <code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary</a></li>
<li class="toctree-l2"><a class="reference internal" href="make-targets.html">5.9. <code class="docutils literal notranslate"><span class="pre">make</span></code> targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="installation-location.html">5.10. Installation location</a></li>
<li class="toctree-l2"><a class="reference internal" href="packagers.html">5.11. Advice for packagers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">7. Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../history.html">8. History</a></li>
<li class="toctree-l1"><a class="reference internal" href="../versions.html">9. Version Numbers and Binary Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../mca.html">10. The Modular Component Architecture (MCA)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../building-apps/index.html">11. Building PMIx applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../developers/index.html">12. Developer’s guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">13. Contributing to OpenPMIx</a></li>
<li class="toctree-l1"><a class="reference internal" href="../license.html">14. License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">15. OpenPMIx Security Policy</a></li>
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">17. OpenPMIx manual pages</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">OpenPMIx</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">5. </span>Building and installing PMIx</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.8. </span><code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/installing-pmix/configure-output-summary.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<style>
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
</style><div class="section" id="configure-output-summary">
<h1><span class="section-number">5.8. </span><code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary<a class="headerlink" href="#configure-output-summary" title="Permalink to this heading"></a></h1>
<p>At the end of <code class="docutils literal notranslate"><span class="pre">configure</span></code>, a summary of many configuration options
are shown.</p>
<p>The PMIx Team <em>highly</em> recommends examining the <code class="docutils literal notranslate"><span class="pre">configure</span></code>
summary to validate that PMIx plans to build all the features that
you expect it to build.</p>
<p>If the summary does not agree with what you think should be done, you
can look earlier in <code class="docutils literal notranslate"><span class="pre">configure</span></code>’s output to see why particular
options and behaviors were selected.</p>
</div>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="configure-cli-options/rpath-and-runpath.html" class="btn btn-neutral float-left" title="5.7.5. Linker “rpath” and “runpath” functionality" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="make-targets.html" class="btn btn-neutral float-right" title="5.9. make targets" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2014-2025, The OpenPMIx Community.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View File

@@ -0,0 +1,156 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.2. Definitions &mdash; OpenPMIx 5.0.5 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="5.3. Filesystem requirements" href="filesystem-requirements.html" />
<link rel="prev" title="5.1. Installation" href="quickstart.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
OpenPMIx
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">2. Getting help</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes/index.html">3. Release notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../exceptions.html">4. Exceptions to the PMIx Standard</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">5. Building and installing PMIx</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="quickstart.html">5.1. Installation</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">5.2. Definitions</a></li>
<li class="toctree-l2"><a class="reference internal" href="filesystem-requirements.html">5.3. Filesystem requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="vpath-builds.html">5.4. VPATH builds</a></li>
<li class="toctree-l2"><a class="reference internal" href="compilers-and-flags.html">5.5. Specifying compilers and flags</a></li>
<li class="toctree-l2"><a class="reference internal" href="required-support-libraries.html">5.6. Required support libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-cli-options/index.html">5.7. <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-output-summary.html">5.8. <code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary</a></li>
<li class="toctree-l2"><a class="reference internal" href="make-targets.html">5.9. <code class="docutils literal notranslate"><span class="pre">make</span></code> targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="installation-location.html">5.10. Installation location</a></li>
<li class="toctree-l2"><a class="reference internal" href="packagers.html">5.11. Advice for packagers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">7. Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../history.html">8. History</a></li>
<li class="toctree-l1"><a class="reference internal" href="../versions.html">9. Version Numbers and Binary Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../mca.html">10. The Modular Component Architecture (MCA)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../building-apps/index.html">11. Building PMIx applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../developers/index.html">12. Developer’s guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">13. Contributing to OpenPMIx</a></li>
<li class="toctree-l1"><a class="reference internal" href="../license.html">14. License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">15. OpenPMIx Security Policy</a></li>
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">17. OpenPMIx manual pages</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">OpenPMIx</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">5. </span>Building and installing PMIx</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.2. </span>Definitions</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/installing-pmix/definitions.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<style>
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
</style><div class="section" id="definitions">
<h1><span class="section-number">5.2. </span>Definitions<a class="headerlink" href="#definitions" title="Permalink to this heading"></a></h1>
<ul class="simple">
<li><p><strong>Source tree:</strong> The tree where the PMIx source code is located.
It is typically the result of expanding an PMIx distribution
source code bundle, such as a tarball.</p></li>
<li><p><strong>Build tree:</strong> The tree where PMIx was built. It is always
related to a specific source tree, but may actually be a different
tree (<a class="reference internal" href="vpath-builds.html#building-pmix-vpath-label"><span class="std std-ref">since PMIx supports VPATH builds</span></a>). Specifically, this is the tree
where you invoked <code class="docutils literal notranslate"><span class="pre">configure</span></code>, <code class="docutils literal notranslate"><span class="pre">make</span></code>, etc. to build and install
PMIx.</p></li>
<li><p><strong>Installation tree:</strong> The tree where PMIx was installed. It is
typically the “prefix” argument given to PMIx’s <code class="docutils literal notranslate"><span class="pre">configure</span></code>
script; it is the directory from which you run installed PMIx
executables.</p></li>
</ul>
</div>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="quickstart.html" class="btn btn-neutral float-left" title="5.1. Installation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="filesystem-requirements.html" class="btn btn-neutral float-right" title="5.3. Filesystem requirements" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2014-2025, The OpenPMIx Community.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View File

@@ -0,0 +1,162 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.3. Filesystem requirements &mdash; OpenPMIx 5.0.5 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="5.4. VPATH builds" href="vpath-builds.html" />
<link rel="prev" title="5.2. Definitions" href="definitions.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
OpenPMIx
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">2. Getting help</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes/index.html">3. Release notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../exceptions.html">4. Exceptions to the PMIx Standard</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">5. Building and installing PMIx</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="quickstart.html">5.1. Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="definitions.html">5.2. Definitions</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">5.3. Filesystem requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="vpath-builds.html">5.4. VPATH builds</a></li>
<li class="toctree-l2"><a class="reference internal" href="compilers-and-flags.html">5.5. Specifying compilers and flags</a></li>
<li class="toctree-l2"><a class="reference internal" href="required-support-libraries.html">5.6. Required support libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-cli-options/index.html">5.7. <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-output-summary.html">5.8. <code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary</a></li>
<li class="toctree-l2"><a class="reference internal" href="make-targets.html">5.9. <code class="docutils literal notranslate"><span class="pre">make</span></code> targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="installation-location.html">5.10. Installation location</a></li>
<li class="toctree-l2"><a class="reference internal" href="packagers.html">5.11. Advice for packagers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">7. Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../history.html">8. History</a></li>
<li class="toctree-l1"><a class="reference internal" href="../versions.html">9. Version Numbers and Binary Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../mca.html">10. The Modular Component Architecture (MCA)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../building-apps/index.html">11. Building PMIx applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../developers/index.html">12. Developer’s guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">13. Contributing to OpenPMIx</a></li>
<li class="toctree-l1"><a class="reference internal" href="../license.html">14. License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">15. OpenPMIx Security Policy</a></li>
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">17. OpenPMIx manual pages</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">OpenPMIx</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">5. </span>Building and installing PMIx</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.3. </span>Filesystem requirements</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/installing-pmix/filesystem-requirements.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<style>
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
</style><div class="section" id="filesystem-requirements">
<h1><span class="section-number">5.3. </span>Filesystem requirements<a class="headerlink" href="#filesystem-requirements" title="Permalink to this heading"></a></h1>
<div class="admonition warning" id="install-filesystem-timestamp-warning-label">
<p class="admonition-title">Warning</p>
<p>If you are building PMIx on a network filesystem, the
machine you on which you are building <em>must</em> be time-synchronized
with the file server.</p>
</div>
<p>Specifically: PMIx’s build system <em>requires</em> accurate filesystem
timestamps. If your <code class="docutils literal notranslate"><span class="pre">make</span></code> output shows that it ran GNU Automake,
Autoconf, and/or Libtool, or includes warning about timestamps in the
future, perhaps looking something like this:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>Warning: File `Makefile.am&#39; has modification time 3.6e+04 s in the future
</pre></div>
</div>
<p><strong>Know that this is not normal</strong>, and you likely have an invalid
build.</p>
<p>In this case, you should remove the PMIx source directory and
start over (e.g., by re-extracting the PMIx tarball): either
switch to build on a local filesystem, or ensure that the time on your
build machine is synchronized with the time on your file server before
building again.</p>
</div>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="definitions.html" class="btn btn-neutral float-left" title="5.2. Definitions" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="vpath-builds.html" class="btn btn-neutral float-right" title="5.4. VPATH builds" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2014-2025, The OpenPMIx Community.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View File

@@ -0,0 +1,156 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5. Building and installing PMIx &mdash; OpenPMIx 5.0.5 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="5.1. Installation" href="quickstart.html" />
<link rel="prev" title="4. Exceptions to the PMIx Standard" href="../exceptions.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
OpenPMIx
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">2. Getting help</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes/index.html">3. Release notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../exceptions.html">4. Exceptions to the PMIx Standard</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">5. Building and installing PMIx</a><ul>
<li class="toctree-l2"><a class="reference internal" href="quickstart.html">5.1. Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="definitions.html">5.2. Definitions</a></li>
<li class="toctree-l2"><a class="reference internal" href="filesystem-requirements.html">5.3. Filesystem requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="vpath-builds.html">5.4. VPATH builds</a></li>
<li class="toctree-l2"><a class="reference internal" href="compilers-and-flags.html">5.5. Specifying compilers and flags</a></li>
<li class="toctree-l2"><a class="reference internal" href="required-support-libraries.html">5.6. Required support libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-cli-options/index.html">5.7. <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-output-summary.html">5.8. <code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary</a></li>
<li class="toctree-l2"><a class="reference internal" href="make-targets.html">5.9. <code class="docutils literal notranslate"><span class="pre">make</span></code> targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="installation-location.html">5.10. Installation location</a></li>
<li class="toctree-l2"><a class="reference internal" href="packagers.html">5.11. Advice for packagers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">7. Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../history.html">8. History</a></li>
<li class="toctree-l1"><a class="reference internal" href="../versions.html">9. Version Numbers and Binary Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../mca.html">10. The Modular Component Architecture (MCA)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../building-apps/index.html">11. Building PMIx applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../developers/index.html">12. Developer’s guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">13. Contributing to OpenPMIx</a></li>
<li class="toctree-l1"><a class="reference internal" href="../license.html">14. License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">15. OpenPMIx Security Policy</a></li>
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">17. OpenPMIx manual pages</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">OpenPMIx</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active"><span class="section-number">5. </span>Building and installing PMIx</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/installing-pmix/index.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<style>
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
</style><div class="section" id="building-and-installing-pmix">
<span id="building-and-installing-section-label"></span><h1><span class="section-number">5. </span>Building and installing PMIx<a class="headerlink" href="#building-and-installing-pmix" title="Permalink to this heading"></a></h1>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">5.1. Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">5.2. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="filesystem-requirements.html">5.3. Filesystem requirements</a></li>
<li class="toctree-l1"><a class="reference internal" href="vpath-builds.html">5.4. VPATH builds</a></li>
<li class="toctree-l1"><a class="reference internal" href="compilers-and-flags.html">5.5. Specifying compilers and flags</a></li>
<li class="toctree-l1"><a class="reference internal" href="required-support-libraries.html">5.6. Required support libraries</a></li>
<li class="toctree-l1"><a class="reference internal" href="configure-cli-options/index.html">5.7. <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a></li>
<li class="toctree-l1"><a class="reference internal" href="configure-output-summary.html">5.8. <code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary</a></li>
<li class="toctree-l1"><a class="reference internal" href="make-targets.html">5.9. <code class="docutils literal notranslate"><span class="pre">make</span></code> targets</a></li>
<li class="toctree-l1"><a class="reference internal" href="installation-location.html">5.10. Installation location</a></li>
<li class="toctree-l1"><a class="reference internal" href="packagers.html">5.11. Advice for packagers</a></li>
</ul>
</div>
</div>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="../exceptions.html" class="btn btn-neutral float-left" title="4. Exceptions to the PMIx Standard" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="quickstart.html" class="btn btn-neutral float-right" title="5.1. Installation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2014-2025, The OpenPMIx Community.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View File

@@ -0,0 +1,376 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.10. Installation location &mdash; OpenPMIx 5.0.5 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="5.11. Advice for packagers" href="packagers.html" />
<link rel="prev" title="5.9. make targets" href="make-targets.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
OpenPMIx
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">2. Getting help</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes/index.html">3. Release notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../exceptions.html">4. Exceptions to the PMIx Standard</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">5. Building and installing PMIx</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="quickstart.html">5.1. Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="definitions.html">5.2. Definitions</a></li>
<li class="toctree-l2"><a class="reference internal" href="filesystem-requirements.html">5.3. Filesystem requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="vpath-builds.html">5.4. VPATH builds</a></li>
<li class="toctree-l2"><a class="reference internal" href="compilers-and-flags.html">5.5. Specifying compilers and flags</a></li>
<li class="toctree-l2"><a class="reference internal" href="required-support-libraries.html">5.6. Required support libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-cli-options/index.html">5.7. <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-output-summary.html">5.8. <code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary</a></li>
<li class="toctree-l2"><a class="reference internal" href="make-targets.html">5.9. <code class="docutils literal notranslate"><span class="pre">make</span></code> targets</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">5.10. Installation location</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#filesystem-types">5.10.1. Filesystem types</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#network-filesystem">5.10.1.1. Network filesystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="#local-filesystem">5.10.1.2. Local filesystem</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#installing-over-a-prior-pmix-installation">5.10.2. Installing over a prior PMIx installation</a></li>
<li class="toctree-l3"><a class="reference internal" href="#relocating-an-pmix-installation">5.10.3. Relocating an PMIx installation</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#move-an-existing-pmix-installation-to-a-new-prefix">5.10.3.1. Move an existing PMIx installation to a new prefix</a></li>
<li class="toctree-l4"><a class="reference internal" href="#stage-an-pmix-installation-in-a-temporary-location">5.10.3.2. “Stage” an PMIx installation in a temporary location</a></li>
<li class="toctree-l4"><a class="reference internal" href="#overriding-individual-directories">5.10.3.3. Overriding individual directories</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="packagers.html">5.11. Advice for packagers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">7. Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../history.html">8. History</a></li>
<li class="toctree-l1"><a class="reference internal" href="../versions.html">9. Version Numbers and Binary Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../mca.html">10. The Modular Component Architecture (MCA)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../building-apps/index.html">11. Building PMIx applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../developers/index.html">12. Developer’s guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">13. Contributing to OpenPMIx</a></li>
<li class="toctree-l1"><a class="reference internal" href="../license.html">14. License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">15. OpenPMIx Security Policy</a></li>
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">17. OpenPMIx manual pages</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">OpenPMIx</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">5. </span>Building and installing PMIx</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.10. </span>Installation location</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/installing-pmix/installation-location.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<style>
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
</style><div class="section" id="installation-location">
<span id="building-pmix-installation-location-label"></span><h1><span class="section-number">5.10. </span>Installation location<a class="headerlink" href="#installation-location" title="Permalink to this heading"></a></h1>
<p>A common environment to run PMIx is in a “Beowulf”-class or
similar cluster (e.g., a bunch of 1U servers in a bunch of racks).
Simply stated, PMIx can run on a group of servers or workstations
connected by a network.</p>
<p>This raises the question for PMIx system administrators: where to
install the PMIx binaries, header files, etc.? This discussion
mainly addresses this question for homogeneous clusters (i.e., where
all nodes and operating systems are the same), although elements of
this discussion apply to heterogeneous clusters as well.</p>
<div class="admonition important">
<p class="admonition-title">Important</p>
<p>For simplicity, the PMIx team <em>strongly</em> recommends
that you install PMIx at the same path location on all nodes in
your cluster. This <em>greatly</em> simplifies the user experience of
running jobs across multiple nodes in your cluster.</p>
<p>It is <em>possible</em> to install PMIx in unique path locations in
the different nodes in your cluster, but it is not <em>advisable</em>.</p>
</div>
<div class="section" id="filesystem-types">
<h2><span class="section-number">5.10.1. </span>Filesystem types<a class="headerlink" href="#filesystem-types" title="Permalink to this heading"></a></h2>
<p>There are two common approaches.</p>
<div class="section" id="network-filesystem">
<h3><span class="section-number">5.10.1.1. </span>Network filesystem<a class="headerlink" href="#network-filesystem" title="Permalink to this heading"></a></h3>
<p>Have a common filesystem, such as NFS, between all the machines to be
used. Install PMIx such that the installation directory is the
<em>same value</em> on each node. This will <em>greatly</em> simplify user’s shell
startup scripts (e.g., <code class="docutils literal notranslate"><span class="pre">.bashrc</span></code>, <code class="docutils literal notranslate"><span class="pre">.cshrc</span></code>, <code class="docutils literal notranslate"><span class="pre">.profile</span></code> etc.)
— the <code class="docutils literal notranslate"><span class="pre">PATH</span></code> can be set without checking which machine the
user is on. It also simplifies the system administrator’s job; when
the time comes to patch or otherwise upgrade PMIx, only one copy
needs to be modified.</p>
<p>For example, consider a cluster of four machines: <code class="docutils literal notranslate"><span class="pre">inky</span></code>,
<code class="docutils literal notranslate"><span class="pre">blinky</span></code>, <code class="docutils literal notranslate"><span class="pre">pinky</span></code>, and <code class="docutils literal notranslate"><span class="pre">clyde</span></code>.</p>
<ul>
<li><p>Install PMIx on <code class="docutils literal notranslate"><span class="pre">inky</span></code>’s local hard drive in the directory
<code class="docutils literal notranslate"><span class="pre">/opt/pmix-VERSION</span></code>. The system administrator then mounts
<code class="docutils literal notranslate"><span class="pre">inky:/opt/pmix-VERSION</span></code> on the remaining three machines, such
that <code class="docutils literal notranslate"><span class="pre">/opt/pmix-VERSION</span></code> on all machines is effectively “the
same”. That is, the following directories all contain the PMIx
installation:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">inky</span><span class="p">:</span><span class="o">/</span><span class="n">opt</span><span class="o">/</span><span class="n">pmix</span><span class="o">-</span><span class="n">VERSION</span>
<span class="n">blinky</span><span class="p">:</span><span class="o">/</span><span class="n">opt</span><span class="o">/</span><span class="n">pmix</span><span class="o">-</span><span class="n">VERSION</span>
<span class="n">pinky</span><span class="p">:</span><span class="o">/</span><span class="n">opt</span><span class="o">/</span><span class="n">pmix</span><span class="o">-</span><span class="n">VERSION</span>
<span class="n">clyde</span><span class="p">:</span><span class="o">/</span><span class="n">opt</span><span class="o">/</span><span class="n">pmix</span><span class="o">-</span><span class="n">VERSION</span>
</pre></div>
</div>
</li>
<li><p>Install PMIx on <code class="docutils literal notranslate"><span class="pre">inky</span></code>’s local hard drive in the directory
<code class="docutils literal notranslate"><span class="pre">/usr/local/pmix-VERSION</span></code>. The system administrator then
mounts <code class="docutils literal notranslate"><span class="pre">inky:/usr/local/pmix-VERSION</span></code> on <em>all four</em> machines in
some other common location, such as <code class="docutils literal notranslate"><span class="pre">/opt/pmix-VERSION</span></code> (a
symbolic link can be installed on <code class="docutils literal notranslate"><span class="pre">inky</span></code> instead of a mount point
for efficiency). This strategy is typically used for environments
where one tree is NFS exported, but another tree is typically used
for the location of actual installation. For example, the following
directories all contain the PMIx installation:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">inky</span><span class="p">:</span><span class="o">/</span><span class="n">opt</span><span class="o">/</span><span class="n">pmix</span><span class="o">-</span><span class="n">VERSION</span>
<span class="n">blinky</span><span class="p">:</span><span class="o">/</span><span class="n">opt</span><span class="o">/</span><span class="n">pmix</span><span class="o">-</span><span class="n">VERSION</span>
<span class="n">pinky</span><span class="p">:</span><span class="o">/</span><span class="n">opt</span><span class="o">/</span><span class="n">pmix</span><span class="o">-</span><span class="n">VERSION</span>
<span class="n">clyde</span><span class="p">:</span><span class="o">/</span><span class="n">opt</span><span class="o">/</span><span class="n">pmix</span><span class="o">-</span><span class="n">VERSION</span>
</pre></div>
</div>
<p>Notice that there are the same four directories as the previous
example, but on <code class="docutils literal notranslate"><span class="pre">inky</span></code>, the directory is <em>actually</em> located in
<code class="docutils literal notranslate"><span class="pre">/usr/local/pmix-VERSION</span></code>.</p>
</li>
</ul>
<p>There is a bit of a disadvantage in this approach; each of the remote
nodes have to incur NFS (or whatever filesystem is used) delays to
access the PMIx directory tree. However, both the administration
ease and low cost (relatively speaking) of using a networked file
system usually greatly outweighs the cost.</p>
</div>
<div class="section" id="local-filesystem">
<h3><span class="section-number">5.10.1.2. </span>Local filesystem<a class="headerlink" href="#local-filesystem" title="Permalink to this heading"></a></h3>
<p>If you are concerned with networked filesystem costs of accessing the
PMIx binaries, you can install PMIx on the local hard drive of
each node in your system. Again, it is <em>highly</em> advisable to install
PMIx in the <em>same</em> directory on each node so that each user’s
<code class="docutils literal notranslate"><span class="pre">PATH</span></code> can be set to the same value, regardless of the node that a
user has logged on to.</p>
<p>This approach will save some network latency of accessing the PMIx
binaries, but is typically only used where users are very concerned
about squeezing every single cycle out of their machines, or are
running at extreme scale where a networked filesystem may get
overwhelmed by filesystem requests for PMIx binaries when running
very large parallel jobs.</p>
</div>
</div>
<div class="section" id="installing-over-a-prior-pmix-installation">
<span id="building-pmix-install-overwrite-label"></span><h2><span class="section-number">5.10.2. </span>Installing over a prior PMIx installation<a class="headerlink" href="#installing-over-a-prior-pmix-installation" title="Permalink to this heading"></a></h2>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>The PMIx team does not recommend installing a new
version of PMIx over an existing / older installation of PMIx.</p>
</div>
<p>In its default configuration, an PMIx installation consists of
several shared libraries, header files, executables, and plugins
(dynamic shared objects — DSOs). These installation files act
together as a single entity. The specific filenames and
contents of these files are subject to change between different
versions of PMIx.</p>
<div class="admonition important">
<p class="admonition-title">Important</p>
<p>Installing one version of PMIx does <em>not</em> uninstall
another version.</p>
</div>
<p>If you install a new version of PMIx over an older version, this
may not overwrite all the files from the older version. Hence, you
may end up with an incompatible muddle of files from two different
installations — which can cause problems.</p>
<p>The PMIx team recommends one of the following methods for
upgrading your PMIx installation:</p>
<ul class="simple">
<li><p>Install newer versions of PMIx into a different directory. For
example, install into <code class="docutils literal notranslate"><span class="pre">/opt/pmix-a.b.c</span></code> and
<code class="docutils literal notranslate"><span class="pre">/opt/pmix-x.y.z</span></code> for versions a.b.c and x.y.z, respectively.</p></li>
<li><p>Completely uninstall the old version of PMIx before installing
the new version. The <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">uninstall</span></code> process from PMIx a.b.c
build tree should completely uninstall that version from the
installation tree, making it safe to install a new version (e.g.,
version x.y.z) into the same installation tree.</p></li>
<li><p>Remove the old installation directory entirely and then install the
new version. For example <code class="docutils literal notranslate"><span class="pre">rm</span> <span class="pre">-rf</span> <span class="pre">/opt/pmix</span></code> <em>(assuming that
there is nothing else of value in this tree!)</em> The installation of
PMIx x.y.z will safely re-create the <code class="docutils literal notranslate"><span class="pre">/opt/pmix</span></code> tree.
This method is preferable if you no longer have the source and build
trees to PMIx a.b.c available from which to <code class="docutils literal notranslate"><span class="pre">make</span>
<span class="pre">uninstall</span></code>.</p></li>
<li><p>Go into the PMIx a.b.c installation directory and manually
remove all old PMIx files. Then install PMIx x.y.z into the
same installation directory. This can be a somewhat painful,
annoying, and error-prone process. <em>We do not recommend it.</em>
Indeed, if you no longer have access to the original PMIx a.b.c
source and build trees, it may be far simpler to download PMIx
version a.b.c again from the PMIx web site, configure it with
the same installation prefix, and then run <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">uninstall</span></code>. Or
use one of the other methods, above.</p></li>
</ul>
</div>
<div class="section" id="relocating-an-pmix-installation">
<h2><span class="section-number">5.10.3. </span>Relocating an PMIx installation<a class="headerlink" href="#relocating-an-pmix-installation" title="Permalink to this heading"></a></h2>
<p>It can be desirable to initially install PMIx to one location
(e.g., <code class="docutils literal notranslate"><span class="pre">/path/to/pmix</span></code>) and then later move it to another
location (e.g., <code class="docutils literal notranslate"><span class="pre">/opt/myproduct/bundled-pmix-a.b.c</span></code>).</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>PMIx hard-codes some directory paths in its executables
based on installation paths specified by the <code class="docutils literal notranslate"><span class="pre">configure</span></code>
script. For example, if you configure with an installation
prefix of <code class="docutils literal notranslate"><span class="pre">/opt/pmix/</span></code>, PMIx encodes in its
executables that it should be able to find its help files in
<code class="docutils literal notranslate"><span class="pre">/opt/pmix/share/pmix</span></code>.</p>
</div>
<p>The “installdirs” functionality in PMIx lets you change any of
these hard-coded directory paths at run time (<em>assuming</em> that you have
already adjusted your <code class="docutils literal notranslate"><span class="pre">PATH</span></code> and/or <code class="docutils literal notranslate"><span class="pre">LD_LIBRARY_PATH</span></code> environment
variables to the new location where PMIx now resides).</p>
<p>There are three methods.</p>
<div class="section" id="move-an-existing-pmix-installation-to-a-new-prefix">
<h3><span class="section-number">5.10.3.1. </span>Move an existing PMIx installation to a new prefix<a class="headerlink" href="#move-an-existing-pmix-installation-to-a-new-prefix" title="Permalink to this heading"></a></h3>
<p>Set the <code class="docutils literal notranslate"><span class="pre">PMIX_PREFIX</span></code> environment variable before launching a
PMIx-based application. For example, if PMIx had initially been installed to
<code class="docutils literal notranslate"><span class="pre">/opt/pmix</span></code> and the entire <code class="docutils literal notranslate"><span class="pre">pmix</span></code> tree was later moved to
<code class="docutils literal notranslate"><span class="pre">/home/pmix</span></code>, setting <code class="docutils literal notranslate"><span class="pre">PMIX_PREFIX</span></code> to <code class="docutils literal notranslate"><span class="pre">/home/pmix</span></code> will
enable PMIx to function properly.</p>
</div>
<div class="section" id="stage-an-pmix-installation-in-a-temporary-location">
<h3><span class="section-number">5.10.3.2. </span>“Stage” an PMIx installation in a temporary location<a class="headerlink" href="#stage-an-pmix-installation-in-a-temporary-location" title="Permalink to this heading"></a></h3>
<p>When <em>creating</em> self-contained installation packages, systems such as
RPM install PMIx into temporary locations. The package system
then bundles up everything under the temporary location into a package
that can be installed into its real location later. For example, when
<em>creating</em> an RPM that will be installed to <code class="docutils literal notranslate"><span class="pre">/opt/pmix</span></code>, the RPM
system will transparently prepend a “destination directory” (or
“destdir”) to the installation directory. As such, PMIx will
think that it is installed in <code class="docutils literal notranslate"><span class="pre">/opt/pmix</span></code>, but it is actually
temporarily installed in (for example)
<code class="docutils literal notranslate"><span class="pre">/var/rpm/build.1234/opt/pmix</span></code>. If it is necessary to <em>use</em> PMIx
while it is installed in this staging area, the <code class="docutils literal notranslate"><span class="pre">PMIX_DESTDIR</span></code>
environment variable can be used; setting <code class="docutils literal notranslate"><span class="pre">PMIX_DESTDIR</span></code> to
<code class="docutils literal notranslate"><span class="pre">/var/rpm/build.1234</span></code> will automatically prefix every directory such
that PMIx can function properly.</p>
</div>
<div class="section" id="overriding-individual-directories">
<h3><span class="section-number">5.10.3.3. </span>Overriding individual directories<a class="headerlink" href="#overriding-individual-directories" title="Permalink to this heading"></a></h3>
<p>PMIx uses the GNU-specified directories (per Autoconf/Automake),
and can be overridden by setting environment variables directly
related to their common names. The list of environment variables that
can be used is:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">PMIX_PREFIX</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">PMIX_EXEC_PREFIX</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">PMIX_BINDIR</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">PMIX_SBINDIR</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">PMIX_LIBEXECDIR</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">PMIX_DATAROOTDIR</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">PMIX_DATADIR</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">PMIX_SYSCONFDIR</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">PMIX_SHAREDSTATEDIR</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">PMIX_LOCALSTATEDIR</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">PMIX_LIBDIR</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">PMIX_INCLUDEDIR</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">PMIX_INFODIR</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">PMIX_MANDIR</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">PMIX_PKGDATADIR</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">PMIX_PKGLIBDIR</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">PMIX_PKGINCLUDEDIR</span></code></p></li>
</ul>
<p>Note that not all of the directories listed above are used by PMIx;
they are listed here in entirety for completeness.</p>
<p>Also note that several directories listed above are defined in terms
of other directories. For example, the <code class="docutils literal notranslate"><span class="pre">$bindir</span></code> is defined by
default as <code class="docutils literal notranslate"><span class="pre">$prefix/bin</span></code>. Hence, overriding the <code class="docutils literal notranslate"><span class="pre">$prefix</span></code> (via
<code class="docutils literal notranslate"><span class="pre">PMIX_PREFIX</span></code>) will automatically change the first part of the
<code class="docutils literal notranslate"><span class="pre">$bindir</span></code> (which is how method 1 described above works).
Alternatively, <code class="docutils literal notranslate"><span class="pre">PMIX_BINDIR</span></code> can be set to an absolute value that
ignores <code class="docutils literal notranslate"><span class="pre">$prefix</span></code> altogether.</p>
</div>
</div>
</div>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="make-targets.html" class="btn btn-neutral float-left" title="5.9. make targets" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="packagers.html" class="btn btn-neutral float-right" title="5.11. Advice for packagers" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2014-2025, The OpenPMIx Community.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View File

@@ -0,0 +1,152 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.9. make targets &mdash; OpenPMIx 5.0.5 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="5.10. Installation location" href="installation-location.html" />
<link rel="prev" title="5.8. configure output summary" href="configure-output-summary.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
OpenPMIx
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">2. Getting help</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes/index.html">3. Release notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../exceptions.html">4. Exceptions to the PMIx Standard</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">5. Building and installing PMIx</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="quickstart.html">5.1. Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="definitions.html">5.2. Definitions</a></li>
<li class="toctree-l2"><a class="reference internal" href="filesystem-requirements.html">5.3. Filesystem requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="vpath-builds.html">5.4. VPATH builds</a></li>
<li class="toctree-l2"><a class="reference internal" href="compilers-and-flags.html">5.5. Specifying compilers and flags</a></li>
<li class="toctree-l2"><a class="reference internal" href="required-support-libraries.html">5.6. Required support libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-cli-options/index.html">5.7. <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-output-summary.html">5.8. <code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">5.9. <code class="docutils literal notranslate"><span class="pre">make</span></code> targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="installation-location.html">5.10. Installation location</a></li>
<li class="toctree-l2"><a class="reference internal" href="packagers.html">5.11. Advice for packagers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">7. Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../history.html">8. History</a></li>
<li class="toctree-l1"><a class="reference internal" href="../versions.html">9. Version Numbers and Binary Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../mca.html">10. The Modular Component Architecture (MCA)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../building-apps/index.html">11. Building PMIx applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../developers/index.html">12. Developer’s guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">13. Contributing to OpenPMIx</a></li>
<li class="toctree-l1"><a class="reference internal" href="../license.html">14. License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">15. OpenPMIx Security Policy</a></li>
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">17. OpenPMIx manual pages</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">OpenPMIx</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">5. </span>Building and installing PMIx</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.9. </span><code class="docutils literal notranslate"><span class="pre">make</span></code> targets</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/installing-pmix/make-targets.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<style>
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
</style><div class="section" id="make-targets">
<h1><span class="section-number">5.9. </span><code class="docutils literal notranslate"><span class="pre">make</span></code> targets<a class="headerlink" href="#make-targets" title="Permalink to this heading"></a></h1>
<p>PMIx supports all the <code class="docutils literal notranslate"><span class="pre">make</span></code> targets that are provided by GNU
Automake, such as:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">all</span></code>: build the entire PMIx package</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">install</span></code>: install PMIx</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">uninstall</span></code>: remove all traces of PMIx from the installation tree</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">clean</span></code>: clean out the build tree</p></li>
</ul>
<p>Once PMIx has been built and installed, it is safe to run <code class="docutils literal notranslate"><span class="pre">make</span>
<span class="pre">clean</span></code> and/or remove the entire build tree.</p>
</div>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="configure-output-summary.html" class="btn btn-neutral float-left" title="5.8. configure output summary" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="installation-location.html" class="btn btn-neutral float-right" title="5.10. Installation location" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2014-2025, The OpenPMIx Community.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View File

@@ -0,0 +1,212 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.11. Advice for packagers &mdash; OpenPMIx 5.0.5 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="6. How Things Work" href="../how-things-work/index.html" />
<link rel="prev" title="5.10. Installation location" href="installation-location.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
OpenPMIx
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">2. Getting help</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes/index.html">3. Release notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../exceptions.html">4. Exceptions to the PMIx Standard</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">5. Building and installing PMIx</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="quickstart.html">5.1. Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="definitions.html">5.2. Definitions</a></li>
<li class="toctree-l2"><a class="reference internal" href="filesystem-requirements.html">5.3. Filesystem requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="vpath-builds.html">5.4. VPATH builds</a></li>
<li class="toctree-l2"><a class="reference internal" href="compilers-and-flags.html">5.5. Specifying compilers and flags</a></li>
<li class="toctree-l2"><a class="reference internal" href="required-support-libraries.html">5.6. Required support libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-cli-options/index.html">5.7. <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-output-summary.html">5.8. <code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary</a></li>
<li class="toctree-l2"><a class="reference internal" href="make-targets.html">5.9. <code class="docutils literal notranslate"><span class="pre">make</span></code> targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="installation-location.html">5.10. Installation location</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">5.11. Advice for packagers</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#components-plugins-dso-or-no">5.11.1. Components (“plugins”): DSO or no?</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">7. Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../history.html">8. History</a></li>
<li class="toctree-l1"><a class="reference internal" href="../versions.html">9. Version Numbers and Binary Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../mca.html">10. The Modular Component Architecture (MCA)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../building-apps/index.html">11. Building PMIx applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../developers/index.html">12. Developer’s guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">13. Contributing to OpenPMIx</a></li>
<li class="toctree-l1"><a class="reference internal" href="../license.html">14. License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">15. OpenPMIx Security Policy</a></li>
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">17. OpenPMIx manual pages</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">OpenPMIx</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">5. </span>Building and installing PMIx</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.11. </span>Advice for packagers</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/installing-pmix/packagers.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<style>
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
</style><div class="section" id="advice-for-packagers">
<h1><span class="section-number">5.11. </span>Advice for packagers<a class="headerlink" href="#advice-for-packagers" title="Permalink to this heading"></a></h1>
<div class="section" id="components-plugins-dso-or-no">
<span id="label-install-packagers-dso-or-not"></span><h2><span class="section-number">5.11.1. </span>Components (“plugins”): DSO or no?<a class="headerlink" href="#components-plugins-dso-or-no" title="Permalink to this heading"></a></h2>
<p>PMIx contains a large number of components (sometimes called
“plugins”) to effect different types of functionality in PMIx. For
example, some components provide support for networks and
may link against specialized libraries to do so.</p>
<p>PMIx v5.0.5 has two <code class="docutils literal notranslate"><span class="pre">configure</span></code>-time defaults regarding the
treatment of components that may be of interest to packagers:</p>
<ol class="arabic">
<li><p>PMIx’s libraries default to building as shared libraries
(vs. static libraries). For example, on Linux, PMIx will
default to building <code class="docutils literal notranslate"><span class="pre">libpmix.so</span></code> (vs. <code class="docutils literal notranslate"><span class="pre">libpmix.a</span></code>).</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>See the descriptions of <code class="docutils literal notranslate"><span class="pre">--disable-shared</span></code> and
<code class="docutils literal notranslate"><span class="pre">--enable-static</span></code> <a class="reference internal" href="configure-cli-options/installation.html#label-building-installation-cli-options"><span class="std std-ref">in this section</span></a> for more
details about how to change this default.</p>
<p>Also be sure to <a class="reference internal" href="../building-apps/building-static-apps.html#label-building-fully-static-apps"><span class="std std-ref">see this warning about building
static apps</span></a>.</p>
</div>
</li>
<li><p>PMIx will default to including its components in its libraries
(as opposed to being compiled as dynamic shared objects, or DSOs).
For example, <code class="docutils literal notranslate"><span class="pre">libpmix.so</span></code> on Linux systems will contain the OPA
PNET component, instead of the OPA PNET being compiled into
<code class="docutils literal notranslate"><span class="pre">mca_pnet_opa.so</span></code> and dynamically opened at run time via
<code class="docutils literal notranslate"><span class="pre">dlopen(3)</span></code>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>See the descriptions of <code class="docutils literal notranslate"><span class="pre">--enable-mca-dso</span></code> and
<code class="docutils literal notranslate"><span class="pre">--enable-mca-static</span></code> <a class="reference internal" href="configure-cli-options/installation.html#label-building-installation-cli-options"><span class="std std-ref">in this section</span></a> for more
details about how to change this defaults.</p>
</div>
</li>
</ol>
<p>A side effect of these two defaults is that all the components
included in the PMIx libraries will bring their dependencies with
them. For example (on Linux), if the XYZ PNET component
requires <code class="docutils literal notranslate"><span class="pre">libXYZ.so</span></code>, then these defaults mean that
<code class="docutils literal notranslate"><span class="pre">libpmix.so</span></code> will depend on <code class="docutils literal notranslate"><span class="pre">libXYZ.so</span></code>. This dependency will
likely be telegraphed into the PMIx binary package that includes
<code class="docutils literal notranslate"><span class="pre">libpmix.so</span></code>.</p>
<p>Conversely, if the XYZ PNET component was built as a DSO, then —
assuming no other parts of PMIx require <code class="docutils literal notranslate"><span class="pre">libXYZ.so</span></code> —
<code class="docutils literal notranslate"><span class="pre">libpmix.so</span></code> would <em>not</em> be dependent on <code class="docutils literal notranslate"><span class="pre">libXYZ.so</span></code>. Instead, the
<code class="docutils literal notranslate"><span class="pre">mca_pnet_xyz.so</span></code> DSO would have the dependency upon <code class="docutils literal notranslate"><span class="pre">libXYZ.so</span></code>.</p>
<p>Packagers can use these facts to potentially create multiple binary
PMIx packages, each with different dependencies by, for example,
using <code class="docutils literal notranslate"><span class="pre">--enable-mca-dso</span></code> to selectively build some components as
DSOs and leave the others included in their respective PMIx
libraries.</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># Build all the &quot;pnet&quot; components as DSOs (all other</span>
<span class="c1"># components will default to being built in their respective</span>
<span class="c1"># libraries)</span>
shell$<span class="w"> </span>./configure<span class="w"> </span>--enable-mca-dso<span class="o">=</span>pnet<span class="w"> </span>...
</pre></div>
</div>
<p>This allows packaging <code class="docutils literal notranslate"><span class="pre">$libdir</span></code> as part of the “main” PMIx
binary package, but then packaging
<code class="docutils literal notranslate"><span class="pre">$libdir/pmix/mca_pnet_*.so</span></code> as sub-packages. These
sub-packages may inherit dependencies on their own.
Users can always install the “main” PMIx
binary package, and can install the additional “pnet” PMIx
binary sub-package if they actually have network hardware
installed (which will cause the installation of additional
dependencies).</p>
</div>
</div>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="installation-location.html" class="btn btn-neutral float-left" title="5.10. Installation location" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="../how-things-work/index.html" class="btn btn-neutral float-right" title="6. How Things Work" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2014-2025, The OpenPMIx Community.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View File

@@ -0,0 +1,322 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.1. Installation &mdash; OpenPMIx 5.0.5 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="5.2. Definitions" href="definitions.html" />
<link rel="prev" title="5. Building and installing PMIx" href="index.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
OpenPMIx
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">2. Getting help</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes/index.html">3. Release notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../exceptions.html">4. Exceptions to the PMIx Standard</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">5. Building and installing PMIx</a><ul class="current">
<li class="toctree-l2 current"><a class="current reference internal" href="#">5.1. Installation</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#developer-builds">5.1.1. Developer Builds</a></li>
<li class="toctree-l3"><a class="reference internal" href="#user-builds">5.1.2. User Builds</a></li>
<li class="toctree-l3"><a class="reference internal" href="#configure-options">5.1.3. <code class="docutils literal notranslate"><span class="pre">configure</span></code> options</a></li>
<li class="toctree-l3"><a class="reference internal" href="#building-static-libraries">5.1.4. Building Static Libraries</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="definitions.html">5.2. Definitions</a></li>
<li class="toctree-l2"><a class="reference internal" href="filesystem-requirements.html">5.3. Filesystem requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="vpath-builds.html">5.4. VPATH builds</a></li>
<li class="toctree-l2"><a class="reference internal" href="compilers-and-flags.html">5.5. Specifying compilers and flags</a></li>
<li class="toctree-l2"><a class="reference internal" href="required-support-libraries.html">5.6. Required support libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-cli-options/index.html">5.7. <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-output-summary.html">5.8. <code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary</a></li>
<li class="toctree-l2"><a class="reference internal" href="make-targets.html">5.9. <code class="docutils literal notranslate"><span class="pre">make</span></code> targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="installation-location.html">5.10. Installation location</a></li>
<li class="toctree-l2"><a class="reference internal" href="packagers.html">5.11. Advice for packagers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">7. Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../history.html">8. History</a></li>
<li class="toctree-l1"><a class="reference internal" href="../versions.html">9. Version Numbers and Binary Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../mca.html">10. The Modular Component Architecture (MCA)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../building-apps/index.html">11. Building PMIx applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../developers/index.html">12. Developer’s guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">13. Contributing to OpenPMIx</a></li>
<li class="toctree-l1"><a class="reference internal" href="../license.html">14. License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">15. OpenPMIx Security Policy</a></li>
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">17. OpenPMIx manual pages</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">OpenPMIx</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">5. </span>Building and installing PMIx</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.1. </span>Installation</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/installing-pmix/quickstart.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<style>
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
</style><div class="section" id="installation">
<span id="label-quickstart-building-pmix"></span><h1><span class="section-number">5.1. </span>Installation<a class="headerlink" href="#installation" title="Permalink to this heading"></a></h1>
<p>This file is a <em>very</em> short overview of building and installing the
PMIx library. Much more information is available in the <a class="reference external" href="https://pmix.org/support/how-to/">How-To
section on the PMIx web site</a>.</p>
<div class="section" id="developer-builds">
<h2><span class="section-number">5.1.1. </span>Developer Builds<a class="headerlink" href="#developer-builds" title="Permalink to this heading"></a></h2>
<p>If you have checked out a DEVELOPER’S COPY of PMIx (i.e., you checked
out from Git), you should read the <a class="reference internal" href="../developers/index.html"><span class="doc">Developer’s Guide</span></a> section before attempting to build PMIx. You
must then run:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span>git<span class="w"> </span>submodule<span class="w"> </span>update<span class="w"> </span>--init
shell$<span class="w"> </span>./autogen.pl
</pre></div>
</div>
<p>The <code class="docutils literal notranslate"><span class="pre">submodule</span> <span class="pre">update</span></code> is required as PMIx incorporates a submodule
to support its <cite>autoconf</cite> logic. You can, however, omit the explicit
submodule update step <cite>if</cite> you cloned the Git repository with the
<code class="docutils literal notranslate"><span class="pre">--recursive</span></code> flag.</p>
<p>You will need very recent versions of GNU Autoconf, Automake, and
Libtool. If <code class="docutils literal notranslate"><span class="pre">autogen.pl</span></code> fails, read the <a class="reference internal" href="../developers/index.html"><span class="doc">Developer’s Guide</span></a>. If anything else fails, read the
<a class="reference internal" href="../developers/index.html"><span class="doc">Developer’s Guide</span></a>. Finally, we suggest
reading the <a class="reference internal" href="../developers/index.html"><span class="doc">Developer’s Guide</span></a>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Developer’s copies of OpenPMIx typically include a large
performance penalty at run-time because of extra debugging
overhead.</p>
</div>
</div>
<div class="section" id="user-builds">
<h2><span class="section-number">5.1.2. </span>User Builds<a class="headerlink" href="#user-builds" title="Permalink to this heading"></a></h2>
<p>Building PMIx is typically a combination of running <code class="docutils literal notranslate"><span class="pre">configure</span></code>
and <code class="docutils literal notranslate"><span class="pre">make</span></code>. Execute the following commands to install the PMIx
system from within the directory at the top of the tree:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span>./configure<span class="w"> </span>--prefix<span class="o">=</span>/where/to/install
<span class="o">[</span>...lots<span class="w"> </span>of<span class="w"> </span>output...<span class="o">]</span>
shell$<span class="w"> </span>make<span class="w"> </span>all<span class="w"> </span>install
</pre></div>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>This version of PMIx requires the following 3rd-party
packages to build and operate:</p>
<ul class="simple">
<li><p>either the <a class="reference external" href="https://libevent.org/">Libevent package</a> (any version
of Libevent greater than or equal to 2.0.21 is acceptable) or
the <a class="reference external" href="https://metacpan.org/dist/EV/view/libev/ev.pod">libev package</a>
(no minimum version has been identified).</p></li>
<li><p>the <a class="reference external" href="https://www.open-mpi.org/projects/hwloc/">HWLOC package</a> for providing
topology information to both the host environment (by
collecting local inventory for rollup) and local client
processes. Any version of HWLOC greater than 1.10 is
supported, although versions in the 2.x series are
recommended.</p></li>
</ul>
</div>
<p>Note that you must point <code class="docutils literal notranslate"><span class="pre">configure</span></code> at these packages if they are
in a non-standard location - libevent using the <code class="docutils literal notranslate"><span class="pre">--with-libevent=&lt;dir&gt;</span></code>
option; libev using the <code class="docutils literal notranslate"><span class="pre">-with-libev=&lt;dir&gt;</span></code> option, and HWLOC package
using the <code class="docutils literal notranslate"><span class="pre">--with-hwloc=&lt;dir&gt;</span></code> option. In all cases,
PMIx will automatically detect these packages in standard locations
and use them unless otherwise specified using the
respective configure option.</p>
<p>If you need special access to install, then you can execute <code class="docutils literal notranslate"><span class="pre">make</span>
<span class="pre">all</span></code> as a user with write permissions in the build tree, and a
separate <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">install</span></code> as a user with write permissions to the
install tree.</p>
<p>Compiling support for specific compilers and environments may require
additional command line flags when running <code class="docutils literal notranslate"><span class="pre">configure</span></code>. See the
<a class="reference internal" href="compilers-and-flags.html#install-configure-compilers-and-flags-label"><span class="std std-ref">compiler flags</span></a> entry
for more details.</p>
<p>Note that VPATH builds are fully supported. For example:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span>tar<span class="w"> </span>xf<span class="w"> </span>pmix-X.Y.Z.tar.gz
shell$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>pmix-X.Y.Z
shell$<span class="w"> </span>mkdir<span class="w"> </span>build
shell$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>build
shell$<span class="w"> </span>../configure<span class="w"> </span>...your<span class="w"> </span>options...
<span class="o">[</span>...lots<span class="w"> </span>of<span class="w"> </span>output...<span class="o">]</span>
shell$<span class="w"> </span>make<span class="w"> </span>all<span class="w"> </span>install
</pre></div>
</div>
<p>Parallel builds are also supported (although some versions of <code class="docutils literal notranslate"><span class="pre">make</span></code>,
such as GNU make, will only use the first target listed on the command
line when executable parallel builds). For example (assume GNU make):</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span>make<span class="w"> </span>-j<span class="w"> </span><span class="m">4</span><span class="w"> </span>all
<span class="o">[</span>...lots<span class="w"> </span>of<span class="w"> </span>output...<span class="o">]</span>
shell$<span class="w"> </span>make<span class="w"> </span>install
</pre></div>
</div>
<p>Parallel make is generally only helpful in the build phase; the
installation process is mostly serial and does not benefit much from
parallel make.</p>
</div>
<div class="section" id="configure-options">
<h2><span class="section-number">5.1.3. </span><code class="docutils literal notranslate"><span class="pre">configure</span></code> options<a class="headerlink" href="#configure-options" title="Permalink to this heading"></a></h2>
<p>There are many available options to <code class="docutils literal notranslate"><span class="pre">configure</span></code> (see <code class="docutils literal notranslate"><span class="pre">./configure</span> <span class="pre">--help</span></code>
for a full list); a summary of the more commonly used ones follows:</p>
<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">--prefix=&lt;directory&gt;</span></code>: Install PMIx into the base directory named
<code class="docutils literal notranslate"><span class="pre">&lt;directory&gt;</span></code>. Hence, PMIx will place its executables in
<code class="docutils literal notranslate"><span class="pre">&lt;directory&gt;/bin</span></code>, its header files in <code class="docutils literal notranslate"><span class="pre">&lt;directory&gt;/include</span></code>,
its libraries in <code class="docutils literal notranslate"><span class="pre">&lt;directory&gt;/lib</span></code>, etc.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">--disable-shared</span></code>: By default, <code class="docutils literal notranslate"><span class="pre">libpmix</span></code> is built as a shared
library. This switch disables this default; it is really only
useful when used with <code class="docutils literal notranslate"><span class="pre">--enable-static</span></code>. Specifically, this
option does <em>not</em> imply <code class="docutils literal notranslate"><span class="pre">--enable-static</span></code>; enabling static
libraries and disabling shared libraries are two independent
options.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">--enable-static</span></code>: Build <code class="docutils literal notranslate"><span class="pre">libpmix</span></code> as a static library. Note
that this option does <em>not</em> imply <code class="docutils literal notranslate"><span class="pre">--disable-shared</span></code>; enabling
static libraries and disabling shared libraries are two independent
options. Please see the <a class="reference internal" href="#label-install-static-libraries"><span class="std std-ref">Building Static Libraries</span></a> section below for important
details on building PMIx as a static library.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">--disable-show-load-errors-by-default</span></code>: Set the default value of
the <code class="docutils literal notranslate"><span class="pre">mca_base_component_show_load_errors</span></code> MCA variable: the
<code class="docutils literal notranslate"><span class="pre">--enable</span></code> form of this option sets the MCA variable to true, the
<code class="docutils literal notranslate"><span class="pre">--disable</span></code> form sets the MCA variable to false. The MCA
<code class="docutils literal notranslate"><span class="pre">mca_base_component_show_load_errors</span></code> variable can still be
overridden at run time via the usual MCA-variable-setting
mechanisms; this configure option simply sets the default value.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">--disable</span></code> form of this option is intended for OpenPMIx
packagers who tend to enable support for many different types of
networks and systems in their packages. For example, consider a
packager who includes support for both the FOO and BAR networks in
their PMIx package, both of which require support libraries
(<code class="docutils literal notranslate"><span class="pre">libFOO.so</span></code> and <code class="docutils literal notranslate"><span class="pre">libBAR.so</span></code>). If an end user only has BAR
hardware, they likely only have <code class="docutils literal notranslate"><span class="pre">libBAR.so</span></code> available on their
systems – not <code class="docutils literal notranslate"><span class="pre">libFOO.so</span></code>. Disabling load errors by default will
prevent the user from seeing potentially confusing warnings about
the FOO components failing to load because <code class="docutils literal notranslate"><span class="pre">libFOO.so</span></code> is not
available on their systems.</p>
<p>Conversely, system administrators tend to build an OpenPMIx that is
targeted at their specific environment, and contains few (if any)
components that are not needed. In such cases, they might want
their users to be warned that the FOO network components failed to
load (e.g., if <code class="docutils literal notranslate"><span class="pre">libFOO.so</span></code> was mistakenly unavailable), and thus
some PMIx calls might unexpectedly return “not supported”.</p>
</li>
<li><p><code class="docutils literal notranslate"><span class="pre">--with-platform=FILE</span></code>: Load configure options for the build from
<code class="docutils literal notranslate"><span class="pre">FILE</span></code>. Options on the command line that are not in <code class="docutils literal notranslate"><span class="pre">FILE</span></code> are
also used. Options on the command line and in <code class="docutils literal notranslate"><span class="pre">FILE</span></code> are replaced
by what is in <code class="docutils literal notranslate"><span class="pre">FILE</span></code>.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">--enable-python-bindings</span></code>:
Build the Python bindings for PMIx. Note the following packages
are required to be installed:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span>yum<span class="w"> </span>install<span class="w"> </span>Cython<span class="w"> </span>python3<span class="w"> </span>python3-devel
or...
shell$<span class="w"> </span>pip3<span class="w"> </span>install<span class="w"> </span>Cython
</pre></div>
</div>
</li>
</ul>
<p>Once OpenPMIx has been built and installed, it is safe to run <code class="docutils literal notranslate"><span class="pre">make</span>
<span class="pre">clean</span></code> and/or remove the entire build tree.</p>
<p>VPATH and parallel builds are fully supported.</p>
<p>Generally speaking, the only thing that users need to do to use OpenPMIx
is ensure that <code class="docutils literal notranslate"><span class="pre">&lt;prefix&gt;/lib</span></code> is in their <code class="docutils literal notranslate"><span class="pre">LD_LIBRARY_PATH</span></code>. Users may
need to ensure to set <code class="docutils literal notranslate"><span class="pre">LD_LIBRARY_PATH</span></code> in their shell setup files (e.g.,
<code class="docutils literal notranslate"><span class="pre">.bashrc</span></code>, <code class="docutils literal notranslate"><span class="pre">.cshrc</span></code>) so that non-interactive SSH-based logins will
be able to find the OpenPMIx library.</p>
</div>
<div class="section" id="building-static-libraries">
<span id="label-install-static-libraries"></span><h2><span class="section-number">5.1.4. </span>Building Static Libraries<a class="headerlink" href="#building-static-libraries" title="Permalink to this heading"></a></h2>
<p>PMIx depends on a number of external libraries for critical
functionality. Some of these libraries, such as <a class="reference external" href="https://www.open-mpi.org/projects/hwloc/">HWLOC</a>, can have dependencies on
a varying number of additional libraries (such as libpci or libudev).
While PMIx’s wrapper compiler will add the correct direct dependencies
for third party packages, it will frequently not pull in the right
sub-libraries. When linking against dyanamic library versions of
these dependencies, this is not a problem (and is preferred behavior
to avoid adding unnecessary indirect linking dependencies). However,
this does cause problems for building entirely static versions of
PMIx. It may be necessary in some circumstances to add these
dependencies via the <code class="docutils literal notranslate"><span class="pre">LIBS</span></code> environment variable (for building PMIx
binaries) or <code class="docutils literal notranslate"><span class="pre">--with-wrapper-libs=LIBS</span></code> for the wrapper compiler.</p>
</div>
</div>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="index.html" class="btn btn-neutral float-left" title="5. Building and installing PMIx" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="definitions.html" class="btn btn-neutral float-right" title="5.2. Definitions" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2014-2025, The OpenPMIx Community.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View File

@@ -0,0 +1,263 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.6. Required support libraries &mdash; OpenPMIx 5.0.5 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="5.7. configure command line options" href="configure-cli-options/index.html" />
<link rel="prev" title="5.5. Specifying compilers and flags" href="compilers-and-flags.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
OpenPMIx
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">2. Getting help</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes/index.html">3. Release notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../exceptions.html">4. Exceptions to the PMIx Standard</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">5. Building and installing PMIx</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="quickstart.html">5.1. Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="definitions.html">5.2. Definitions</a></li>
<li class="toctree-l2"><a class="reference internal" href="filesystem-requirements.html">5.3. Filesystem requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="vpath-builds.html">5.4. VPATH builds</a></li>
<li class="toctree-l2"><a class="reference internal" href="compilers-and-flags.html">5.5. Specifying compilers and flags</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">5.6. Required support libraries</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#library-dependencies">5.6.1. Library dependencies</a></li>
<li class="toctree-l3"><a class="reference internal" href="#potential-problems">5.6.2. Potential problems</a></li>
<li class="toctree-l3"><a class="reference internal" href="#avoiding-the-problems">5.6.3. Avoiding the problems</a></li>
<li class="toctree-l3"><a class="reference internal" href="#overriding-configure-behavior">5.6.4. Overriding <code class="docutils literal notranslate"><span class="pre">configure</span></code> behavior</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="configure-cli-options/index.html">5.7. <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-output-summary.html">5.8. <code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary</a></li>
<li class="toctree-l2"><a class="reference internal" href="make-targets.html">5.9. <code class="docutils literal notranslate"><span class="pre">make</span></code> targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="installation-location.html">5.10. Installation location</a></li>
<li class="toctree-l2"><a class="reference internal" href="packagers.html">5.11. Advice for packagers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">7. Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../history.html">8. History</a></li>
<li class="toctree-l1"><a class="reference internal" href="../versions.html">9. Version Numbers and Binary Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../mca.html">10. The Modular Component Architecture (MCA)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../building-apps/index.html">11. Building PMIx applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../developers/index.html">12. Developer’s guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">13. Contributing to OpenPMIx</a></li>
<li class="toctree-l1"><a class="reference internal" href="../license.html">14. License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">15. OpenPMIx Security Policy</a></li>
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">17. OpenPMIx manual pages</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">OpenPMIx</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">5. </span>Building and installing PMIx</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.6. </span>Required support libraries</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/installing-pmix/required-support-libraries.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<style>
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
</style><div class="section" id="required-support-libraries">
<span id="label-install-required-support-libraries"></span><h1><span class="section-number">5.6. </span>Required support libraries<a class="headerlink" href="#required-support-libraries" title="Permalink to this heading"></a></h1>
<p>PMIx requires the following support libraries with the minimum listed versions:</p>
<table class="colwidths-given docutils align-default">
<colgroup>
<col style="width: 22%" />
<col style="width: 22%" />
<col style="width: 56%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Library</p></th>
<th class="head"><p>Minimum version</p></th>
<th class="head"><p>Notes</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><a class="reference external" href="https://www.open-mpi.org/projects/hwloc/">Hardware Locality</a></p></td>
<td><p>1.11.0</p></td>
<td><p>This library is required; PMIx will not build without it.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference external" href="https://libevent.org/">Libevent</a></p></td>
<td><p>2.0.21</p></td>
<td><p>Either libevent or libev must be provided</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference external" href="https://metacpan.org/dist/EV/view/libev/ev.pod">libev</a></p></td>
<td><p>no specified minimum</p></td>
<td><p>Either libevent or libev must be provided</p></td>
</tr>
</tbody>
</table>
<p>These support libraries are fundamental to PMIx’s operation
and pretty universally available in all environments. Worst case,
they can easily be built from their respective source tarballs.</p>
<div class="section" id="library-dependencies">
<h2><span class="section-number">5.6.1. </span>Library dependencies<a class="headerlink" href="#library-dependencies" title="Permalink to this heading"></a></h2>
<p>These support libraries do not have dependencies upon each other.
However, it often is true that another library being used by an
application, or the application itself, can include a dependency
on one or more of them.</p>
<p>At run time, it is critical that the run-time linker loads <em>exactly
one copy</em> of each of these libraries. It is therefore vital that
you have a clear understanding of the dependencies within your
application.</p>
</div>
<div class="section" id="potential-problems">
<h2><span class="section-number">5.6.2. </span>Potential problems<a class="headerlink" href="#potential-problems" title="Permalink to this heading"></a></h2>
<p>Problems can (will) arise if multiple different copies of the above
shared libraries are loaded into a single process. For example,
consider if:</p>
<ul class="simple">
<li><p>Loading the PMIx shared library causes the loading of Libevent
shared library vA.B.C.</p></li>
<li><p>But then the subsequent loading of the FOO shared library causes
the loading of Libevent shared library vX.Y.Z.</p></li>
</ul>
<p>Since there are now two different versions of the Libevent shared
library loaded into the same process (yes, this can happen!),
unpredictable behavior can (will) occur.</p>
<p>Many variations on this same basic erroneous scenario are possible.
All of them are bad, and can be extremely difficult to diagnose.</p>
</div>
<div class="section" id="avoiding-the-problems">
<h2><span class="section-number">5.6.3. </span>Avoiding the problems<a class="headerlink" href="#avoiding-the-problems" title="Permalink to this heading"></a></h2>
<p>A simple way to avoid these problems is to configure your system such
that it has exactly one copy of each of the required support libraries.</p>
<div class="admonition important">
<p class="admonition-title">Important</p>
<p>If possible, use your OS / environment’s package
manager to install as many of these support libraries —
including their development headers — as possible before
invoking PMIx’s <code class="docutils literal notranslate"><span class="pre">configure</span></code> script.</p>
</div>
<p>Not all package managers provide all of the required support
libraries. But even if your package manager installs — for
example — only one of Libevent and Hwloc, that somewhat simplifies the
final PMIx configuration, and therefore avoids some potentially
erroneous configurations.</p>
</div>
<div class="section" id="overriding-configure-behavior">
<h2><span class="section-number">5.6.4. </span>Overriding <code class="docutils literal notranslate"><span class="pre">configure</span></code> behavior<a class="headerlink" href="#overriding-configure-behavior" title="Permalink to this heading"></a></h2>
<p>PMIx’s <code class="docutils literal notranslate"><span class="pre">configure</span></code> will (minus any configure flags) attempt to
find the HWLOC and libevent packages in standard locations. Note
that PMIx by default will look for libevent (and not libev), though
either can be used. If a required package is not found and no flags
were given, the <code class="docutils literal notranslate"><span class="pre">configure</span></code> operation will exit with a suitable
error message.</p>
<p>If <code class="docutils literal notranslate"><span class="pre">configure</span></code>’s default searching behavior is not sufficient for
your environment, you can use <a class="reference internal" href="configure-cli-options/required-support-libraries.html#label-building-pmix-cli-options-required-support-libraries"><span class="std std-ref">command line options to override
its default behavior</span></a>.</p>
<p>For example, if libevent and/or HWLOC are installed such that the default
header file and linker search paths will not find them, you can
provide command line options telling PMIx’s <code class="docutils literal notranslate"><span class="pre">configure</span></code> where to
search. Here’s an example <code class="docutils literal notranslate"><span class="pre">configure</span></code> invocation where HWLOC
and libevent have both been installed under the <code class="docutils literal notranslate"><span class="pre">/opt</span></code> directory:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>./configure<span class="w"> </span>--prefix<span class="o">=</span><span class="nv">$HOME</span>/pmix-install<span class="w"> </span><span class="se">\</span>
<span class="w"> </span>--with-libevent<span class="o">=</span>/opt/libevent<span class="w"> </span><span class="se">\</span>
<span class="w"> </span>--with-hwloc<span class="o">=</span>/opt/hwloc<span class="w"> </span>...
</pre></div>
</div>
<div class="admonition danger">
<p class="admonition-title">Danger</p>
<p>Be very, very careful when overriding <code class="docutils literal notranslate"><span class="pre">configure</span></code>’s
default search behavior for these libraries. Remember the critical
requirement: that PMIx infrastructure and applications load
<em>exactly one copy</em> of each support library. For simplicity, it may
be desirable to ensure to use exactly the support libraries that
PMIx was compiled and built against.</p>
<p>For example, using the PMIx installed from the sample
<code class="docutils literal notranslate"><span class="pre">configure</span></code> line (above), you may want to prefix your run-time
linker search path (e.g., <code class="docutils literal notranslate"><span class="pre">LD_LIBRARY_PATH</span></code> on Linux) with
<code class="docutils literal notranslate"><span class="pre">$HOME/pmix-install/lib:/opt/libevent/lib:/opt/hwloc/lib</span></code>.
This will ensure that the linker finds
the support libraries used by your PMIx installation tree,
even if other copies of the same support libraries are present
elsewhere on your system.</p>
</div>
</div>
</div>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="compilers-and-flags.html" class="btn btn-neutral float-left" title="5.5. Specifying compilers and flags" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="configure-cli-options/index.html" class="btn btn-neutral float-right" title="5.7. configure command line options" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2014-2025, The OpenPMIx Community.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View File

@@ -0,0 +1,152 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.4. VPATH builds &mdash; OpenPMIx 5.0.5 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="5.5. Specifying compilers and flags" href="compilers-and-flags.html" />
<link rel="prev" title="5.3. Filesystem requirements" href="filesystem-requirements.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
OpenPMIx
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">2. Getting help</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes/index.html">3. Release notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../exceptions.html">4. Exceptions to the PMIx Standard</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">5. Building and installing PMIx</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="quickstart.html">5.1. Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="definitions.html">5.2. Definitions</a></li>
<li class="toctree-l2"><a class="reference internal" href="filesystem-requirements.html">5.3. Filesystem requirements</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">5.4. VPATH builds</a></li>
<li class="toctree-l2"><a class="reference internal" href="compilers-and-flags.html">5.5. Specifying compilers and flags</a></li>
<li class="toctree-l2"><a class="reference internal" href="required-support-libraries.html">5.6. Required support libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-cli-options/index.html">5.7. <code class="docutils literal notranslate"><span class="pre">configure</span></code> command line options</a></li>
<li class="toctree-l2"><a class="reference internal" href="configure-output-summary.html">5.8. <code class="docutils literal notranslate"><span class="pre">configure</span></code> output summary</a></li>
<li class="toctree-l2"><a class="reference internal" href="make-targets.html">5.9. <code class="docutils literal notranslate"><span class="pre">make</span></code> targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="installation-location.html">5.10. Installation location</a></li>
<li class="toctree-l2"><a class="reference internal" href="packagers.html">5.11. Advice for packagers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">7. Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../history.html">8. History</a></li>
<li class="toctree-l1"><a class="reference internal" href="../versions.html">9. Version Numbers and Binary Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../mca.html">10. The Modular Component Architecture (MCA)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../building-apps/index.html">11. Building PMIx applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../developers/index.html">12. Developer’s guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">13. Contributing to OpenPMIx</a></li>
<li class="toctree-l1"><a class="reference internal" href="../license.html">14. License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">15. OpenPMIx Security Policy</a></li>
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">17. OpenPMIx manual pages</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">OpenPMIx</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">5. </span>Building and installing PMIx</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.4. </span>VPATH builds</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/installing-pmix/vpath-builds.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<style>
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
</style><div class="section" id="vpath-builds">
<span id="building-pmix-vpath-label"></span><h1><span class="section-number">5.4. </span>VPATH builds<a class="headerlink" href="#vpath-builds" title="Permalink to this heading"></a></h1>
<p>VPATH build are fully supported. For example:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span>tar<span class="w"> </span>xf<span class="w"> </span>pmix-VERSION.tar.bz2
shell$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>pmix-VERSION
shell$<span class="w"> </span>mkdir<span class="w"> </span>build
shell$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>build
shell$<span class="w"> </span>../configure<span class="w"> </span><span class="o">[</span>...options...<span class="o">]</span>
&lt;...<span class="w"> </span>lots<span class="w"> </span>of<span class="w"> </span>output<span class="w"> </span>...&gt;
shell$<span class="w"> </span>make<span class="w"> </span>-j<span class="w"> </span><span class="m">4</span>
</pre></div>
</div>
</div>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="filesystem-requirements.html" class="btn btn-neutral float-left" title="5.3. Filesystem requirements" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="compilers-and-flags.html" class="btn btn-neutral float-right" title="5.5. Specifying compilers and flags" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2014-2025, The OpenPMIx Community.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>