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.

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.

  • --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. 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.