Building and installing the Heartbeat cluster messaging layer from
source amounts to building the following packages:

heartbeat itself;

the cluster-glue package containing the Heartbeat local resource
manager (LRM) and STONITH plugins.

Since heartbeat has a build dependency on cluster-glue, it is
necessary to build and install cluster-gluefirst, before one proceeds
with building and installing heartbeat.

3.1. Building and installing Cluster Glue from source

3.1.1. Cluster Glue build prerequisites

Building Cluster Glue requires the presence of the following tools and
libraries on the build system:

A C compiler (typically gcc) and associated C development libraries;

the flex scanner generator and the bison parser compiler;

net-snmp development headers, to enable SNMP related functionality;

OpenIPMI development headers, to enable IPMI related
functionality;

Python (just the language interpreter, not library headers).

Note

This list applies to the default software configuration. If you
configure the source with non-standard options, other dependencies may
apply.

3.1.2. Downloading Cluster Glue sources

Several options are available for retrieving the Cluster Glue source
code, for building locally on a target system.

Downloading a release tarball

Downloading a released version of Heartbeat as a compressed tarball is
equivalent to fetching a tagged snapshot from the Mercurial source
code repository. Release tags follow the format glue-x.y.z, where
x.y.z is the released version of Cluster Glue you wish to download.

If, for example, one wants to download the 1.0.1 release, the correct
sequence of commands would be:

3.1.3. Building Cluster Glue

Building Cluster Glue is an automated process making extensive use of
GNU Autotools. When building and installing on the same machine, it
usually amounts to just the following sequence of commands:

$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

Note

The autogen.sh script is a convenience wrapper around automake,
autoheader, autoconf, and libtool.

A number of configuration options are supported, and you may tweak
some of them to optimize Heartbeat for your system. To retrieve a list
of configuration options, you may invoke configure with the --help
option. A customized build may thus comprise these steps: