### Navigation

- next
- previous |
- S3QL 1.14 documentation »

# Installation

S3QL depends on several other programs and libraries that have to be installed first. The best method to satisfy these dependencies depends on your distribution. In some cases S3QL and all its dependencies can be installed with as little as three commands, while in other cases more work may be required.

The S3QL Wiki contains installation instructions for quite a few different Linux distributions. You should only use the generic instructions in this manual if your distribution is not included in the distribution-specific installation instructions on the wiki.

## Dependencies

The following is a list of the programs and libraries required for running S3QL. Generally, you should first check if your distribution already provides a suitable packages and only install from source if that is not the case.

- Kernel: Linux 2.6.9 or newer or FreeBSD with FUSE4BSD. Starting with kernel 2.6.26 you will get significantly better write performance, so under Linux you should actually use 2.6.26 or newer whenever possible.

- Python 2.7.0 or newer (but not Python 3.x). Make sure to also install the development headers.

- The PyCrypto++ Python Module. To check if this module is installed, try to execute `python -c 'import pycryptopp'`.

- SQLite version 3.7.0 or newer. SQLite has to be installed as a shared library with development headers.

- The APSW Python Module. To check which (if any) version of APWS is installed, run the command

      python -c 'import apsw; print apsw.apswversion()'

  The printed version number should be at least 3.7.0. Note that APSW must be linked dynamically against SQLite, so you can not use the Ubuntu PPA at https://launchpad.net/~ubuntu-rogerbinns/+archive/apsw (these packages are statically linked).

- The PyLibLZMA Python module. To check if this module is installed, execute `python -c 'import lzma; print lzma.__version__'`. This should print a version number. You need at least version 0.5.3.

- The Python LLFUSE module. To check if this module is installed, execute `python -c 'import llfuse; print llfuse.__version__'`. This should print a version number. You need at least version 0.37.

## Installing S3QL

To install S3QL itself, proceed as follows:

1. Download S3QL from http://code.google.com/p/s3ql/downloads/list
2. Unpack it into a folder of your choice
3. Run `python setup.py build` to build S3QL.
4. Run `python setup.py test` to run a self-test. If this fails, ask for help on the mailing list or report a bug in the issue tracker.

Now you have three options:

- You can run the S3QL commands from the `bin/` directory.
- You can install S3QL system-wide for all users. To do that, you have to run `sudo python setup.py install`.
- You can install S3QL into `~/.local` by executing `python setup.py install --user`. In this case you should make sure that `~/.local/bin` is in your `$PATH` environment variable.

## Development Version

If you have checked out the unstable development version from the Mercurial repository, a bit more effort is required. You need to also have Cython (0.16 or newer) and Sphinx (1.1 or newer) installed, and the necessary commands are:

    python setup.py build_cython
    python setup.py build_ext --inplace
    python setup.py build_sphinx
    python setup.py test
    python setup.py install

### Navigation

- next
- previous |
- S3QL 1.14 documentation »