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
described below).
The text below is specific to the series of
Open MPI and is available here in a
printer-friendly format.
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
reserved.
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 Cisco Systems, Inc. All rights reserved.
$COPYRIGHT$
Additional copyrights may follow
$HEADER$
===========================================================================
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
RPMs:
- openmpi-runtime
- openmpi-devel
- 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. The following options are permissable on the
"rpmbuild" command line via the --define option:
- lanl: 0 or 1 (default: 0)
A shortcut for several Los Alamos-specific options (see specfile for
current list of values -- look for "%if %{lanl}").
- install_in_opt: 0 or 1 (default: 0)
If 1, use a prefix of /opt/openmpi/-.
- install_profile_d_scripts: 0 or 1 (default: 0)
If 1, and install_in_opt is 1, then install the /etc/profile.d
scripts.
- install_modulefile: 0 or 1 (default: 0)
If 1 and if install_in_opt is 1, then install a modulefile in
%{modulefile_path}/%{modulefile_subdir}/%{modulefile_name}
- modulefile_path: string (default: "/etc/modulefiles")
Defaults to /etc/modulefiles
- modulefile_subdir: string (default: "openmpi")
Defaults to openmpi
- modulefile_name: string (default: "%{version}")
Defaults to %{version}
- modules_rpm_name: string ("modules")
Name of the environment modules RPM to "require".
- build_debuginfo_rpm: 0 or 1 (default: 0)
If 1, builds a corresponding debuginfo rpm.
- _prefix (etc.): string (default: supplied by rpmbuild)
Prefix directory (all other standard names are also supported, such
as _libdir, _sysconfdir, _includedir, etc.).
- configure_options: string (default: "")
String to pass directly to the ./configure script.
- _packager: string (default: supplied by rpmbuild)
Name of the packager
- _vendor: string (default: supplied by rpmbuild)
Name of the vendor
- cflags: string (default: supplied by rpmbuild: $RPM_OPT_FLAGS)
CFLAGS value to use
- cxxflags: string (default: supplied by rpmbuild: $RPM_OPT_FLAGS)
CXXFLAGS value to use
- f77flags: string (default: supplied by rpmbuild: $RPM_OPT_FLAGS)
F77FLAGS value to use
- fcflags: string (default: supplied by rpmbuild: $RPM_OPT_FLAGS)
F90FLAGS value to use
- mflags: string (default: "")
Flags to pass to the "make" [default] target during %build
- mflags_install: string (default: "")
Flags to pass to the "make install" target during %install
- build_all_in_one_rpm: 0 or 1 (default: 1)
If 1 (the default), make a single RPM that contains all of the Open
MPI software. If 0, build multiple sub-package RPMs to split up the
Open MPI code into separate functional areas. See the spec file for
the exact division and subpackage definitions.
- name: string (default "openmpi")
If set, used as the name of the RPM (useful if you want to add a
compiler name -- or some other qualifier -- to the RPM name).
|