Installing Staccato

This Web page describes how to set up Staccato and run a simple example. It is assumed that the target user of the system has basic familiarity with the Linux Operating System.

This documentation is created to be compatible with Red Hat or Ubuntu Linux Operating System running the bash shell. You might need to do minor modifications to the commands based on your environment. You do NOT need to have root access to your working machine in order to set up and run Staccato.

Source code is available from the download page.

1. Dependencies

You need to install the following dependency packages in order to run Staccato. The source code and examples in the Staccato release are compatible with the versions in parentheses:

  • PostgreSQL (9.0.4)
  • OpenFST (1.1): The OpenFST tarball is included in the Staccato release.

2. OpenFST Patch

After unpacking OpenFST, copy the two OpenFST patch files provided with the Staccato release (under staccato/src/patch_openfst/) to the appropriate folder in OpenFST (openfst-1.1/src/include/fst/). Allow it to overwrite.

cp path-to-staccato/src/patch_openfst/* path-to-openfst-1.1/src/include/fst/

Then, follow the OpenFST installation instructions and set it up. Note that root permission is NOT needed to install either PostgreSQL or OpenFST. When configuring their installation, use a proper prefix for local installation.

3. Environment Variables

After installing both the dependencies, adjust the environment variables in the file staccato/source.path accordingly:

  • BASEDIR: Staccato base directory
  • FSTDIR: Directory to which OpenFST is installed
  • PGDIR: PostgreSQL base directory
  • PGHOME: Directory to which PostgreSQL is installed
  • PATH and LD_LIBRARY_PATH need to be adjusted accordingly

Effect these changes (from the base directory):

source staccato.path

4. Compile

Simply use the given makefile to compile Staccato.


All binaries are stored in the staccato/bin folder. Your installation is now complete. Congratulations!

5. Set up the Sample Data (Optional)

After installing the above, download the 3 sample datasets (the ones used in the paper) from the same download page. Set up the PostsgreSQL database and load the data using the following steps:

export PGDATABASE=staccato
export PGPORT=5432
cd staccatoData
mkdir PGDATA
pg_ctl init -D PGDATA
pg_ctl start -D PGDATA -l logfile
createdb staccato

The loading takes about 15 minutes overall. The datasets loaded into the database can be queried using the provided front-end binaries (or even standard SQL). Usage instructions and examples are provided at the usage page.

For your convenience, all the above steps have been pre-implemented in an easy-to-use Virtual Machine available from the same download page.