Building the Overviewer from Source

These instructions are for building the C extension for Overviewer. Once you have finished with these instructions, head to Running the Overviewer.


Pre-built Windows and Debian executables are available on the Installing page. These kits already contain the compiled code and require no further setup, so you can skip to the next section of the docs: Running the Overviewer.

Get The Source

First step: download the platform-independent source! Either clone with Git (recommended if you know Git) or download the most recent snapshot

Once you have the source, see below for instructions on building for your system.

Build Instructions For Various Operating Systems

Windows Build Instructions

First, you’ll need a compiler. You can either use Visual Studio, or cygwin/mingw. The free Visual Studio Express is okay. You will want the C++ version (Microsoft® Visual C++® 2010 Express). Note that the Express version of Visual Studio will only build 32-bit executables. We currently don’t have a recommended way of building Overviewer on 64-bit Windows using free tools. If you have bought a copy of Visual Studio, you can use it for 64-bit builds.


You will need a copy of the PIL sources.

Building with Visual Studio

  1. Get the latest Overviewer source code as per above.

  2. From the Start menu, navigate to the ‘Microsoft Visual Studio 2010 Express’ and open the ‘Visual Studio Command Prompt (2010)’ shortcut.

  3. cd to the folder containing the Overviewer source code.

  4. Copy Imaging.h and ImPlatform.h from your PIL installation into the current working directory.

  5. First try a build:

    c:\python26\python build

If you encounter the following errors:

error: Unable to find vcvarsall.bat

then try the following:

set MSSdk=1
c:\python26\python build

If the build was successful, there should be a c_overviewer.pyd file in your current working directory.

Building with mingw

  1. Open a MinGW shell.

  2. cd to the Overviewer directory.

  3. Copy Imaging.h and ImPlatform.h from your PIL installation into the current working directory.

  4. Build:

    python build --compiler=mingw32


You will need the gcc compiler and a working build environment. On Ubuntu and Debian, this can be done by installing the build-essential package. For CentOS machines, see the CentOS 5 section below

You will need the following packages (at least):

  • python-imaging (for PIL)
  • python-dev
  • python-numpy

Then to build:

python build



You will need to have XCode and the XCode Command Line Tools installed (the Command Line Tools can be installed by going to the Downloads tab under the Xcode Preferences dialog).

  1. Download the source code for PIL from

  2. Compile the PIL code (python ./ build)

  3. Install PIL (sudo python ./ install)

  4. Find the path to the libImaging directory in the PIL source tree.

  5. Build Minecraft Overviewer with the path from step 4 as the value for PIL_INCLUDE_DIR:

    PIL_INCLUDE_DIR="path from step 4" python ./ build

The following script (copied into your MCO source directory) should handle everything for you:


# start with a clean place to work
python ./ clean

# get PIL
if [ ! -d "`pwd`/Imaging-1.1.7/libImaging" ]; then
    /usr/bin/curl -o imaging.tgz
    tar xzf imaging.tgz
    rm imaging.tgz

# build MCO
PIL_INCLUDE_DIR="`pwd`/Imaging-1.1.7/libImaging" python ./ build


FreeBSD is similar to OSX and Linux, but ensure you’re using Python 2.7. The port of Python 2.6 has bugs with threading under FreeBSD. Everything else you should need is ported, in particular math/py-numpy and graphics/py-imaging.

You may need or want to add the line:


to the file /etc/make.conf, but read the ports documentation to be sure of what this might do to other Python applications on your system.

CentOS 5


If you are using CentOS 6, you do not need to install the epel repo. CentOS 6 should come with the right python version, you can check your version running python –version.

Since CentOS has an older version of Python (2.4), there are some difficulties in getting the Overviewer to work. Follow these steps which have been reported to work.

Note: commands prefixed with a “#” mean to run as root, and “$” mean to run as a regular user.

  1. Install the EPEL repo. Go to step #2 if you already have the EPEL repo installed.
  1. $ wget
  2. # rpm -Uhv epel-release-5-4.noarch.rpm
  1. Install the python26 packages and build dependancies
  1. # yum install -y python26{,-imaging,-numpy}{,-devel} gcc
  1. Install and setup Overviewer
  1. $ git clone git://
  2. $ cd Minecraft-Overviewer
  3. $ python26 build
  4. Change the first line of from #!/usr/bin/env python to #!/usr/bin/env python26 so that the Python 2.6 interpreter is used instead of the default 2.4
  1. Run Overviewer as usual
  1. $ ./ path/to/world/ path/to/output/ or $ python26 path/to/ path/to/world/ path/to/output/
  2. Proceed to the Running instructions for more info.