Because every parallel computation environment is different, Open MPI
is a highly configurable piece of software. As such, a single set of
build options is not sufficient to meet everyone's needs. The source
RPM therefore accepts a wide variety of configuration options on the
rpmbuild --rebuild" command line. The following text
describes the options that are available.
A script to build an Open MPI RPM from a source tarball is available here, and is
referred to as "
buildrpm.sh" in the text below.
Additionally, you can build an Open MPI RPM from the SRPM (also
The text below is specific to the series of
Open MPI and is available here in a
Note that the spec file (that the text below refers to) has many
more comments and explanations of rpmbuild-time configuration options,
and is available here.
Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
University Research and Technology
Corporation. All rights reserved.
Copyright (c) 2004-2006 The University of Tennessee and The University
of Tennessee Research Foundation. All rights
Copyright (c) 2004-2006 High Performance Computing Center Stuttgart,
University of Stuttgart. All rights reserved.
Copyright (c) 2004-2006 The Regents of the University of California.
All rights reserved.
Copyright (c) 2006-2007 Cisco Systems, Inc. All rights reserved.
Additional copyrights may follow
The buildrpm.sh script takes a single 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
- openmpi-docs (not currently generated because we have no docs; to
be rectified soon!)
The prefix, target architecture, and choice of RPM(s) to build are all
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.