Installing Software Required for GeoEco Development

Before you can write code for GeoEco, you must install some utilities, compilers, and programming libraries. Nearly all of these are free and we hope to keep it that way in the future.

Required software

Plus your choice of C++ compiler:

or all of these:

You also need the most recent versions of:

Important notes

Python 2.4 and 2.5 are both needed if you intend to build GeoEco for both versions of Python. Because GeoEco includes Python extension modules written in C++ (it is not a "pure Python" implementation) the resulting installer files are Python-version-specific. A separate installer file must be built for each supported version of Python.

If you choose the free C++ compilers rather than Visual Studio .NET 2003:

The compilers must be installed to their default locations in C:\Program Files! The build scripts will fail if they are installed elsewhere.

Even though the Platform SDK specifies Windows Server 2003 in the title, it is compatible with Windows XP. (You can verify this on Microsoft's download page.) You should install it regardless of whether you have Server 2003 or XP. Do not install a different version of the Platform SDK; the GeoEco build script is written to look for this version.

While GeoEco can be installed on Windows Vista, the installation packages cannot be built on Vista because the required C++ compilers are not supported by Microsoft on Vista. We use these to compile GeoEco's C++ Python extension modules. We selected these compilers because they were used by the Python team to compile the Windows versions of Python 2.4 and 2.5 and we want to ensure our modules are compatible. Also, as noted above, distutils specifically requires these compilers when building on Windows. Until Python and distutils use new compilers, we will continue to require Windows XP or Server 2003 for GeoEco development.

ArcGIS 9.1 is required because the GeoEco build script creates an ArcGIS geoprocessing toolbox (.tbx file). ArcGIS .NET components are required to create this toolbox. ArcGIS 9.2 cannot be used because the resulting toolbox will not be backward compatible with ArcGIS 9.1. When GeoEco stops supporting ArcGIS 9.1, a newer version will be used.

Numpy is required because some of the C++ extension modules use macros and types from Numpy's C header files. Docutils is required because the build script uses it to create the GeoEco documentation files.

GeoEco is not currently supported on operating systems other than Windows, although much of it is theoretically compatible. The core modules as well as the build and installation script, setup.py, were written to be operating system independent, although setup.py is currently written to raise an exception if you try it. Please contact us if you want to try it on other operating systems.

TODO: Describe optional software