This site best when viewed with a modern standards-compliant browser. We recommend Firefox Get Firefox!.

Linux-HA project logo
Providing Open Source High-Availability Software for Linux and other OSes since 1999.

USA Flag UK Flag

Japanese Flag


About Us

Contact Us

Legal Info

How To Contribute

Security Issues

This web page is no longer maintained. Information presented here exists only to avoid breaking historical links.
The Project stays maintained, and lives on: see the Linux-HA Reference Documentation.
To get rid of this notice, you may want to browse the old wiki instead.

1 February 2010 Hearbeat 3.0.2 released see the Release Notes

18 January 2009 Pacemaker 1.0.7 released see the Release Notes

16 November 2009 LINBIT new Heartbeat Steward see the Announcement

Last site update:
2020-01-19 09:39:56

This page describes how to install and compile the HeartbeatProgram on MacOS X (Panther) - feedback via the mailing lists or this wiki page are welcome.

This is a work in progress and feedback is welcome. You can email me at andrew at beekhof dot net.

Update (07-05-2004): The basic HeartbeatProgram will run on MacOS X (Panther) and play nicely with HeartbeatProgram(s) running on other OSes... horah! However (boo!) there appears to be some issues that prevent clients (such as the CCM and parts of the NewHeartbeatDesign) from connecting to it. Essentially, this relates to sockets and security. Unfortunately, while Apple provides a man-page for getpeereid(), they neglected to also provide an implementation... not happy Jan! I will be investigating alternatives in the comming days and if necessary, weeks.

Update (27 June 2004): A solution has been found and is awaiting final approval before commiting to CVS HEAD.

Update (28 June 2004): Now that I know it wont be a waste of time, a Cocoa GUI is in development".

Update (04 October 2004): The authentication/autorization issues mentioned above have been addressed and will be checked into CVS once the patch has been reviewed.

Update (14 November 2004): The authentication/autorization patch has been checked in. I'd really like to replace it with getpeereid() though. Added some post install instructions.

Version numbers in []'s indicate the versions I used when writing this document, your milage may vary.

  1. Buy a mac and install panther :)

  2. Install fink [0.7.0]:
  3. Install XCode [1.1]:
  4. Using fink, install:
    • bison [1.35-2]
    • libtool14 [1.5-1]
    • glib [1.2.10-18]
    • glib2-dev [2.2.3-2]

    • pkgconfig [0.15.0-2]
    • popt [1.7-1]
    • libnet [1.1.0-3]
    • libxml2 [2.6.7-1]
    • gettext [0.10.40-17]
    • gettext-dev [0.10.40-17]
      There have been reports that a manual install (Ie. from source) is required for gettext... I havent found this necessary.

    • gengetopt [2.7.1-11]
    • automake1.7 [1.7.6-2] (NOTE: automake != automake1.7 in fink)
    • autoconf2.5 [2.57-2] (NOTE: autoconf != autoconf2.5 in fink)
  5. If you wish to compile anything using UUIDs (Ie. the NewHeartbeatDesign)

    1. Download e2fsprogs-libs [1.35]:
    2. ./configure --prefix=/sw

    3. make

    4. sudo make install

  6. Patch your version of Darwin so that getpeereid() is available. Paul Day has a nice page on compiling the kernel. Hopefully one day we wont need to...

  7. Download Heartbeat [CVS HEAD (required)]:
    1. ./ConfigureMe bootstrap [--enable-crm], The --enable-crm is optional
      Be sure to run ./ConfigureMe not ./configure as it sets a number of defaults especially for OSX.

    2. make

      • You may get an error like that below when you first run make. If so, just run make again and it should work version mismatch. This is Automake 1.7.6, but the definition used by this AM_INIT_AUTOMAKE comes from Automake 1.7.3. You should recreate aclocal.m4 with aclocal and run automake again.
    3. sudo make install

  8. Afterwards, you'll need to create the following using "netinfo manager":
    1. a user called hacluster with uid = 65, primary gid = 65 and home = /sw/lib/heratbeat

    2. a group called haclient with gid = 65
      I Recommend placing root and hacluster in this group

  9. Now is a good time to run /sw/lib/heartbeat/BasicSanityCheck

    • Note: You should update TESTIP before running the test

  10. Send feedback on this process and the end result to