Skip to content

Commit 0a32616

Browse files
committed
docs: update the rpath/runpath descriptions
Thanks to feedback from Thomas Reuter and Harmen Stoppels. Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
1 parent 0748165 commit 0a32616

File tree

1 file changed

+29
-19
lines changed

1 file changed

+29
-19
lines changed

docs/installing-open-mpi/configure-cli-options/installation.rst

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -31,30 +31,40 @@ be used with ``configure``:
3131
below; it may have some effect on ``--enable-static``.
3232

3333
* ``--disable-wrapper-runpath`` / ``--disable-wrapper-rpath``: By
34-
default, the wrapper compilers (e.g., ``mpicc``) will enable
35-
"runpath" or "rpath" support in generated executables on systems
36-
that support it. That is, they will include a filesystem path
37-
reference to the location of Open MPI's libraries in the application
38-
executable itself. This means that the user does not have to set
39-
``LD_LIBRARY_PATH`` to find Open MPI's libraries, which can be
40-
helpful if they are installed in a location that the run-time linker
41-
does not search by default.
34+
default, the wrapper compilers (e.g., ``mpicc``) will explicitly add
35+
"runpath" and "rpath" linker flags when linking user executables on
36+
systems that support them. That is, the created executables will
37+
include a filesystem path reference to the location of Open MPI's
38+
libraries in the application executable itself. This means that the
39+
user does not have to set ``LD_LIBRARY_PATH`` to find Open MPI's
40+
libraries, which can be helpful if they are installed in a location
41+
that the run-time linker does not search by default.
42+
43+
Using the ``--disable-wrapper-r*path`` options will prevent the
44+
wrappers from explicitly adding one or both of these linker flags.
4245

4346
.. note:: By default, the wrapper compilers prefer "runpath"
4447
behavior over "rpath" behavior.
4548

4649
* Using ``--disable-wrapper-runpath`` alters this
47-
preference: "runpath" behavior will never be used.
48-
Instead, the wrapper compilers will use "rpath" behavior
49-
if it is supported.
50-
* Using ``--disable-wrapper-rpath`` will disable *both*
51-
"runpath" and "rpath" behavior in the wrapper compilers.
52-
53-
.. important:: Note that the ``--disable-wrapper-runpath`` and
50+
preference: explicit "runpath" linker flags will not be
51+
added by the wrappers. However, "rpath" flags may still
52+
be added, if the platform supports them.
53+
* Using both ``--disable-wrapper-runpath`` *and*
54+
``--disable-wrapper-rpath`` will prevent the wrappers
55+
from explicitly adding "runpath" *and* "rpath" linker
56+
flags.
57+
58+
.. caution:: Even if the wrapper compilers do not explicitly add
59+
"runpath" or "rpath" linker flags, the local compiler,
60+
linker, and/or operating system may implicitly enable
61+
either "runpath" or "rpath" behavior when linking.
62+
63+
.. important:: The ``--disable-wrapper-runpath`` and
5464
``--disable-wrapper-rpath`` CLI options *only* affect
5565
the flags that the wrapper compilers use when
56-
building MPI/OpenSHMEM applications. These options
57-
do not affect how Open MPI or OpenSHMEM are built (to
66+
building MPI/SHMEM applications. These options do
67+
not affect how Open MPI or OpenSHMEM are built (to
5868
include the wrapper compilers themselves).
5969

6070
See the :ref:`Linker "rpath" and "runpath"
@@ -64,8 +74,8 @@ be used with ``configure``:
6474
affect the building and linking of Open MPI itself.
6575

6676
When either of "runpath" or "rpath" behaviors are enabled, the
67-
wrapper compilers will hard-code the filesystem path location of the
68-
Open MPI libraries into the Open MPI/OpenSHMEM application. The
77+
applications will have the filesystem path location of the Open MPI
78+
libraries hard-coded into the Open MPI/OpenSHMEM application. The
6979
most notable differences between "runpath" and "rpath" behavior are:
7080

7181
* runpath

0 commit comments

Comments
 (0)