5.8.5. CLI Options for optional support libraries

The following configure command line options are for PMIx’s optional support libraries — libraries PMIx will use if it finds them, and build without if it does not. The exceptions are --with-munge and --with-openssl, which are opt-in only: nothing looks for MUNGE or OpenSSL unless the option is given.

5.8.5.1. Compression

  • --with-zstd[=VALUE]:

  • --with-zlibng[=VALUE]:

  • --with-lz4[=VALUE]:

  • --with-zlib[=VALUE]:

    These options specify where to find the headers and libraries for Zstandard, zlib-ng, LZ4 and zlib respectively. Each builds the matching pcompress component.

    Note that each needs the library’s development package — the headers, not just the shared object. A system with libzstd.so but no zstd.h builds no zstd component and quietly falls back to whatever else has headers installed.

    Only one component is active at run time — the highest priority one built (zstd, then zlibng, then lz4, then zlib) — so there is no need to provide more than one, and no harm in providing several. Any of them can be forced at run time with --pmixmca pcompress <name>.

    A build with none of them works, but compresses nothing: expect longer start-up times and larger memory footprints at scale, and a warning to that effect from servers and tools.

5.8.5.2. Other capabilities

  • --with-munge[=VALUE]:

    Specifies where to find MUNGE, and builds the psec/munge component, which authenticates PMIx connections using MUNGE credentials.

    Unlike the other options on this page, MUNGE is opt-in only: configure does not go looking for it, so a host that has MUNGE installed builds no psec/munge component unless this option is given. That is deliberate — psec/munge outranks the default psec/native mechanism, so building it changes how every PMIx connection on that installation is authenticated. Ask for it explicitly, or do not get it.

  • --with-openssl[=VALUE]:

    Specifies where to find OpenSSL (1.1.1 or later), and builds the psec/ssl component, which authenticates remote tools with X.509 certificates. The default psec/native mechanism authenticates only peers on the server’s own host, so a server that accepts connections from tools on other hosts (PMIX_SERVER_REMOTE_CONNECTIONS) needs this or MUNGE.

    Like MUNGE, this is opt-in only. The component is compiled into libpmix like any other, so building it adds libcrypto to everything that links PMIx. It is active at run time only where it is configured, through the psec_ssl_* MCA parameters (see pmix_info --param psec ssl), and it ranks below native, so local connections are unaffected. A remote tool selects it with PMIX_MCA_psec=ssl.

  • --with-smtp[=VALUE]:

    Specifies where to find libesmtp, and builds the plog/smtp component, which can emit log messages by email.

  • --with-libltdl[=VALUE]:

    Specifies where to find libltdl, and builds the pdl/plibltdl component for loading DSO components. The pdl/pdlopen component is preferred where both are available.

5.8.5.3. Permitted values, and one important behavior

The following VALUEs are permitted for all of the options above:

  • DIR: Specify the location of a specific installation to use. configure will abort if it cannot find suitable header files and libraries under DIR.

Important

Naming one of these libraries makes it mandatory. Passing --with-FOO, with or without a path, tells configure that you want it — so if it cannot find a usable copy it will abort rather than quietly build without it. Omit the option entirely to get a best-effort search that silently continues on failure — except for --with-munge, which is opt-in only and searches for nothing when it is omitted. This is why a build that “should have had compression” and does not is almost always one where the option was left off.

  • --with-zstd-libdir=LIBDIR:

  • --with-zlibng-libdir=LIBDIR:

  • --with-lz4-libdir=LIBDIR:

  • --with-zlib-libdir=LIBDIR:

  • --with-munge-libdir=LIBDIR:

  • --with-smtp-libdir=LIBDIR:

  • --with-libltdl-libdir=LIBDIR: See the configure CLI options conventions for a description of these options.