Compiling on Debian
Due to Debian's long cycle for its "stable" distribution, the packages available in its repositories are often considered too old to support when help is sought on mailing lists, IRC, etc. If those packages work for you, it is generally best to continue using them. However if you run into issues with bugs or lack of new features, you may want to compile the newest version, and this guide describes how to do that.
This was initially posted to the mailing list by Kostiantyn Ponomarenko on 2015-01-15.
IMPORTANT: do this installation step-by-step, as the order is significant.
This guide only compiles the software; it does not put them into packages. However that should be easy to do using the checkinstall command.
Update for Debian 8 "Jessie" and later
Due to Debian Bug #768618, pacemaker and related packages had to be removed from the Jessie release. The short version is that Debian ported a pacemaker that depended on a newer libqb then failed to get the newer libqb in before the Jessie freeze deadline, necessitating the removal of pacemaker altogether.
The Debian-HA team has ported newer versions of ClusterLabs projects to Debian unstable, and made that available via jessie-backports. Debian 9 "Stretch" will once again have the packages in the stable distribution.
Software version used in this guide
- libqb 0.17.0
- corosync 2.3.3
- cluster-glue 1.0.12
- resource-agents 3.9.5
- pacemaker 1.1.12
- crmsh 2.1.0
$ sudo apt-get install build-essential $ sudo apt-get install automake autoconf $ sudo apt-get install libtool $ sudo apt-get install pkg-config
LIBQB (needed by Corosync)
Download from https://github.com/ClusterLabs/libqb/releases
$ echo "0.17.0" > .tarball-version $ ./autogen.sh $ ./configure $ make $ sudo make install
Download from https://github.com/corosync/corosync/releases
$ sudo apt-get install libnss3-dev groff $ echo "2.3.3" > .tarball-version $ ./autogen.sh $ ./configure $ make $ sudo make install
(node fencing plugins, an error reporting utility, and other reusable cluster components from the Linux HA project)
Download from http://hg.linux-ha.org/glue/archive/glue-1.0.12.tar.bz2
$ sudo apt-get install libaio-dev libtool-bin (!) install dependencies for pacemaker (below) before proceed $ ./autogen.sh $ ./configure --enable-fatal-warnings=no $ make $ sudo make install
(Combined repository of OCF agents from the RHCS and Linux-HA projects)
Download from https://github.com/ClusterLabs/resource-agents/releases
$ echo "3.9.5" > .tarball-version $ ./autogen.sh $ ./configure $ make $ sudo make install
Download from https://github.com/ClusterLabs/pacemaker/releases
$ sudo apt-get install uuid-dev $ sudo apt-get install libglib2.0-dev $ sudo apt-get install libxml2-dev $ sudo apt-get install libxslt1-dev $ sudo apt-get install libbz2-dev $ sudo apt-get install libncurses5-dev $ sudo addgroup --system haclient $ sudo adduser --system --no-create-home --ingroup haclient hacluster $ ./autogen.sh $ ./configure $ make $ sudo make install
Download from https://github.com/crmsh/crmsh/releases
$ sudo apt-get install python-lxml $ ./autogen.sh $ ./configure $ make $ sudo make install