REQUIREMENTS.html 9.03 KB
Newer Older
xuebingbing's avatar
xuebingbing committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <title>REQUIREMENTS to compile GRASS GIS 7</title>
 <link rel="stylesheet" href="grassdocs.css" type="text/css">
</head>
<body bgcolor="#FFFFFF">

<h2>REQUIREMENTS to compile GRASS GIS 7</h2>

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.
<p>
To enable and disable features please read the <a href="INSTALL">INSTALL</a> file.

<h3>General requirements:</h3>

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

<ul>
<li><b>C-compiler</b> (cc, gcc, egcs, ...)
<br>gcc: <a href="https://www.gnu.org/software/gcc/gcc.html">https://www.gnu.org/software/gcc/gcc.html</a>
</li>

<li><b>GNU make</b> is recommended (at least version 3.81)
<br><a href="https://www.gnu.org/software/make/make.html">https://www.gnu.org/software/make/make.html</a>
</li>

<li><b>zlib</b> compression library (already installed on most modern systems)
<br>It is used to internally compress GRASS raster maps.
<br>libz: <a href="https://www.zlib.net">https://www.zlib.net</a>
</li>

<li><b>flex</b> lexical analyzer generator (flex)
<br>Note: lex is no longer supported, please use flex instead.
<br>flex: <a href="https://github.com/westes/flex">https://github.com/westes/flex</a>
</li>

<li><b>parser generator</b> (yacc, bison)
<br>bison: <a href="https://www.gnu.org/software/bison/bison.html">https://www.gnu.org/software/bison/bison.html</a>
</li>

<li><b>PROJ</b> - Cartographic Projection Library<br>
<a href="https://proj.org/">https://proj.org/</a>
</li>

<li><b>GDAL/OGR</b> for import and export of most external raster and vector
map formats<br>
<a href="https://gdal.org">https://gdal.org</a>
</li>

<li><b>Python &gt;= 2.7 (recommended &gt;= 3.5)</b> (for temporal framework, scripts, wxGUI, and ctypes interface)<br>
<a href="https://www.python.org">https://www.python.org</a>
</li>

</ul>

<h3>Optional packages:</h3>

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

<ul>

<li><b>C++ Compiler</b> (required for the various C++ GRASS module)<br>
gcc: <a href="https://www.gnu.org/software/gcc/gcc.html">https://www.gnu.org/software/gcc/gcc.html</a>
</li>

<li><b>bzip2</b>, needed for raster compression with bzip2<br>
<a href="https://www.bzip.org">https://www.bzip.org</a>
</li>

<li><b>zstd</b> (Zstandard), needed for raster compression with zstd<br>
<a href="https://facebook.github.io/zstd">https://facebook.github.io/zstd</a>
</li>

<li><b>FFTW 2.x or 3.x</b> (library for computing the Discrete Fourier Transform), required
for i.fft and i.ifft and other modules<br>
<a href="http://www.fftw.org">http://www.fftw.org</a>
</li>

<li><b>GEOS</b> (Geometry Engine library), needed for v.buffer and adds extended options
to the v.select module<br>
<a href="https://trac.osgeo.org/geos">https://trac.osgeo.org/geos</a>
</li>

<li><b>LAPACK / BLAS</b> (libraries for numerical computing) for GMATH library (GRASS Numerical Library)<br>
<a href="https://www.netlib.org/lapack">https://www.netlib.org/lapack</a> (usually available on Linux distros)
<br>
<i>Note:</i> LAPACK/BLAS support is at time only needed for selected Addons

<li><b>NetCDF</b> (for 3D raster netcdf export)<br>
<a href="https://www.unidata.ucar.edu/software/netcdf/">https://www.unidata.ucar.edu/software/netcdf/</a>
</li>

<li>If hardware openGL support is missing in the X Server, <b>Mesa-3.x</b> (openGL clone)
may be required for wxNVIZ<br>
<a href="https://mesa3d.org/">https://mesa3d.org/</a>
</li>

<li><b>libpng</b> (for r.out.png and the PNG driver), usually already installed.<br>
<a href="http://www.libpng.org/pub/png/libpng.html">http://www.libpng.org/pub/png/libpng.html</a>
</li>

<li><b>libtiff</b> (for r.out.tiff), usually already installed.<br>
<a href="https://gitlab.com/libtiff/libtiff">https://gitlab.com/libtiff/libtiff</a>
</li>

<li><b>readline</b> for extra command prompt functionality
<br><a href="https://tiswww.case.edu/~chet/readline/rltop.html">https://tiswww.case.edu/~chet/readline/rltop.html</a>
<br><a href="ftp://ftp.gnu.org/gnu/readline">ftp://ftp.gnu.org/gnu/readline</a>
</li>

<li><b>PostgreSQL libraries</b> (for the PostgreSQL database interface and PostGIS support)<br>
<a href="https://www.postgresql.org">https://www.postgresql.org</a>
</li>

<li><b>MariaDB/MySQL libraries</b> (for the MySQL database interface)<br>
<a href="https://mariadb.org/">https://mariadb.org/</a>
</li>

<li><b>SQLite libraries</b> (for the SQLite database interface)<br>
<a href="https://www.sqlite.org">https://www.sqlite.org</a>
</li>

