@@ -31,30 +31,40 @@ be used with ``configure``:
31
31
below; it may have some effect on ``--enable-static ``.
32
32
33
33
* ``--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.
42
45
43
46
.. note :: By default, the wrapper compilers prefer "runpath"
44
47
behavior over "rpath" behavior.
45
48
46
49
* 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
54
64
``--disable-wrapper-rpath `` CLI options *only * affect
55
65
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
58
68
include the wrapper compilers themselves).
59
69
60
70
See the :ref: `Linker "rpath" and "runpath"
@@ -64,8 +74,8 @@ be used with ``configure``:
64
74
affect the building and linking of Open MPI itself.
65
75
66
76
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
69
79
most notable differences between "runpath" and "rpath" behavior are:
70
80
71
81
* runpath
0 commit comments