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):
- FLTK 1.1.6+ (server only)
- boost 1.34+
- Boost.Thread
- Boost.DateTime
- Boost.Filesystem (server only)
- Boost.ProgramOptions? (server only)
- Boost.Test (optional, needed for unit tests)
- Xerces-C++ (server only)
- libpng (server only)
- OpenGL and GLU (server only)
- FreeType2 (server only)
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.
