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+).
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,blasandlapacklibrariesany 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.