1
1
Jeff Squyres c960d292ec Convert all README files to Markdown
A mindless task for a lazy weekend: convert all the README and
README.txt files to Markdown.  Paired with the slow conversion of all
of our man pages to Markdown, this gives a uniform language to the
Open MPI docs.

This commit moved a bunch of copyright headers out of the top-level
README.txt file, so I updated the relevant copyright header years in
the top-level LICENSE file to match what was removed from README.txt.

Additionally, this commit did (very) little to update the actual
content of the README files.  A very small number of updates were made
for topics that I found blatently obvious while Markdown-izing the
content, but in general, I did not update content during this commit.
For example, there's still quite a bit of text about ORTE that was not
meaningfully updated.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
Co-authored-by: Josh Hursey <jhursey@us.ibm.com>
2020-11-10 13:52:29 -05:00

3.2 KiB

Open MPI Linux distribution helpers

Note that you probably want to download the latest release of the SRPM for any given Open MPI version. The SRPM release number is the version after the dash in the SRPM filename. For example, openmpi-1.6.3-2.src.rpm is the 2nd release of the SRPM for Open MPI v1.6.3. Subsequent releases of SRPMs typically contain bug fixes for the RPM packaging, but not Open MPI itself.

The buildrpm.sh script takes a single mandatory argument -- a filename pointing to an Open MPI tarball (may be either .gz or .bz2). It will create one or more RPMs from this tarball:

  1. Source RPM
  2. "All in one" RPM, where all of Open MPI is put into a single RPM.
  3. "Multiple" RPM, where Open MPI is split into several sub-package RPMs:
    • openmpi-runtime
    • openmpi-devel
    • openmpi-docs

The folowing arguments could be used to affect script behaviour. Please, do NOT set the same settings with parameters and config vars.

  • -b: If you specify this option, only the all-in-one binary RPM will be built. By default, only the source RPM (SRPM) is built. Other parameters that affect the all-in-one binary RPM will be ignored unless this option is specified.

  • -n name: This option will change the name of the produced RPM to the "name". It is useful to use with "-o" and "-m" options if you want to have multiple Open MPI versions installed simultaneously in the same enviroment. Requires use of option -b.

  • -o: With this option the install path of the binary RPM will be changed to /opt/_NAME_/_VERSION_. Requires use of option -b.

  • -m: This option causes the RPM to also install modulefiles to the location specified in the specfile. Requires use of option -b.

  • -i: Also build a debuginfo RPM. By default, the debuginfo RPM is not built. Requires use of option -b.

  • -f lf_location: Include support for Libfabric. "lf_location" is Libfabric install path. Requires use of option -b.

  • -t tm_location: Include support for Torque/PBS Pro. "tm_location" is path of the Torque/PBS Pro header files. Requires use of option -b.

  • -d: Build with debugging support. By default, the RPM is built without debugging support.

  • -c parameter: Add custom configure parameter.

  • -r parameter: Add custom RPM build parameter.

  • -s: If specified, the script will try to unpack the openmpi.spec file from the tarball specified on the command line. By default, the script will look for the specfile in the current directory.

  • -R directory: Specifies the top level RPM build direcotry.

  • -h: Prints script usage information.

Target architecture is currently hard-coded in the beginning of the buildrpm.sh script.

Alternatively, you can build directly from the openmpi.spec spec file or SRPM directly. Many options can be passed to the building process via rpmbuild's --define option (there are older versions of rpmbuild that do not seem to handle --define'd values properly in all cases, but we generally don't care about those old versions of rpmbuild...). The available options are described in the comments in the beginning of the spec file in this directory.