Getting started

1. For the impatient

On Unix, Polygraph is configured and installed similar to many Unix packages.

./configure --prefix=/usr/local/polygraph
make && make install

For MS Windows users, Polygraph is distributed using InstallShield.

2. Requirements

Here is a minimalist check list for Polygraph.

  1. Unix or MS Windows operating system. Polygraph has been tested (to various degrees and at various times) on FreeBSD, OpenBSD, Linux, Solaris, True64 (former Digital) Unix, HPUX, IRIX, and Windows 2000 (both native and cygwin environments).

  2. A C++ compiler. Polygraph uses C++ features that are widely supported. Polygraph does not use STL library. A recent version of g++ from the GCC distribution should suffice for Unix platforms. We were using MS Visual C++ compiler for Windows port.

  3. Polygraph sources are less than 3MB uncompressed. Compile-time disk space depends on the environment. For example, during build, Polygraph 2.6.0 directory grows to 61MB on FreeBSD and to 140MB on Solaris. Installation directory takes under 30MB on FreeBSD and about 90MB on Solaris. Linking options and other environmental factors will affect disk usage.

  4. Processor, memory, disk, network, and other run-time resource requirements depend on the workload in use. For most production tests, at least two machines are required (to run Polygraph client and server processes).

    You may not need more than 1024 filedescriptors, but you probably will need more than 256. Be sure your OS can support the limit you need.

    Having an access to privileged ports and the ability to create IP aliases are not required, in general.

Most OS-specific instruction are Unix-centric. We do not know much about Windows environment.

3. Installation

3.1 Configuring the distribution

Polygraph comes with an auto-configuration script. The script analyses your environment and adjusts Polygraph settings accordingly. The configuration step is required for Polygraph installation.

  1. Unpack the archive. For example:

    gunzip -c polygraph-2.6.0-src.tar.gz | tar -xvf -

  2. Change your directory to polygraph/:

    cd polygraph

  3. Configure the distribution:


Watch configuration process for warnings or errors. In some cases, you may need to specify parameters for the configure script. Read the INSTALL file or type ./configure --help for more information.

Polygraph does not have optional modules of features that can be enabled or disabled at the configure time.

Note that configuration process caches some of the results. The cache can be found in the config.cache file. If you are fiddling with configuration parameters or are changing your setup, it is probably a good idea to remove that cache file before running configure again. Otherwise, the script may not notice the changes you have made. Furthermore, to remove all traces of a successful configuration and return to ground zero, you may run make distclean.

MS Windows users should skip the configuration step.

3.2 Building the distribution

  1. Change your directory to polygraph/ if you are not already there.

  2. Run


    If you do not have GNU make installed on your system, install it. Native makers may work, but GNU maker often works better.

    Watch out for compilation warnings and errors. Please report them to us. Not all warnings are harmful, but it never hurts to double check. In our environment, Polygraph compiles with no warnings.

  3. Make should create several executables including polyclt and polysrv. Those executables are sufficient for running most tests and analyzing the results.
  4. Some of the optional tools may not build on your system. For example, polymon requires, among other things, properly installed ncurses library.

  5. To install Polygraph files, run

    make install
    You may or may not need special file access permissions to do that, depending on what you told configure about the installation directory. By default, Polygraph will install into the /usr/local/polygraph/ directory.

If you get errors during the build, please report them to us. At the very least, we can probably help you to fix the problem. In general, without your feedback, the bug will remain there -- we do not release source code that has compilation problems in our environment, so if you see an error, you can be pretty sure we do not know about it...

MS Windows users do not have to compile Polygraph since binaries are available (in InstallShield format). However, they can try to compile Polygraph by running the config.bat batch file from Polygraph distribution (requires Microsoft nmake).

Polygraph is known to compile with g++ and MS Visual C++, but other compilers may work as well.

3.3 De-installation

At the time of writing, Polygraph does not support automated de-installation. You have to remove unneeded files manually.

4. Translations

This page has been unofficially translated to Serbo-Croatian language by Jovana Milutinovich from