<li><b>unixODBC</b> (for the ODBC database interface)<br>
<a href="http://www.unixodbc.org">http://www.unixodbc.org</a>
</li>

<li><b>R Statistics</b> (for the R statistical language interface)<br>
<a href="https://cran.r-project.org">https://cran.r-project.org</a>
</li>

<li><b>FreeType2</b> (for TrueType font support and d.text.freetype)<br>
  <a href="https://www.freetype.org/">https://www.freetype.org/</a>
</li>

<li><b>Ctypes</b> (for ctypes interface)<br>
Ctypes can be added as a third-party module in Python 2.3 and 2.4
- <a href="https://pypi.python.org/pypi/ctypes/1.0.2">https://pypi.python.org/pypi/ctypes/1.0.2</a><br>
<a href="https://docs.python.org/library/ctypes.html">https://docs.python.org/library/ctypes.html</a>
</li>

<li><b>wxPython &gt;= 2.8.10.1</b> (for wxGUI)<br>
<a href="https://www.wxpython.org">https://www.wxpython.org</a>
</li>

<li><b>NumPy &gt;= 1.0.4</b> (for various wxGUI components and pyGRASS)<br>
<a href="https://numpy.org">https://numpy.org</a>
</li>

<li><b>Python dateutil Library</b> ("python-dateutil", needed for the tgrass modules t.*)<br>
<a href="https://labix.org/python-dateutil">https://labix.org/python-dateutil</a>
</li>

<li><b>Python PLY Library (Python Lex-Yacc)</b> ("python-ply", needed for the temporal algebra in tgis)<br>
<a href="https://www.dabeaz.com/ply">https://www.dabeaz.com/ply</a>
</li>

<li><b>Python Imaging Library or PILLOW</b> (highly recommended for wxGUI and necessary for wxGUI Cartographic Composer)<br>
<a href="https://www.pythonware.com/products/pil">https://www.pythonware.com/products/pil</a>,
newer versions are named "python-pillow"
</li>

<li><b>Python matplotlib &gt; 1.2</b> ("python-matplotlib", needed for the several wxGUI tools)<br>
<a href="https://matplotlib.org/">https://matplotlib.org/</a>
</li>

<li><b>Python six Library</b> ("python-six", needed for Python API)<br>
<a href="https://github.com/benjaminp/six">https://github.com/benjaminp/six</a>
</li>

<li><b>Python wxPython backend for python-matplotlib</b> ("python-matplotlib-wx", needed for e.g. g.gui.timeline)<br>
<a href="https://matplotlib.org/">https://matplotlib.org/</a>
</li>

<li><b>python-termcolor</b> (recommended for g.search.modules)<br>
<a href="https://pypi.python.org/pypi/termcolor">https://pypi.python.org/pypi/termcolor</a>
</li>

<li><b>six</b> (needed for cross-version Python compatibility)<br>
<a href="https://pypi.python.org/pypi/six">https://pypi.python.org/pypi/six</a>
</li>

<li><b>FFMPEG or alternative</b> (for wxGUI Animation tool - g.gui.module),
    specifically ffmpeg tool<br>
<a href="https://ffmpeg.org">https://ffmpeg.org</a>
</li>

<li><b>mpeg_encode or ppmtompeg tool</b> (for r.out.mpeg module)<br>
<a href="https://ffmpeg.org">https://ffmpeg.org</a>
</li>

<li><b>Cairo &gt;= 1.5.8</b> (for Cairo driver)<br>
<a href="https://cairographics.org">https://cairographics.org</a>
</li>

<!-- really needed? -->
<li><b>AVCE00 and E00Compr Libraries</b> (avcimport)<br>
<a href="https://avce00.maptools.org">https://avce00.maptools.org</a>
</li>

<li><b>git</b> (git for g.extension)<br>
<a href="https://git-scm.com/">https://git-scm.com/</a><br>
</li>
 
<li><b>Subversion</b> (svn in g.extension to fetch code selectively from grass-addons on GitHub)<br>
<a href="https://subversion.apache.org/">https://subversion.apache.org/</a><br>
</ul>


<h3>Note:</h3>

<!-- since 2014 no longer supported: -->
SUN Solaris users may go here to download precompiled libraries etc.:
<br><a href="https://www.sunfreeware.com">https://www.sunfreeware.com</a>

<p>
<!-- no longer supported: -->
SGI IRIX users may go here to download precompiled libraries etc.:
<br><a href="https://freeware.sgi.com">https://freeware.sgi.com</a>

<p>
MacOSX users may go here to download precompiled libraries etc.:
<br><a href="https://fink.sourceforge.net">https://fink.sourceforge.net</a>

<p>

<hr width="100%">
xuebingbing's avatar
xuebingbing committed
236
<i>&copy; GRASS Development Team 1997-2020</i>
xuebingbing's avatar
xuebingbing committed
237 238 239 240 241 242 243 244 245
<p>Please report bugs here:
<br><a href="https://grass.osgeo.org/development/bug-tracking/">https://grass.osgeo.org/development/bug-tracking/</a>

<!--
<p>
<i>Last changed: $Date$</i>
-->
</body>
</html>