Compiling from source

Prerequisities

At the time of writing only UNIX-like operating system are officially supported. peekabot has been successfully built and tested on Linux as well as Mac OS X.

Libraries

In order to compile peekabot you will need to have the following libraries installed (including development libraries):

Environment

In order to use our build facilities you have to run a UNIX-like environment. That is, have a shell available. This means Linux/UNIX/OS X users are set to go, but if you're a Windows user you will need either MSYS (recommended) or Cygwin.

GCC is the compiler that we have used, exclusively, thus far. Version 3.4.6, 4.0.1, 4.0.3, 4.1.2, 4.2.3 are reported to work.

Obtaining the source

First, you have to download a copy of a the source. This can be done in two ways: either you can get a prepackaged release or download the latest, bleeding edge sources from our version control system.

While getting the sources from our bzr repository is almost as simple as using a prepackaged distribution it does require more tools to be available.

Getting the bleeding edge sources

To use the sources directly from our bzr repository you will need the GNU Autotools suit (autoconf, automake). Autoconf 2.59 and Automake 1.8 or newer are required, as well as a decently recent bzr client (http://bazaar-vcs.org/). Make sure you have the appropriate tools available before proceeding:

$ autoconf --version
$ automake --version

Get the latest revision from our bzr repository by issuing the following command:

$ bzr branch lp:peekabot

Use bzr pull to update an existing branch to the latest version.

Then, in the peekabot directory, install and generate the necessary support files by issuing the autoreconf command:

$ cd peekabot
$ autoreconf --install

You're now ready to continue with building the package, proceed to the Building section below.

Building

Proceed with the familiar configure-make sequence:

$ ./configure --prefix=/usr

If configure fails to detect all the needed packages you may have to specify additional arguments, refer to ./configure --help. You can also disable/enable certain components using the commands listed there (e.g. --disable-proxy).

On Mac OS X building the proxy may fail with an error message along the lines of not an object file (not allowed in a library). A workaround is to only build a static library by configuring with --disable-shared (if there are any Mac gurus out there with a better fix, please contribute it).

Once the package is configured compiling and installing is as simple as:

$ make
$ make install  (or run the program from src/peekabot, requires updating ~/.peekabot/config.xml)

...and you are all done. If you encounter build errors or need help, please report/ask on the mailing list.