Clone wiki

SCons / SconsBuildRequirements

The SCons wiki has moved to

Build requirements for packaging SCons


To build SCons you need to have Python version 2.7 or later installed, as well as its developer package named python-dev under Debian. You'll also need the setuptools, named python-setuptools.

Full builds, including all docs

However, if you want to build the docs as well, it will be more complicated. You'll need some extra packages:

You need to have the Python binding for either libxml2 or lxml installed. For rendering PDF documents, you'll need a program like fop, xep or jw available in your system-wide $PATH. Creating the EPUB output files of the UserGuide and the MAN page, both depend on the Ghostscript executable gs for creating the front cover image. fop requires Java but is easily installed via apt-get on Debian/Ubuntu. jw is available for Debian/Ubuntu as part of the docbook-utils package. You'll also need epydoc in the python-epydoc package.

See also DeveloperGuide/Documentation for further details.

Master script

In the SCons source tree you can also find the script bin/, which can be used to setup your current environment for special development tasks. Calling it with:

python bin/ build

should automatically install the required packages, as mentioned above.

Problem: recent Debian distros

A problem exists for the Windows installer that gets created during the process. Under more recent Debian distributions, e.g. Ubuntu Linux 14.04, the required "wininst.exe" files aren't included in the "python" packages anymore. That's because they are binary files without a source. But they are needed when the distutils try to create the installer, and the build stops with an error like:

  error: [Errno 2] No such file or directory:
/usr/lib/python2.7/distutils/command/wininst-6.0.exe not included in
the Debian packages.

Against this, you can either download a standard Python source archive from and extract the "*.exe" files from its folder Lib/distutils/command, or you simply grab the following archive:


. Then copy the "*.exe" files to the distutils/command folder of your local Python installation, e.g. /usr/lib/python2.7/distutils/command. Done.