PMIx |opmix_ver| is composed of multiple libraries that depend on each other.
When built from official distribution tarballs, PMIx is built with the following versions of the GNU Autotools:
- Autoconf |autoconf_min_version|
- Automake |automake_min_version|
- Libtool |libtool_min_version|
This set of GNU Autotools invokes the libtool
executable to build
PMIx's libraries and executables with the -rpath CLI option.
The behavior of libtool -rpath ...
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.
Although the specific behavior of libtool -rpath ..
is outside the
scope of this documentation, you can run commands such as readelf -d
...
to find out with which behavior your PMIx was built.
For example:
shell$ ./configure --prefix=/opt/pmix/ ... ... shell$ make -j 32 all && make install ... shell$ readelf -d /opt/pmix/lib/libmpi.so | egrep -i 'rpath|runpath' 0x000000000000001d (RUNPATH) Library runpath: [/opt/pmix/lib]
The above output indicates that libpmix.so
was built with "runpath"
support, whereas output like this:
shell$ readelf -d /opt/pmix/lib/libpmix.so | egrep -i 'rpath|runpath' 0x000000000000000f (RPATH) Library rpath: [/opt/pmix/lib]
indicates that libpmix.so
was built with "rpath" support.
Note
If you want to utilize additional compiler or linker flags (such as runpath flags) when building PMIx, you can :ref:`specify these flags on the configure command line <install-configure-compilers-and-flags-label>`.
For example, if invoking libtool -rpath ...
on your
system actually effects "rpath" behavior, and you wish to
effect "runpath" behavior, you could set LDFLAGS
when
invoking configure
, like this:
shell$ ./configure LDFLAGS=-Wl,--enable-new-dtags ...