System prerequisites

To configure and build GEOS you will need the following tools available on your system.

List of prerequisites

Minimal requirements:

  • CMake build system generator (3.24+).

  • build tools (GNU make or ninja on Linux, XCode on MacOS).

  • a C++ compiler with C++20 support. GEOS is tested with gcc 12 and 13, clang 14 to 22, and Apple Clang on macOS.

  • python 3.9-3.11 (versions 3.12+ are untested).

  • zlib, blas and lapack libraries

  • any compatible MPI runtime and compilers (if building with MPI)

If you want to build from a repository check out (instead of a release tarball):

  • git (2.20+ is tested, but most versions should work fine)

If you plan on building bundled third-party library (TPLs) dependencies yourself:

  • Compatible C and Fortran compilers

  • internet access (the library sources are downloaded during the build)

If you will be running the integrated tests (see Integrated Tests):

If you are interested in building Doxygen documentation:

In order for XML validation to work (executed as an optional build step):

Installing prerequisites

On a local development machine with sudo/root privileges, most of these dependencies can be installed with a system package manager. For example, on a Debian-based system such as Ubuntu 24.04 (check your package manager for specific package names):

sudo apt install build-essential git gcc g++ gfortran cmake libopenmpi-dev libblas-dev liblapack-dev zlib1g-dev python3 python3-h5py python3-mpi4py libxml2-utils

On HPC systems it is typical for these tools to be installed by system administrators and provided via modules. To list available modules, type:

module avail

Then load the appropriate modules using module load command. Please contact your system administrator if you need help choosing or installing appropriate modules.

On macOS, see Building on Apple macOS.