Installing the Cooperative Computing Tools

Last edited: November 2014

The Cooperative Computing Tools are Copyright (C) 2003-2004 Douglas Thain
and Copyright (C) 2005- The University of Notre Dame.
All rights reserved.
This software is distributed under the GNU General Public License.
See the file COPYING for details.


The Cooperative Computing Tools (cctools) are a collection of programs that enable large scale distributed computing on systems such as clusters, clouds, and grids. These tools are commonly used in fields of science and engineering that rely on large amounts of computing.

The components of the cctools are:

  • Parrot - A personal virtual file system.
  • Chirp - A distributed file and storage system.
  • Makeflow - A workflow engine similar to Make.
  • Work Queue - A flexible master-worker library.
  • SAND - A scalable genome assembly framework.
  • All-Pairs - A computational abstraction.
  • Wavefront - A computational abstraction.
  • Installing From a Binary Package

    Binary packages are available for several operating systems at the download page Simply unpack the tarball in any directory that you like, and then add the bin directory to your path. For example, to install cctools 4.2.2 for RHEL6 in your home directory: cd $HOME wget gunzip cctools-4.2.2-x86_64-redhat6.tar.gz tar xvf cctools-4.2.2-x86_64-redhat6.tar export PATH=$HOME/cctools-4.2.2-x86_64-redhat6/bin:$PATH On Windows, the procedure is similar: cd %UserProfile% winzip32 -e set PATH=%UserProfile%\cctools\bin;%PATH%

    Installing From Source

    Download a source package from the download page. And follow this recipe while logged in as any ordinary user: wget gunzip cctools-4.2.2-source.tar.gz tar xvf cctools-4.2.2-source.tar cd cctools-4.2.2-source ./configure make make install export PATH=${HOME}/cctools/bin:$PATH Or, you can directly build the latest version from our git repository: git clone cctools-source cd cctools-source ./configure make make install export PATH=${HOME}/cctools/bin:$PATH The software will happily build and run without installing any external packages. Optionally, the cctools will interoperate with a variety of external packages for security and data access. To use these, you must download and install them separately:
  • iRODS (version 4.0.3)
  • Globus (version 5.0.3)
  • FUSE
  • Hadoop
  • xRootD
  • Once the desired packages are correctly installed, unpack the cctools and then issue a configure command that points to all of the other installations. Then, make and install as before. For example: ./configure --with-globus-path /usr/local/globus ... make make install export PATH=${HOME}/cctools/bin:$PATH

    Build Instructions for iRODS

    Building Parrot with support for the iRODS service requires some custom build instructions, since Parrot requires access to some internals of iRODS that are not usually available. To do this, first make a source build of iRODS in your home directory:

    cd $HOME git clone cd irods-source git checkout 4.0.3 packaging/ --run-in-place icommands Then, configure and build cctools relative to that installation: git clone cctools-source cd cctools-source ./configure --with-irods-path $HOME/irods-src ... make make install

    Build Instructions for Mac OS X

    In order to build CCTools on Mac OS X you must first have the Xcode Command Line Tools installed. For OS X 10.9 and later this can be done using the following command:

    xcode-select --install Then, click "Install" in the window that appears on the screen. If the command line tools are already installed, you will get an error and can proceed with the instructions in the "Installing From Source" section above. For OS X versions before 10.9, you will need to first install Xcode. Xcode can be found in the App Store or on the installation disk.

  • Cooperative Computing Tools Documentation Index