Getting started

Downloading CIEL

The CIEL source code is available from our github repository. To obtain the code, the first step is to checkout a working copy of the repository:

$ git clone

This will create a directory named ciel in the current directory. You can run CIEL directly from that directory.

Installing dependencies

Before running CIEL, you may need to install various dependencies. We develop CIEL on Ubuntu 10.04 and Fedora, and use the following packages; however, these may vary based on the exact version of your operating system.

Packages apt-get yum install
Python 2.5+ python python
PLY 3.0+ python-ply python-ply
httplib2 python-httplib2 python-httplib2
simplejson python-simplejson python-simplejson
CherryPY 3.1.2+ python-cherrypy3 python-cherrypy3
PycURL python-pycurl python-pycurl
cURL curl curl
lighttpd lighttpd lighttpd
flup python-flup python-flup

In addition, the following packages are required to build the bindings for all languages.

Packages apt-get yum install
ant ant ant
OpenJDK 6 openjdk-6-jdk openjdk-6-jre java-1.6.0-openjdk-devel
Mono mono-devel mono-mcs mono-devel
m4 m4 m4
GCC gcc gcc
Protocol buffers python-protobuf protobuf-devel ?

Building the bindings

If you want to use the foreign language executors, you will need to build the bindings by doing the following in the CIEL directory:

$ ./

Setting your PYTHONPATH

You must configure your environment before running CIEL:

$ export CLROOT=/path/to/ciel/directory

Starting the master and a worker

The master can be started with default options as follows:

$ $CLROOT/scripts/

In another terminal, start a worker with the following:

$ $CLROOT/scripts/ -p 8001

Submitting your first job

The sw-start-job script starts a job, based on a package file. Example package files can be found in the src/package directory. The following starts a simple test job:

$ $CLROOT/scripts/sw-start-job \
        -m http://localhost:8000/ \