## REQUIREMENTS to compile GRASS GIS 7

A workstation running some flavor of UNIX including GNU/Linux, Solaris, IRIX, BSD, Mac OSX, Cygwin or MinGW (on Win32/Win64). Ideally, you should have at least 800 MB of free disk space. The source code package needs disk space of around 26 MB compressed and 440MB uncompressed. The resulting binaries may need between 20 MB and 180 MB depending on your platform and compiler flags. During a full compilation you may need temporarily up to 550MB including the source code.

To enable and disable features please read the INSTALL file.

### General requirements:

(most tools are standard tools on GNU/Linux, for other platforms you may have to install some of them.)

- C-compiler (cc, gcc, egcs, ...)
  gcc: https://www.gnu.org/software/gcc/gcc.html
- GNU make is recommended (at least version 3.81)
  https://www.gnu.org/software/make/make.html
- zlib compression library (already installed on most modern systems)
  It is used to internally compress GRASS raster maps.
  libz: https://www.zlib.net
- flex lexical analyzer generator (flex)
  Note: lex is no longer supported, please use flex instead.
  flex: https://github.com/westes/flex
- parser generator (yacc, bison)
  bison: https://www.gnu.org/software/bison/bison.html
- PROJ - Cartographic Projection Library
  https://proj.org/
- GDAL/OGR for import and export of most external raster and vector map formats
  https://gdal.org
- Python >= 2.7 (recommended >= 3.5) (for temporal framework, scripts, wxGUI, and ctypes interface)
  https://www.python.org

### Optional packages:

Note: also the respective development packages (commonly named xxx-dev or xxx-devel) need to be installed.

- C++ Compiler (required for the various C++ GRASS module)
  gcc: https://www.gnu.org/software/gcc/gcc.html
- bzip2, needed for raster compression with bzip2
  https://www.bzip.org
- zstd (Zstandard), needed for raster compression with zstd
  https://facebook.github.io/zstd
- FFTW 2.x or 3.x (library for computing the Discrete Fourier Transform), required for i.fft and i.ifft and other modules
  http://www.fftw.org
- GEOS (Geometry Engine library), needed for v.buffer and adds extended options to the v.select module
  https://trac.osgeo.org/geos
- LAPACK / BLAS (libraries for numerical computing) for GMATH library (GRASS Numerical Library)
  https://www.netlib.org/lapack (usually available on Linux distros)
  Note: LAPACK/BLAS support is at time only needed for selected Addons
- NetCDF (for 3D raster netcdf export)
  https://www.unidata.ucar.edu/software/netcdf/
- If hardware openGL support is missing in the X Server, Mesa-3.x (openGL clone) may be required for wxNVIZ
  https://mesa3d.org/
- libpng (for r.out.png and the PNG driver), usually already installed.
  http://www.libpng.org/pub/png/libpng.html
- libtiff (for r.out.tiff), usually already installed.
  https://gitlab.com/libtiff/libtiff
- readline for extra command prompt functionality
  https://tiswww.case.edu/~chet/readline/rltop.html
  ftp://ftp.gnu.org/gnu/readline
- PostgreSQL libraries (for the PostgreSQL database interface and PostGIS support)
  https://www.postgresql.org
- MariaDB/MySQL libraries (for the MySQL database interface)
  https://mariadb.org/
- SQLite libraries (for the SQLite database interface)
  https://www.sqlite.org
- unixODBC (for the ODBC database interface)
  http://www.unixodbc.org
- R Statistics (for the R statistical language interface)
  https://cran.r-project.org
- FreeType2 (for TrueType font support and d.text.freetype)
  https://www.freetype.org/
- Ctypes (for ctypes interface)
  Ctypes can be added as a third-party module in Python 2.3 and 2.4 - https://pypi.python.org/pypi/ctypes/1.0.2
  https://docs.python.org/library/ctypes.html
- wxPython >= 2.8.10.1 (for wxGUI)
  https://www.wxpython.org
- NumPy >= 1.0.4 (for various wxGUI components and pyGRASS)
  https://numpy.org
- Python dateutil Library ("python-dateutil", needed for the tgrass modules t.*)
  https://labix.org/python-dateutil
- Python PLY Library (Python Lex-Yacc) ("python-ply", needed for the temporal algebra in tgis)
  https://www.dabeaz.com/ply
- Python Imaging Library or PILLOW (highly recommended for wxGUI and necessary for wxGUI Cartographic Composer)
  https://www.pythonware.com/products/pil, newer versions are named "python-pillow"
- Python matplotlib > 1.2 ("python-matplotlib", needed for the several wxGUI tools)
  https://matplotlib.org/
- Python six Library ("python-six", needed for Python API)
  https://github.com/benjaminp/six
- Python wxPython backend for python-matplotlib ("python-matplotlib-wx", needed for e.g. g.gui.timeline)
  https://matplotlib.org/
- python-termcolor (recommended for g.search.modules)
  https://pypi.python.org/pypi/termcolor
- six (needed for cross-version Python compatibility)
  https://pypi.python.org/pypi/six
- FFMPEG or alternative (for wxGUI Animation tool - g.gui.module), specifically ffmpeg tool
  https://ffmpeg.org
- mpeg_encode or ppmtompeg tool (for r.out.mpeg module)
  https://ffmpeg.org
- Cairo >= 1.5.8 (for Cairo driver)
  https://cairographics.org
- AVCE00 and E00Compr Libraries (avcimport)
  https://avce00.maptools.org
- git (git for g.extension)
  https://git-scm.com/
- Subversion (svn in g.extension to fetch code selectively from grass-addons on GitHub)
  https://subversion.apache.org/

### Note:

SUN Solaris users may go here to download precompiled libraries etc.:
https://www.sunfreeware.com

SGI IRIX users may go here to download precompiled libraries etc.:
https://freeware.sgi.com

MacOSX users may go here to download precompiled libraries etc.:
https://fink.sourceforge.net

© GRASS Development Team 1997-2021

Please report bugs here:
https://grass.osgeo.org/contribute/