<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://grasswiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%E2%9A%A0%EF%B8%8FNila</id>
	<title>GRASS-Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://grasswiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%E2%9A%A0%EF%B8%8FNila"/>
	<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/wiki/Special:Contributions/%E2%9A%A0%EF%B8%8FNila"/>
	<updated>2026-04-17T20:20:36Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=ERROR:_wxGUI_requires_wxPython&amp;diff=27207</id>
		<title>ERROR: wxGUI requires wxPython</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=ERROR:_wxGUI_requires_wxPython&amp;diff=27207"/>
		<updated>2023-09-28T07:55:48Z</updated>

		<summary type="html">&lt;p&gt;⚠️Nila: Add more MacPorts instructions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Q:''' I'm trying to start the graphical user interface but it tells me&lt;br /&gt;
&lt;br /&gt;
 ERROR: wxGUI requires wxPython. No module named 'wx'&lt;br /&gt;
&lt;br /&gt;
'''A:''' The solution depends on the operating system in use. In general, the package &amp;quot;python3-wxPython&amp;quot; (naming may vary) is needed.&lt;br /&gt;
&lt;br /&gt;
'''Things to verify''':&lt;br /&gt;
* do you use Anaconda? Please check if you have colliding Python versions. If not, read on below.&lt;br /&gt;
&lt;br /&gt;
'''Linux''' specific notes:&lt;br /&gt;
&lt;br /&gt;
* Archlinux:&lt;br /&gt;
** python-wxpython&lt;br /&gt;
&lt;br /&gt;
* Centos:&lt;br /&gt;
** &amp;lt;code&amp;gt;sudo dnf install python-wxpython4&amp;lt;/code&amp;gt; (or via software manager)&lt;br /&gt;
&lt;br /&gt;
* Debian:&lt;br /&gt;
** the &amp;quot;grass-gui&amp;quot; package depends (automatically) on &amp;quot;python-wxgtk3.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Fedora:&lt;br /&gt;
** &amp;lt;code&amp;gt;sudo dnf install python3-wxpython4&amp;lt;/code&amp;gt; (or via software manager)&lt;br /&gt;
&lt;br /&gt;
* openSuSe:&lt;br /&gt;
** python3-wxPython needed, see discussion in https://forums.opensuse.org/showthread.php/542338-grass-7-8-from-the-science-package (and elsewhere - TODO: any better solution?)&lt;br /&gt;
&lt;br /&gt;
* Slackware:&lt;br /&gt;
** please add&lt;br /&gt;
&lt;br /&gt;
* Ubuntu:&lt;br /&gt;
** &amp;lt;code&amp;gt;sudo apt-get install python3-wxgtk4.0&amp;lt;/code&amp;gt; (or via software manager)&lt;br /&gt;
&lt;br /&gt;
'''Mac''':&lt;br /&gt;
* In case you are using MacPorts, install GRASS with &amp;lt;code&amp;gt;sudo port install grass +gui&amp;lt;/code&amp;gt;. It is also possible to add only wxPython with e.g.&amp;lt;code&amp;gt;sudo port install py311-wxpython-4.0&amp;lt;/code&amp;gt;, but you have to make sure you use the same Python version (in the example Python 3.11) as the GRASS installation.&lt;br /&gt;
&lt;br /&gt;
'''Windows''':&lt;br /&gt;
* .. error should not happen since wxPython is included in the GRASS GIS Windows installer.&lt;br /&gt;
&lt;br /&gt;
'''Conda''' related notes (note that many user actually do not use conda):&lt;br /&gt;
* Here a suggested solution with a virtual environment: https://stackoverflow.com/a/58902163/452464&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>⚠️Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=ERROR:_wxGUI_requires_wxPython&amp;diff=27205</id>
		<title>ERROR: wxGUI requires wxPython</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=ERROR:_wxGUI_requires_wxPython&amp;diff=27205"/>
		<updated>2023-09-28T07:38:07Z</updated>

		<summary type="html">&lt;p&gt;⚠️Nila: Update for MacPorts instruction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Q:''' I'm trying to start the graphical user interface but it tells me&lt;br /&gt;
&lt;br /&gt;
 ERROR: wxGUI requires wxPython. No module named 'wx'&lt;br /&gt;
&lt;br /&gt;
'''A:''' The solution depends on the operating system in use. In general, the package &amp;quot;python3-wxPython&amp;quot; (naming may vary) is needed.&lt;br /&gt;
&lt;br /&gt;
'''Things to verify''':&lt;br /&gt;
* do you use Anaconda? Please check if you have colliding Python versions. If not, read on below.&lt;br /&gt;
&lt;br /&gt;
'''Linux''' specific notes:&lt;br /&gt;
&lt;br /&gt;
* Archlinux:&lt;br /&gt;
** python-wxpython&lt;br /&gt;
&lt;br /&gt;
* Centos:&lt;br /&gt;
** &amp;lt;code&amp;gt;sudo dnf install python-wxpython4&amp;lt;/code&amp;gt; (or via software manager)&lt;br /&gt;
&lt;br /&gt;
* Debian:&lt;br /&gt;
** the &amp;quot;grass-gui&amp;quot; package depends (automatically) on &amp;quot;python-wxgtk3.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Fedora:&lt;br /&gt;
** &amp;lt;code&amp;gt;sudo dnf install python3-wxpython4&amp;lt;/code&amp;gt; (or via software manager)&lt;br /&gt;
&lt;br /&gt;
* openSuSe:&lt;br /&gt;
** python3-wxPython needed, see discussion in https://forums.opensuse.org/showthread.php/542338-grass-7-8-from-the-science-package (and elsewhere - TODO: any better solution?)&lt;br /&gt;
&lt;br /&gt;
* Slackware:&lt;br /&gt;
** please add&lt;br /&gt;
&lt;br /&gt;
* Ubuntu:&lt;br /&gt;
** &amp;lt;code&amp;gt;sudo apt-get install python3-wxgtk4.0&amp;lt;/code&amp;gt; (or via software manager)&lt;br /&gt;
&lt;br /&gt;
'''Mac''':&lt;br /&gt;
* In case you are using MacPorts, install GRASS with &amp;lt;code&amp;gt;sudo port install grass +gui&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Windows''':&lt;br /&gt;
* .. error should not happen since wxPython is included in the GRASS GIS Windows installer.&lt;br /&gt;
&lt;br /&gt;
'''Conda''' related notes (note that many user actually do not use conda):&lt;br /&gt;
* Here a suggested solution with a virtual environment: https://stackoverflow.com/a/58902163/452464&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>⚠️Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_MacPorts&amp;diff=27200</id>
		<title>Compiling on macOS using MacPorts</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_MacPorts&amp;diff=27200"/>
		<updated>2023-09-22T08:38:55Z</updated>

		<summary type="html">&lt;p&gt;⚠️Nila: Update reflecting port changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing GRASS GIS with MacPorts ==&lt;br /&gt;
&lt;br /&gt;
MacPorts is a package management system for macOS. It makes it easy to install and update any supported software &amp;amp;mdash; dependencies (that can be either executables or libraries) are installed and updated automatically. It is recommended to install the MacPort base software with the package installer available at [https://guide.macports.org macports.org] where also detailed installation and usage instructions can be found. Note that Xcode is a prerequisite and that MacPorts is controlled through the Terminal with the '''port''' command.&lt;br /&gt;
&lt;br /&gt;
Assuming you succeeded with the installation of the MacPorts base, the base software can be updated with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Information on software, i.e. ''ports'', that can be installed can be retrieved with the '''info''' action, this is an example with the port '''grass''' (which is the latest version):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
port info grass&lt;br /&gt;
&lt;br /&gt;
grass @8.3.0_4 (gis)&lt;br /&gt;
Variants:             debug, debugoptimized, gui, mysql57, mysql8, openblas,&lt;br /&gt;
                      openmpi, postgresql10, postgresql11, postgresql12,&lt;br /&gt;
                      postgresql13, postgresql14, [+]postgresql15, proj6, proj7,&lt;br /&gt;
                      proj8, [+]proj9, python310, [+]python311, python37,&lt;br /&gt;
                      python38, python39, universal&lt;br /&gt;
&lt;br /&gt;
Description:          GRASS is a Geographic Information System (GIS) used for&lt;br /&gt;
                      geospatial data management and analysis.&lt;br /&gt;
Homepage:             https://grass.osgeo.org/&lt;br /&gt;
&lt;br /&gt;
Build Dependencies:   pkgconfig&lt;br /&gt;
Library Dependencies: bzip2, freetype, fftw-3, gdal, pdal, geos, tiff, libpng,&lt;br /&gt;
                      liblas, cairo, zlib, sqlite3, readline, python311,&lt;br /&gt;
                      py311-Pillow, py311-numpy, py311-six, proj9, postgresql15&lt;br /&gt;
Runtime Dependencies: py311-psycopg2&lt;br /&gt;
Platforms:            darwin&lt;br /&gt;
License:              GPL-2+&lt;br /&gt;
Maintainers:          Email: n_larsson yahoo com, GitHub: nilason&lt;br /&gt;
                      Policy: openmaintainer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ''variants'' are options for a port that can be chosen at installation. The variants marked with a '''+''', are included by default.&lt;br /&gt;
&lt;br /&gt;
Installing GRASS with default variants:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install grass&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
will download, compile and install GRASS with dependencies ''postgresql15'', ''proj9'' and ''python311''.&lt;br /&gt;
&lt;br /&gt;
However, a customized installation may look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install grass +gui +python39&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will replace the default ''python311'' with ''python39'' and include also the ''gui'' dependency. The default variants ''postgresql14'' and ''proj8'' will in this case also be included.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' you need to add '''+gui''' to install wxPython for GRASS graphical user interface, this in not included by default.&lt;br /&gt;
&lt;br /&gt;
To check if any of the installed ports (or dependencies) have been updated:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
port outdated&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To update outdated ports:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port upgrade outdated&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using GRASS GIS installed with MacPorts ==&lt;br /&gt;
&lt;br /&gt;
A standard installation of MacPorts will install ports at:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/opt/local/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Installation with the variant ''+gui'' will also install an app bundle at:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Applications/MacPorts/GRASS-8.3.app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can start GRASS GIS from terminal with command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grass&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/opt/local/bin/grass&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>⚠️Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_MacPorts&amp;diff=26833</id>
		<title>Compiling on macOS using MacPorts</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_MacPorts&amp;diff=26833"/>
		<updated>2023-03-22T18:04:06Z</updated>

		<summary type="html">&lt;p&gt;⚠️Nila: Update example using latest GRASS version port 'grass'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing GRASS GIS with MacPorts ==&lt;br /&gt;
&lt;br /&gt;
MacPorts is a package management system for macOS. It makes it easy to install and update any supported software &amp;amp;mdash; dependencies (that can be either executables or libraries) are installed and updated automatically. It is recommended to install the MacPort base software with the package installer available at [https://guide.macports.org macports.org] where also detailed installation and usage instructions can be found. Note that Xcode is a prerequisite and that MacPorts is controlled through the Terminal with the '''port''' command.&lt;br /&gt;
&lt;br /&gt;
Assuming you succeeded with the installation of the MacPorts base, the base software can be updated with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Information on software, i.e. ''ports'', that can be installed can be retrieved with the '''info''' action, this is an example with the port '''grass''' (which is the latest version):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
port info grass&lt;br /&gt;
&lt;br /&gt;
grass @8.2.1 (gis)&lt;br /&gt;
Variants:             debug, gui, mysql57, mysql8, openblas, openmpi, postgresql10, postgresql11, postgresql12, postgresql13, [+]postgresql14, proj6, proj7, [+]proj8, python36, python37, python38,&lt;br /&gt;
                      [+]python39, sqlite, universal&lt;br /&gt;
&lt;br /&gt;
Description:          GRASS is a Geographic Information System (GIS) used for geospatial data management and analysis.&lt;br /&gt;
Homepage:             http://grass.osgeo.org/&lt;br /&gt;
&lt;br /&gt;
Build Dependencies:   pkgconfig&lt;br /&gt;
Library Dependencies: bzip2, freetype, fftw-3, gdal, pdal, geos, tiff, libpng, liblas, cairo, zlib, readline, python39, py39-Pillow, py39-numpy, py39-six, proj8, postgresql14&lt;br /&gt;
Runtime Dependencies: py39-psycopg2&lt;br /&gt;
Platforms:            darwin&lt;br /&gt;
License:              GPL-2+&lt;br /&gt;
Maintainers:          none&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ''variants'' are options for a port that can be chosen at installation. The variants marked with a '''+''', are included by default.&lt;br /&gt;
&lt;br /&gt;
Installing GRASS with default variants:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install grass&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
will download, compile and install GRASS with dependencies ''postgresql14'', ''proj8'' and ''python39''.&lt;br /&gt;
&lt;br /&gt;
However, a customized installation may look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install grass +gui +python37 +sqlite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will replace the default ''python39'' with ''python37'' and include also the ''gui'' and ''sqlite'' dependencies. The default variants ''postgresql14'' and ''proj8'' will in this case also be included.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' you need to add '''+gui''' to install wxPython for GRASS graphical user interface, this in not included by default.&lt;br /&gt;
&lt;br /&gt;
To check if any of the installed ports (or dependencies) have been updated:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
port outdated&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To update outdated ports:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port upgrade outdated&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using GRASS GIS installed with MacPorts ==&lt;br /&gt;
&lt;br /&gt;
A standard installation of MacPorts will install ports at:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/opt/local/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Installation with the variant ''+gui'' will also install an app bundle at:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Applications/MacPorts/GRASS-8.2.app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can start GRASS GIS from terminal with command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grass&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/opt/local/bin/grass&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>⚠️Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_MacPorts&amp;diff=26832</id>
		<title>Compiling on macOS using MacPorts</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_MacPorts&amp;diff=26832"/>
		<updated>2023-03-22T17:54:21Z</updated>

		<summary type="html">&lt;p&gt;⚠️Nila: Update with latest GRASS version port 'grass', added note on wxPython&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing GRASS GIS with MacPorts ==&lt;br /&gt;
&lt;br /&gt;
MacPorts is a package management system for macOS. It makes it easy to install and update any supported software &amp;amp;mdash; dependencies (that can be either executables or libraries) are installed and updated automatically. It is recommended to install the MacPort base software with the package installer available at [https://guide.macports.org macports.org] where also detailed installation and usage instructions can be found. Note that Xcode is a prerequisite and that MacPorts is controlled through the Terminal with the '''port''' command.&lt;br /&gt;
&lt;br /&gt;
Assuming you succeeded with the installation of the MacPorts base, the base software can be updated with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Information on software, i.e. ''ports'', that can be installed can be retrieved with the '''info''' action, this is an example with the port '''grass''' (which is the latest version):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
port info grass&lt;br /&gt;
&lt;br /&gt;
grass @8.2.1 (gis)&lt;br /&gt;
Variants:             debug, gui, mysql57, mysql8, openblas, openmpi, postgresql10, postgresql11, postgresql12, postgresql13, [+]postgresql14, proj6, proj7, [+]proj8, python36, python37, python38,&lt;br /&gt;
                      [+]python39, sqlite, universal&lt;br /&gt;
&lt;br /&gt;
Description:          GRASS is a Geographic Information System (GIS) used for geospatial data management and analysis.&lt;br /&gt;
Homepage:             http://grass.osgeo.org/&lt;br /&gt;
&lt;br /&gt;
Build Dependencies:   pkgconfig&lt;br /&gt;
Library Dependencies: bzip2, freetype, fftw-3, gdal, pdal, geos, tiff, libpng, liblas, cairo, zlib, readline, python39, py39-Pillow, py39-numpy, py39-six, proj8, postgresql14&lt;br /&gt;
Runtime Dependencies: py39-psycopg2&lt;br /&gt;
Platforms:            darwin&lt;br /&gt;
License:              GPL-2+&lt;br /&gt;
Maintainers:          none&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ''variants'' are options for a port that can be chosen at installation. The variants marked with a '''+''', are included by default.&lt;br /&gt;
&lt;br /&gt;
Installing GRASS with default variants:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install grass&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
will download, compile and install GRASS with dependencies ''postgresql14'', ''proj8'' and ''python39''.&lt;br /&gt;
&lt;br /&gt;
However, a customized installation may look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install grass +gui +python37 +sqlite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will replace the default ''python39'' with ''python37'' and include also the ''gui'' and ''sqlite'' dependencies. The default variants ''postgresql14'' and ''proj8'' will in this case also be included.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' you need to add '''+gui''' to install wxPython for GRASS graphical user interface, this in not included by default.&lt;br /&gt;
&lt;br /&gt;
To check if any of the installed ports (or dependencies) have been updated:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
port outdated&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To update outdated ports:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port upgrade outdated&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using GRASS GIS installed with MacPorts ==&lt;br /&gt;
&lt;br /&gt;
A standard installation of MacPorts will install ports at:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/opt/local/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Installation with the variant ''+gui'' will also install an app bundle at:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Applications/MacPorts/GRASS-7.8.app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can start GRASS GIS from terminal with command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grass78&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/opt/local/bin/grass78&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>⚠️Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install&amp;diff=26430</id>
		<title>Compile and Install</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install&amp;diff=26430"/>
		<updated>2020-12-15T17:39:46Z</updated>

		<summary type="html">&lt;p&gt;⚠️Nila: Add note and link to miniconda build script for Mac&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- {{MoveToTrac}} --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Disclaimer''': This page explains how to turn the GRASS GIS source code into an installable binary package (&amp;quot;compilation&amp;quot;) for different operating systems. If you just want to get ready-to-use binaries, go [https://grass.osgeo.org/download/ here], otherwise read on...&lt;br /&gt;
&lt;br /&gt;
== How to do compilation and installation of GRASS GIS? ==&lt;br /&gt;
&lt;br /&gt;
Here we explain the procedure to compile GRASS from GitHub, but it also applies to official GRASS 7 releases.&lt;br /&gt;
&lt;br /&gt;
''For installation of precompiled binary packages, see the main [[Installation Guide]].''&lt;br /&gt;
&lt;br /&gt;
For detailed information on compilation, please see the [https://github.com/OSGeo/grass/blob/master/INSTALL INSTALL] file in the source code.&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
==== Extra libraries ====&lt;br /&gt;
GRASS GIS needs at least two extra libraries: PROJ and GDAL/OGR. It is recommended to download them as ready-to-use packages for your software platform (Linux distribution, Windows, Mac...).&lt;br /&gt;
&lt;br /&gt;
Other libraries needed to run GRASS are listed on the [http://htmlpreview.github.io/?https://github.com/OSGeo/grass/blob/master/REQUIREMENTS.html requirements page].&lt;br /&gt;
&lt;br /&gt;
To compile, you will also need the respective &amp;quot;-devel&amp;quot; packages; see below for details.&lt;br /&gt;
&lt;br /&gt;
==== Download GRASS GIS source code ====&lt;br /&gt;
&lt;br /&gt;
First, [https://grass.osgeo.org/download/ download the GRASS GIS source code].&lt;br /&gt;
&lt;br /&gt;
=== Generic Compilation and installation procedure ===&lt;br /&gt;
&lt;br /&gt;
* It is wise that compilation processes are carried out as a normal user: If you want to get the source code in a place where you do not have write permissions (e.g. in /usr/local/src/) just follow this:&lt;br /&gt;
      cd /usr/local/src/ &lt;br /&gt;
      su -c 'mkdir grass7'&lt;br /&gt;
      su -c 'chown yourlogin:yourgroup grass7'&lt;br /&gt;
&lt;br /&gt;
Otherwise if you have permissions just continue as a normal user:&lt;br /&gt;
      mkdir $HOME/src&lt;br /&gt;
      cd $HOME/src/&lt;br /&gt;
      git clone https://github.com/OSGeo/grass.git grass_master&lt;br /&gt;
&lt;br /&gt;
* run configure with parameters to adapt the compile process to your own system. To see what options can be passed to it, run:&lt;br /&gt;
 ./configure --help | less &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- The minimum set of configure parameters is &lt;br /&gt;
      ./configure ### --&amp;gt;&lt;br /&gt;
It may (!) look like this:&lt;br /&gt;
 &lt;br /&gt;
      ./configure \&lt;br /&gt;
          --with-cxx \&lt;br /&gt;
          --with-sqlite \&lt;br /&gt;
          --with-python \&lt;br /&gt;
          --with-geos \&lt;br /&gt;
          --with-gdal=/usr/bin/gdal-config \&lt;br /&gt;
          --with-cairo --with-cairo-ldflags=-lfontconfig \&lt;br /&gt;
          --with-freetype \&lt;br /&gt;
          --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
          --with-proj --with-proj-share=/usr/share/proj&lt;br /&gt;
&lt;br /&gt;
You may have to explicitly state the path for certain packages (i.e., gdal). The Unix 'locate' command will come in handy for finding the path of the package you need (you may have to run locate as root ex: sudo locate gdal-config).&lt;br /&gt;
&lt;br /&gt;
Please note that the paths mentioned may widely vary due to the distribution used.&lt;br /&gt;
See [[Compile_and_Install#Platform_Specific_Notes|Platform Specific Notes]] below.&lt;br /&gt;
&lt;br /&gt;
Depending on your needs it may be a good idea to include debugging hooks.&lt;br /&gt;
: See [[GRASS_Debugging#Compile_Time_Setup]].&lt;br /&gt;
 CFLAGS=&amp;quot;-ggdb -Wall -Werror-implicit-function-declaration&amp;quot; ./configure ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the end of configuration process you should get report not much different from this:&lt;br /&gt;
&lt;br /&gt;
  GRASS is now configured for:  x86_64-pc-linux-gnu&lt;br /&gt;
  &lt;br /&gt;
  Source directory:           /home/user/software/grass_master&lt;br /&gt;
  Build directory:            /home/user/software/grass_master&lt;br /&gt;
  Installation directory:     ${prefix}/grass79&lt;br /&gt;
  Startup script in directory:${exec_prefix}/bin&lt;br /&gt;
  C compiler:                 gcc -O2 -march=native -std=gnu99 -fexceptions -fstack-protector -m64 -fdiagnostics-color &lt;br /&gt;
  C++ compiler:               c++ -g -Wall&lt;br /&gt;
  Building shared libraries:  yes&lt;br /&gt;
  OpenGL platform:            X11&lt;br /&gt;
  &lt;br /&gt;
  MacOSX application:         no&lt;br /&gt;
  MacOSX architectures:       &lt;br /&gt;
  MacOSX SDK:                 &lt;br /&gt;
  &lt;br /&gt;
  BLAS support:               yes&lt;br /&gt;
  BZIP2 support:              no&lt;br /&gt;
  C++ support:                yes&lt;br /&gt;
  Cairo support:              yes&lt;br /&gt;
  DWG support:                no&lt;br /&gt;
  FFTW support:               yes&lt;br /&gt;
  FreeType support:           yes&lt;br /&gt;
  GDAL support:               yes&lt;br /&gt;
  GEOS support:               yes&lt;br /&gt;
  [...]&lt;br /&gt;
&lt;br /&gt;
* Let's compile it (takes a little while...)!&lt;br /&gt;
      make -j2&lt;br /&gt;
* At the end, you should get report not much different from this:&lt;br /&gt;
 ----------------------------------------------------------------------&lt;br /&gt;
 Following modules are missing the 'description.html' file in src code:&lt;br /&gt;
 ----------------------------------------------------------------------&lt;br /&gt;
 GRASS GIS compilation log&lt;br /&gt;
 -------------------------&lt;br /&gt;
 Started compilation: Mon 19 Aug 2019 10:47:57 PM CEST&lt;br /&gt;
 --&lt;br /&gt;
 Errors in:&lt;br /&gt;
 No errors detected.&lt;br /&gt;
 --&lt;br /&gt;
 Finished compilation: Mon 19 Aug 2019 10:55:12 PM CEST&lt;br /&gt;
 (In case of errors please change into the directory with error and run 'make')&lt;br /&gt;
&lt;br /&gt;
* If there is any error, change directory to directory with error and run &amp;quot;make&amp;quot; again. Report occurring bug to GRASS mailing list&lt;br /&gt;
* Once the installation process is finished, you're ready to install GRASS system wide.&lt;br /&gt;
      su -c 'make install'&lt;br /&gt;
* enjoy GRASS: &lt;br /&gt;
      grass79&lt;br /&gt;
&lt;br /&gt;
=== What else? ===&lt;br /&gt;
&lt;br /&gt;
If you want to use [http://www.qgis.org QGIS], then also compile the GRASS-GDAL/OGR plugin. This is also useful to access your GRASS-data&lt;br /&gt;
from other application using GDAL/OGR like [http://thuban.intevation.de thuban].&lt;br /&gt;
* [[Compile and install GRASS and QGIS with GDAL/OGR Plugin]] (enables QGIS to read GRASS data directly)&lt;br /&gt;
&lt;br /&gt;
=== Compile and install GDAL-GRASS plugin ===&lt;br /&gt;
&lt;br /&gt;
* See [[Compile and install GDAL-GRASS plugin]]&lt;br /&gt;
&lt;br /&gt;
=== Platform Specific Notes ===&lt;br /&gt;
&lt;br /&gt;
==== Linux ====&lt;br /&gt;
&lt;br /&gt;
Linux comes in various flavours, i.e. distributions.&lt;br /&gt;
&lt;br /&gt;
===== Distribution related packaging =====&lt;br /&gt;
&lt;br /&gt;
* Arch Linux: https://github.com/czka/AUR-grass7&lt;br /&gt;
* Centos: https://src.fedoraproject.org/rpms/grass&lt;br /&gt;
* Debian: https://trac.osgeo.org/grass/wiki/DebianUbuntuPackaging&lt;br /&gt;
* EPEL: https://src.fedoraproject.org/rpms/grass&lt;br /&gt;
* Fedora: https://src.fedoraproject.org/rpms/grass&lt;br /&gt;
* Ubuntu: https://trac.osgeo.org/grass/wiki/DebianUbuntuPackaging&lt;br /&gt;
&lt;br /&gt;
===== Generic procedure for Debian-based distributions (Ubuntu, ...) =====&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
1. Install official GRASS package&lt;br /&gt;
&lt;br /&gt;
 sudo apt install grass grass-dev&lt;br /&gt;
&lt;br /&gt;
2. Enable source code download&lt;br /&gt;
&lt;br /&gt;
 # do backup first&lt;br /&gt;
 sudo cp /etc/apt/sources.list /etc/apt/sources.list.orig&lt;br /&gt;
 sudo sed -i '/^#\sdeb-src /s/^# *//' /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
3. Install GRASS dependencies&lt;br /&gt;
&lt;br /&gt;
 sudo apt build-dep grass&lt;br /&gt;
&lt;br /&gt;
4. Download GRASS source code&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/osgeo/grass&lt;br /&gt;
&lt;br /&gt;
5. Compile GRASS from source code&lt;br /&gt;
 &lt;br /&gt;
 cd grass&lt;br /&gt;
&lt;br /&gt;
Configure:&lt;br /&gt;
&lt;br /&gt;
 grass --config build | sh&lt;br /&gt;
&lt;br /&gt;
Optionally install missing dependecies (can happen when official GRASS package is not compatible with GRASS master), eg.&lt;br /&gt;
&lt;br /&gt;
 sudo apt install libzstd-dev&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
&lt;br /&gt;
 make -j2&lt;br /&gt;
&lt;br /&gt;
6. Run locally or install&lt;br /&gt;
&lt;br /&gt;
 ./bin.x86_64-pc-linux-gnu/grass79 --version&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 sudo make install&lt;br /&gt;
 grass79 --version&lt;br /&gt;
&lt;br /&gt;
===== Debian =====&lt;br /&gt;
&lt;br /&gt;
* Official [http://wiki.debian.org/DebianGis DebianGIS] packaging control files, available on git server:&lt;br /&gt;
  git://git.debian.org/git/pkg-grass/grass.git&lt;br /&gt;
&lt;br /&gt;
  http://anonscm.debian.org/cgit/pkg-grass/grass.git/&lt;br /&gt;
&lt;br /&gt;
====== GRASS 6.1 on Debian Sarge ======&lt;br /&gt;
&lt;br /&gt;
* [http://hamish.bowman.googlepages.com/debiangisfiles#compile Compiling GRASS 6.1-CVS on Debian/OldStable (aka 3.1, Sarge)]&lt;br /&gt;
&lt;br /&gt;
====== GRASS 6.4 on Debian Lenny ======&lt;br /&gt;
&lt;br /&gt;
Install needed packages:&lt;br /&gt;
  apt-get install flex bison libreadline-dev libncurses5-dev lesstif2-dev debhelper dpatch libtiff4-dev \&lt;br /&gt;
          tcl-dev tk-dev libfftw3-dev libxmu-dev libfreetype6-dev autoconf2.13 autotools-dev doxygen \&lt;br /&gt;
          libmysqlclient15-dev graphviz libsqlite3-dev python-wxgtk2.8 libcairo2-dev libwxgtk2.8-dev \&lt;br /&gt;
          python-dev libgdal1-dev  libgdal1-1.5.0 libproj-dev libproj0 proj-bin proj-data mysql&lt;br /&gt;
&lt;br /&gt;
# Important: avoid using CFLAGS=&amp;quot;... -Werror-implicit-function-declaration&amp;quot; (also on later Debian versions), see {{trac|1684}}&lt;br /&gt;
&lt;br /&gt;
Configure:&lt;br /&gt;
  ./configure \&lt;br /&gt;
  --with-cxx \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-postgres --with-postgres-includes=/usr/include/postgresql \&lt;br /&gt;
  --with-mysql --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql \&lt;br /&gt;
  --with-odbc \&lt;br /&gt;
  --with-cairo \&lt;br /&gt;
  --with-proj-share=/usr/share/proj \&lt;br /&gt;
  --with-tcltk-includes=/usr/include/tcl8.4/ \&lt;br /&gt;
  --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
  --with-motif --with-fftw --with-nls --with-python \&lt;br /&gt;
  --with-x --x-libraries=/usr/lib/x86_64-linux-gnu&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
====== GRASS 6.4 on Debian Jessie ======&lt;br /&gt;
&lt;br /&gt;
Install needed packages:&lt;br /&gt;
  apt-get install flex bison debhelper dpatch autoconf2.13 autotools-dev \&lt;br /&gt;
    python-dev g++ gcc gettext graphviz libcairo2-dev libfftw3-dev tcl-dev tk-dev \&lt;br /&gt;
    libfreetype6-dev libgdal1h libgdal1-dev libglu1-mesa-dev libglw1-mesa-dev \&lt;br /&gt;
    libncurses5-dev libreadline-dev libsqlite3-dev libtiff5-dev \&lt;br /&gt;
    libwxgtk3.0-dev libxmu-dev libxmu-headers libxt-dev mesa-common-dev \&lt;br /&gt;
    libproj-dev proj-bin proj-data python-numpy python-wxgtk3.0 subversion wx-common zlib1g-dev \&lt;br /&gt;
    netcdf-bin libnetcdf-dev libatlas-dev libgegl-dev doxygen postgresql mysql-server \&lt;br /&gt;
    libgeotiff-dev libblas-dev libgeotiff-epsg libxmu-dev libxt-dev libx11-dev&lt;br /&gt;
&lt;br /&gt;
# Important: avoid using CFLAGS=&amp;quot;... -Werror-implicit-function-declaration&amp;quot; (also on later Debian versions), see {{trac|1684}}&lt;br /&gt;
&lt;br /&gt;
Configure:&lt;br /&gt;
  ./configure \&lt;br /&gt;
  --with-cxx \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-postgres \&lt;br /&gt;
  --with-odbc \&lt;br /&gt;
  --with-cairo \&lt;br /&gt;
  --with-geos \&lt;br /&gt;
  --with-proj-share=/usr/share/proj \&lt;br /&gt;
  --with-tcltk-includes=/usr/include/tcl8.6/ \&lt;br /&gt;
  --with-mysql --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql \&lt;br /&gt;
  --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
  --with-motif \&lt;br /&gt;
  --with-fftw \&lt;br /&gt;
  --with-nls \&lt;br /&gt;
  --with-postgres-includes=/usr/include/postgresql \&lt;br /&gt;
  --with-python \&lt;br /&gt;
  --with-x --x-libraries=/usr/lib/x86_64-linux-gnu&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
====== GRASS 7 on Debian Squeeze ======&lt;br /&gt;
&lt;br /&gt;
Install needed packages:&lt;br /&gt;
 apt-get install flex bison debhelper dpatch autoconf2.13 autotools-dev python-dev \&lt;br /&gt;
     g++ gcc gettext graphviz libcairo2-dev libfftw3-dev libfreetype6-dev \&lt;br /&gt;
     libgdal1 libgdal1-dev libglu1-mesa-dev libglw1-mesa-dev \&lt;br /&gt;
     libncurses5-dev libproj-dev libreadline-dev libsqlite3-dev libtiff4-dev \&lt;br /&gt;
     libwxgtk2.8-dev libxmu-dev libxmu-headers libxt-dev mesa-common-dev \&lt;br /&gt;
     proj-bin proj-data python-numpy python-wxgtk2.8 subversion wx-common zlib1g-dev&lt;br /&gt;
&lt;br /&gt;
Download source code:&lt;br /&gt;
&lt;br /&gt;
 svn checkout https://svn.osgeo.org/grass/grass/trunk grass_trunk&lt;br /&gt;
&lt;br /&gt;
Configure:&lt;br /&gt;
 &lt;br /&gt;
 cd grass_trunk/&lt;br /&gt;
 CFLAGS=&amp;quot;-Wall -Werror-implicit-function-declaration -fno-common -Wextra -Wunused&amp;quot; \&lt;br /&gt;
 CXXFLAGS=&amp;quot;-Wall&amp;quot;  \&lt;br /&gt;
  ./configure --prefix=/usr/local \&lt;br /&gt;
  --with-gdal --with-proj --with-proj-share=/usr/share \&lt;br /&gt;
  --with-glw --with-nls --with-readline \&lt;br /&gt;
  --without-tcltk \&lt;br /&gt;
  --with-cxx \&lt;br /&gt;
  --enable-largefile \&lt;br /&gt;
  --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-cairo --with-python=/usr/bin/python2.6-config --with-wxwidgets \&lt;br /&gt;
  --with-geos --with-pthread&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
  sudo make install  # installs as /usr/local/bin/grass72&lt;br /&gt;
&lt;br /&gt;
====== GRASS 7 on Debian Wheezy ======&lt;br /&gt;
&lt;br /&gt;
Install needed packages:&lt;br /&gt;
&lt;br /&gt;
 # note: cmake and libboost-all-dev only needed for optional libLAS&lt;br /&gt;
 sudo apt-get install cmake libboost-all-dev&lt;br /&gt;
 &lt;br /&gt;
 sudo apt-get install flex bison debhelper dpatch autoconf2.13 autotools-dev \&lt;br /&gt;
   python-dev g++ gcc gettext graphviz libcairo2-dev libfftw3-dev libfreetype6-dev \&lt;br /&gt;
   libgdal1 libgdal1-dev libglu1-mesa-dev libglw1-mesa-dev libncurses5-dev libproj-dev \&lt;br /&gt;
   libreadline-dev libtiff4-dev libwxgtk2.8-dev libxmu-dev libxmu-headers \&lt;br /&gt;
   libxt-dev mesa-common-dev proj-bin proj-data python-numpy python-wxgtk2.8 subversion wx-common \&lt;br /&gt;
   zlib1g-dev netcdf-bin libatlas-dev libgegl-dev opencl-headers ocl-icd-libopencl1 \&lt;br /&gt;
   libsqlite3-dev postgresql python-sphinx python-gdal&lt;br /&gt;
&lt;br /&gt;
Download and Install libLAS&lt;br /&gt;
 wget http://download.osgeo.org/liblas/libLAS-1.7.0.tar.gz&lt;br /&gt;
 tar -zxvf libLAS-1.7.0.tar.gz&lt;br /&gt;
 cd libLAS-1.7.0/&lt;br /&gt;
 mkdir makefiles&lt;br /&gt;
 cd makefiles&lt;br /&gt;
 cmake -G &amp;quot;Unix Makefiles&amp;quot; ../&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
 sudo ldconfig&lt;br /&gt;
 cd ../..&lt;br /&gt;
&lt;br /&gt;
Download of GRASS GIS 7 source code:&lt;br /&gt;
 wget http://grass.osgeo.org/grass78/source/grass-7.8.0.tar.gz&lt;br /&gt;
 tar -zxvf grass-7.8.0.tar.gz&lt;br /&gt;
&lt;br /&gt;
Configure:&lt;br /&gt;
 cd grass-7.0.0&lt;br /&gt;
 CFLAGS=&amp;quot;-g -Wall -Werror-implicit-function-declaration -fno-common -Wextra -Wunused&amp;quot; CXXFLAGS=&amp;quot;-g -Wall&amp;quot; \&lt;br /&gt;
 ./configure \&lt;br /&gt;
    --prefix=/usr/local \&lt;br /&gt;
    --with-gdal \&lt;br /&gt;
    --with-proj --with-proj-share=/usr/share \&lt;br /&gt;
    --with-glw --with-nls --with-readline \&lt;br /&gt;
    --with-cxx --enable-largefile \&lt;br /&gt;
    --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
    --with-sqlite --with-cairo --with-python=/usr/bin/python-config \&lt;br /&gt;
    --with-wxwidgets --with-geos --with-blas \&lt;br /&gt;
    --with-lapack-includes=/usr/lib/lapack --with-liblas=yes \&lt;br /&gt;
    --with-netcdf=/usr/bin/nc-config --with-odbc=yes \&lt;br /&gt;
    --with-openmp=yes --with-pthread=yes --with-postgres=yes \&lt;br /&gt;
    --with-postgres-includes=/usr/include/postgresql \&lt;br /&gt;
    --with-postgres-libs=/usr/lib/postgresql&lt;br /&gt;
 &lt;br /&gt;
 #     --with-mysql=yes --with-mysql-includes=/usr/include/mysql \&lt;br /&gt;
 #    --with-mysql-libs=/usr/lib/mysql \&lt;br /&gt;
&lt;br /&gt;
GRASS GIS 7 is now configured (example):&lt;br /&gt;
&lt;br /&gt;
  Source directory:           /home/user/grass-7.0.0&lt;br /&gt;
  Build directory:            /home/user/grass-7.0.0&lt;br /&gt;
  Installation directory:     ${prefix}/grass-7.0.0&lt;br /&gt;
  Startup script in directory:${exec_prefix}/bin&lt;br /&gt;
  C compiler:                 gcc -g -Wall -Werror-implicit-function-declaration -fno-common -Wextra -Wunused &lt;br /&gt;
  C++ compiler:               c++ -g -Wall&lt;br /&gt;
  Building shared libraries:  yes&lt;br /&gt;
  OpenGL platform:            X11&lt;br /&gt;
  MacOSX application:         no&lt;br /&gt;
  MacOSX architectures:       &lt;br /&gt;
  MacOSX SDK:                 &lt;br /&gt;
  BLAS support:               yes&lt;br /&gt;
  C++ support:                yes&lt;br /&gt;
  Cairo support:              yes&lt;br /&gt;
  DWG support:                no&lt;br /&gt;
  FFTW support:               yes&lt;br /&gt;
  FreeType support:           yes&lt;br /&gt;
  GDAL support:               yes&lt;br /&gt;
  GEOS support:               yes&lt;br /&gt;
  LAPACK support:             no&lt;br /&gt;
  Large File support (LFS):   yes&lt;br /&gt;
  libLAS support:             yes&lt;br /&gt;
  MySQL support:              no&lt;br /&gt;
  NetCDF support:             yes&lt;br /&gt;
  NLS support:                yes&lt;br /&gt;
  ODBC support:               yes&lt;br /&gt;
  OGR support:                yes&lt;br /&gt;
  OpenCL support:             no&lt;br /&gt;
  OpenGL support:             yes&lt;br /&gt;
  OpenMP support:             yes&lt;br /&gt;
  PNG support:                yes&lt;br /&gt;
  POSIX thread support:       yes&lt;br /&gt;
  PostgreSQL support:         yes&lt;br /&gt;
  Readline support:           yes&lt;br /&gt;
  Regex support:              yes&lt;br /&gt;
  SQLite support:             yes&lt;br /&gt;
  TIFF support:               yes&lt;br /&gt;
  wxWidgets support:          yes&lt;br /&gt;
  X11 support:                no&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
 make -j2&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
 sudo make install   # installs as /usr/local/bin/grass70&lt;br /&gt;
&lt;br /&gt;
Launch:&lt;br /&gt;
 grass70&lt;br /&gt;
&lt;br /&gt;
====== GRASS 7 on Debian Jessie ======&lt;br /&gt;
&lt;br /&gt;
Install needed packages:&lt;br /&gt;
 sudo apt-get install cmake libboost-all-dev flex bison debhelper dpatch autoconf2.13 \&lt;br /&gt;
    autotools-dev python-dev g++ gcc gettext graphviz libcairo2-dev libfftw3-dev \&lt;br /&gt;
    libfreetype6-dev libgdal1h libgdal1-dev libglu1-mesa-dev libglw1-mesa-dev \&lt;br /&gt;
    libncurses5-dev libproj-dev libreadline-dev libsqlite3-dev libtiff5-dev \&lt;br /&gt;
    libwxgtk3.0-dev libxmu-dev libxmu-headers libxt-dev mesa-common-dev \&lt;br /&gt;
    proj-bin proj-data python-numpy python-wxgtk3.0 subversion wx-common zlib1g-dev \&lt;br /&gt;
    netcdf-bin libnetcdf-dev libgegl-dev  doxygen python-sphinx \&lt;br /&gt;
    postgresql libgeotiff-dev libblas-dev mysql-server \&lt;br /&gt;
    libatlas-dev liblapack3gf liblapack-dev&lt;br /&gt;
    # opencl-headers ocl-icd-libopencl1   liblas-bin liblas-c-dev python-gdal&lt;br /&gt;
&lt;br /&gt;
Download and compile libLAS (or simply install 'liblas-c-dev ', see above):&lt;br /&gt;
 wget http://download.osgeo.org/liblas/libLAS-1.8.0.tar.bz2&lt;br /&gt;
 tar xjf libLAS-1.8.0.tar.bz2&lt;br /&gt;
 mkdir libLAS-1.8.0/makefiles&lt;br /&gt;
 cd libLAS-1.8.0/makefiles&lt;br /&gt;
 cmake -G &amp;quot;Unix Makefiles&amp;quot; ../&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Download and compile GRASS 7:&lt;br /&gt;
 # (check there for later version)&lt;br /&gt;
 wget http://grass.osgeo.org/grass74/source/grass-7.4.0.tar.gz&lt;br /&gt;
 tar xzfv grass-7.4.0.tar.gz&lt;br /&gt;
 cd grass-7.4.0&lt;br /&gt;
 CFLAGS=&amp;quot;-g -Wall -Werror-implicit-function-declaration -fno-common -Wextra -Wunused&amp;quot; \&lt;br /&gt;
 CXXFLAGS=&amp;quot;-g -Wall&amp;quot;  \&lt;br /&gt;
 ./configure \&lt;br /&gt;
    --prefix=/usr/local \&lt;br /&gt;
    --with-gdal --with-proj --with-proj-share=/usr/share \&lt;br /&gt;
    --with-glw --with-nls --with-readline \&lt;br /&gt;
    --with-cxx --enable-largefile \&lt;br /&gt;
    --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
    --with-sqlite --with-cairo --with-python=/usr/bin/python-config \&lt;br /&gt;
    --with-wxwidgets --with-geos \&lt;br /&gt;
    --with-blas --with-blas-includes=/usr/include/atlas/ \&lt;br /&gt;
    --with-lapack --with-lapack-includes=/usr/include/atlas/ \&lt;br /&gt;
    --with-netcdf=/usr/bin/nc-config --with-odbc=yes \&lt;br /&gt;
    --with-openmp=yes --with-pthread=no --with-postgres=yes \&lt;br /&gt;
    --with-postgres-includes=/usr/include/postgresql \&lt;br /&gt;
    --with-postgres-libs=/usr/lib/postgresql \&lt;br /&gt;
    --with-mysql=yes --with-mysql-includes=/usr/include/mysql \&lt;br /&gt;
    --with-mysql-libs=/usr/lib/mysql&lt;br /&gt;
 make -j2&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
 sudo make install  # installs as /usr/local/bin/grass74&lt;br /&gt;
&lt;br /&gt;
====== GRASS 7 on Debian Stretch ======&lt;br /&gt;
(Updated from above with package changes required for Debian Stretch)&lt;br /&gt;
&lt;br /&gt;
Install needed packages for GRASS 7.2 - 7.6:&lt;br /&gt;
  apt-get install cmake libboost-all-dev flex bison debhelper dpatch autoconf2.13 autotools-dev \&lt;br /&gt;
    python-dev g++ gcc gettext graphviz libcairo2-dev libfftw3-dev libfreetype6-dev libgdal20 \&lt;br /&gt;
    libgdal-dev libglu1-mesa-dev libglw1-mesa-dev libncurses5-dev libproj-dev libreadline-dev \&lt;br /&gt;
    libsqlite3-dev libtiff5-dev libwxgtk3.0-dev libxmu-dev libxmu-headers libxt-dev mesa-common-dev \&lt;br /&gt;
    proj-bin proj-data python-numpy python-wxgtk3.0 python-wxtools wx-common zlib1g-dev netcdf-bin \&lt;br /&gt;
    libnetcdf-dev libgegl-dev  doxygen python-sphinx postgresql libgeotiff-dev libblas-dev \&lt;br /&gt;
    mariadb-server libatlas-dev liblapack3 liblapack-dev opencl-headers ocl-icd-libopencl1 \&lt;br /&gt;
    subversion liblas-bin liblas-c-dev python-gdal libpdal-dev libpdal-plugin-python pdal&lt;br /&gt;
&lt;br /&gt;
Install needed packages for GRASS 7.8+ (Python 3 support!):&lt;br /&gt;
  apt-get install cmake libboost-all-dev flex bison debhelper dpatch autoconf2.13 autotools-dev \&lt;br /&gt;
    g++ gcc gettext graphviz libcairo2-dev libfftw3-dev libfreetype6-dev libgdal20 python3-dev \&lt;br /&gt;
    libgdal-dev libglu1-mesa-dev libglw1-mesa-dev libproj-dev libreadline-dev libgeos-c1v5 \&lt;br /&gt;
    libsqlite3-dev libtiff5-dev libwxgtk3.0-dev libxmu-dev libxmu-headers libxt-dev mesa-common-dev \&lt;br /&gt;
    proj-bin proj-data python3-numpy python3-six wx-common zlib1g-dev netcdf-bin \&lt;br /&gt;
    libnetcdf-dev libgegl-dev  doxygen python3-sphinx postgresql libgeotiff-dev libblas-dev \&lt;br /&gt;
    libatlas-dev liblapack3 liblapack-dev opencl-headers ocl-icd-libopencl1 \&lt;br /&gt;
    subversion liblas-bin liblas-c-dev python3-gdal libpdal-dev libpdal-plugin-python pdal&lt;br /&gt;
    &lt;br /&gt;
    # ? python3-wxgtk4.0 libmariadb&lt;br /&gt;
&lt;br /&gt;
Download and unpack source code or fetch from GitHub: https://github.com/OSGeo/grass&lt;br /&gt;
&lt;br /&gt;
Configuration:&lt;br /&gt;
&lt;br /&gt;
  CFLAGS=&amp;quot;-Wall -Werror-implicit-function-declaration -fno-common -Wextra -Wunused&amp;quot; \&lt;br /&gt;
  CXXFLAGS=&amp;quot;-Wall&amp;quot;  \&lt;br /&gt;
  ./configure \&lt;br /&gt;
   --prefix=/usr/local \&lt;br /&gt;
   --with-gdal --with-proj --with-proj-share=/usr/share \&lt;br /&gt;
   --with-glw --with-nls --with-readline \&lt;br /&gt;
   --with-cxx --enable-largefile \&lt;br /&gt;
   --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
   --with-sqlite --with-cairo --with-python=/usr/bin/python-config \&lt;br /&gt;
   --with-wxwidgets --with-geos \&lt;br /&gt;
   --with-blas --with-blas-includes=/usr/include/atlas/ \&lt;br /&gt;
   --with-lapack --with-lapack-includes=/usr/include/atlas/ \&lt;br /&gt;
   --with-netcdf=/usr/bin/nc-config --with-odbc=yes \&lt;br /&gt;
   --with-openmp=yes --with-pthread=no --with-postgres=yes \&lt;br /&gt;
   --with-postgres-includes=/usr/include/postgresql \&lt;br /&gt;
   --with-postgres-libs=/usr/lib/postgresql \&lt;br /&gt;
   --with-mysql=yes --with-mysql-includes=/usr/include/mysql&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
&lt;br /&gt;
  make -j2&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
&lt;br /&gt;
  make install&lt;br /&gt;
&lt;br /&gt;
====== GRASS 7 on Debian Buster ======&lt;br /&gt;
&lt;br /&gt;
-- To be updated --&lt;br /&gt;
&lt;br /&gt;
Install needed packages for GRASS 7.8+ (Python 3 support!):&lt;br /&gt;
  apt-get install cmake libboost-all-dev flex bison debhelper dpatch autoconf2.13 autotools-dev \&lt;br /&gt;
    g++ gcc gettext graphviz libcairo2-dev libfftw3-dev libfreetype6-dev libgdal20 python3-dev \&lt;br /&gt;
    libgdal-dev libglu1-mesa-dev libglw1-mesa-dev libproj-dev libreadline-dev libgeos-c1v5 \&lt;br /&gt;
    libsqlite3-dev libtiff5-dev libwxgtk3.0-dev libxmu-dev libxmu-headers libxt-dev mesa-common-dev \&lt;br /&gt;
    proj-bin proj-data python3-numpy python3-six wx-common zlib1g-dev netcdf-bin \&lt;br /&gt;
    libnetcdf-dev libgegl-dev  doxygen python3-sphinx postgresql libgeotiff-dev libblas-dev \&lt;br /&gt;
    liblapack3 liblapack-dev opencl-headers ocl-icd-libopencl1 \&lt;br /&gt;
    subversion liblas-bin liblas-c-dev python3-gdal libpdal-dev libpdal-plugin-python pdal \&lt;br /&gt;
    python3-wxgtk4.0 default-libmysqlclient-dev&lt;br /&gt;
&lt;br /&gt;
Download and unpack source code or fetch from GitHub: https://github.com/OSGeo/grass&lt;br /&gt;
&lt;br /&gt;
Configuration:&lt;br /&gt;
&lt;br /&gt;
  CFLAGS=&amp;quot;-Wall -Werror-implicit-function-declaration -fno-common -Wextra -Wunused&amp;quot; \&lt;br /&gt;
  CXXFLAGS=&amp;quot;-Wall&amp;quot;  \&lt;br /&gt;
  ./configure \&lt;br /&gt;
   --prefix=/usr/local \&lt;br /&gt;
   --with-gdal --with-proj --with-proj-share=/usr/share \&lt;br /&gt;
   --with-glw --with-nls --with-readline \&lt;br /&gt;
   --with-cxx --enable-largefile \&lt;br /&gt;
   --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
   --with-sqlite --with-cairo --with-python=/usr/bin/python-config \&lt;br /&gt;
   --with-wxwidgets --with-geos \&lt;br /&gt;
   --with-blas --with-blas-includes=/usr/include/atlas/ \&lt;br /&gt;
   --with-lapack --with-lapack-includes=/usr/include/atlas/ \&lt;br /&gt;
   --with-netcdf=/usr/bin/nc-config --with-odbc=yes \&lt;br /&gt;
   --with-openmp=yes --with-pthread=no --with-postgres=yes \&lt;br /&gt;
   --with-postgres-includes=/usr/include/postgresql \&lt;br /&gt;
   --with-postgres-libs=/usr/lib/postgresql \&lt;br /&gt;
   --with-mysql=yes --with-mysql-includes=/usr/include/mysql&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
&lt;br /&gt;
  make -j2&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
&lt;br /&gt;
  make install&lt;br /&gt;
&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&lt;br /&gt;
There is a dedicated page on how to [[Compile_and_Install_Ubuntu | Compile the GRASS GIS source code &amp;amp; install it in Ubuntu]].&lt;br /&gt;
&lt;br /&gt;
===== Linux Mint =====&lt;br /&gt;
&lt;br /&gt;
The [[Compile_and_Install_Ubuntu | detailed compilation guide for Ubuntu]] may just work. However, here is a short guide for Mint:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Linux Mint 20&lt;br /&gt;
&lt;br /&gt;
# be sure to have an updated system&lt;br /&gt;
sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&lt;br /&gt;
&lt;br /&gt;
# installation of required libraries and compile tools&lt;br /&gt;
# recommended to give Python3 precedence over Python2 (which is end-of-life since 2019)&lt;br /&gt;
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1&lt;br /&gt;
&lt;br /&gt;
# install compiler tools and further dependencies (tested with Linux Mint 20)&lt;br /&gt;
# this is a single command, please copy-paste it entirely into the terminal:&lt;br /&gt;
sudo apt-get install \&lt;br /&gt;
  build-essential \&lt;br /&gt;
  flex make bison gcc libgcc1 g++ cmake ccache \&lt;br /&gt;
  libproj-dev proj-data proj-bin \&lt;br /&gt;
  libgeos-dev \&lt;br /&gt;
  libgdal-dev python3-gdal gdal-bin \&lt;br /&gt;
  python3 python3-dev \&lt;br /&gt;
  python3-opengl \&lt;br /&gt;
  python-wxversion python-wxtools python-wxgtk3.0 python3-wxgtk4.0 \&lt;br /&gt;
  python3-dateutil libgsl-dev python3-numpy \&lt;br /&gt;
  wx3.0-headers wx-common libwxgtk3.0-gtk3-dev libwxbase3.0-dev \&lt;br /&gt;
  libncurses5-dev zlib1g-dev gettext \&lt;br /&gt;
  libbz2-dev libzstd-dev libfreetype6-dev \&lt;br /&gt;
  libtiff5-dev libpnglite-dev libcairo2 libcairo2-dev \&lt;br /&gt;
  sqlite3 libsqlite3-dev libpq-dev \&lt;br /&gt;
  libfftw3-3 libfftw3-dev \&lt;br /&gt;
  libboost-thread-dev libboost-program-options-dev \&lt;br /&gt;
  subversion \&lt;br /&gt;
  checkinstall \&lt;br /&gt;
  libglu1-mesa-dev libxmu-dev \&lt;br /&gt;
  ghostscript wget -y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next steps:&lt;br /&gt;
* download [https://grass.osgeo.org/grass-stable/source/snapshot/ GRASS GIS source code] (e.g. take the &amp;quot;7.x-git snapshot&amp;quot;)&lt;br /&gt;
* unpack source code&lt;br /&gt;
* change into the source code directory&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# in the source code directory, &amp;quot;configure&amp;quot; the source code to prepare for compilation:&lt;br /&gt;
./configure \&lt;br /&gt;
  --with-cxx \&lt;br /&gt;
  --enable-largefile \&lt;br /&gt;
  --with-proj --with-proj-share=/usr/share/proj \&lt;br /&gt;
  --with-gdal=/usr/bin/gdal-config \&lt;br /&gt;
  --with-python \&lt;br /&gt;
  --with-geos \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-nls \&lt;br /&gt;
  --with-zstd \&lt;br /&gt;
  --with-cairo --with-cairo-ldflags=-lfontconfig \&lt;br /&gt;
  --with-freetype=yes --with-freetype-includes=&amp;quot;/usr/include/freetype2/&amp;quot; \&lt;br /&gt;
  --with-wx=/usr/bin/wx-config \&lt;br /&gt;
  --with-wxwidgets \&lt;br /&gt;
  --with-fftw \&lt;br /&gt;
  --with-opengl-libs=/usr/include/GL \&lt;br /&gt;
  --without-postgres \&lt;br /&gt;
  --without-pdal \&lt;br /&gt;
  --without-motif \&lt;br /&gt;
  --without-netcdf \&lt;br /&gt;
  --without-mysql \&lt;br /&gt;
  --without-odbc \&lt;br /&gt;
  --without-openmp \&lt;br /&gt;
  --without-ffmpeg&lt;br /&gt;
&lt;br /&gt;
# compile GRASS GIS&lt;br /&gt;
make -j2&lt;br /&gt;
&lt;br /&gt;
# install compiled GRASS GIS on system&lt;br /&gt;
sudo make install&lt;br /&gt;
&lt;br /&gt;
# use GRASS GIS! Start on command line&lt;br /&gt;
grass78&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Mandriva =====&lt;br /&gt;
&lt;br /&gt;
Installation of dependencies (urpmi will ask you a few more):&lt;br /&gt;
&lt;br /&gt;
'''Mandriva 2009:''' (take out the '64' everywhere if you are on 32bit)&lt;br /&gt;
  # as root&lt;br /&gt;
    urpmi flex bison zlib-devel tiff-devel png-devel tcl-devel tk-devel sqlite3-devel \&lt;br /&gt;
          mesagl1-devel mesaglu1-devel lib64xmu6-devel gcc-c++ gettext \&lt;br /&gt;
          lib64wxgtk2.8 lib64wxgtk2.8-devel lib64wxgtkgl2.8 wxgtk2.8 \&lt;br /&gt;
          lib64wxPythonGTK2.8 lib64wxPythonGTK2.8-devel wxPythonGTK wxPythonGTK-wxversion&lt;br /&gt;
    exit&lt;br /&gt;
&lt;br /&gt;
'''Mandriva 2010:''' (take out the '64' everywhere if you are on 32bit) - see also [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/grass/current/SPECS/ SPEC] file&lt;br /&gt;
  # as root&lt;br /&gt;
    # installation of PROJ and GDAL&lt;br /&gt;
    urpmi proj proj-devel gdal gdal-devel gcc-gfortran lib64openssl1.0.0 \&lt;br /&gt;
          lib64openssl1.0.0-devel postgresql8.4-devel lib64pq8.4&lt;br /&gt;
 &lt;br /&gt;
    # installation of compilation environment&lt;br /&gt;
    urpmi flex bison zlib-devel tiff-devel png-devel tcl-devel tk-devel sqlite3-devel \&lt;br /&gt;
          lib64mesagl1-devel lib64mesaglu1-devel lib64xmu6-devel gcc-c++ gettext \&lt;br /&gt;
          lib64wxgtk2.8 lib64wxgtk2.8-devel lib64wxgtkgl2.8 wxgtk2.8 \&lt;br /&gt;
          lib64wxPythonGTK2.8 lib64wxPythonGTK2.8-devel wxPythonGTK wxPythonGTK-wxversion&lt;br /&gt;
    exit&lt;br /&gt;
&lt;br /&gt;
Then, to configure GRASS, run (64 bit stuff optional of course):&lt;br /&gt;
  #  as user&lt;br /&gt;
  ./configure \&lt;br /&gt;
    --enable-64bit --with-libs=/usr/lib64 \&lt;br /&gt;
    --with-cxx \&lt;br /&gt;
    --with-gdal=/usr/local/bin/gdal-config \&lt;br /&gt;
    --with-sqlite \&lt;br /&gt;
    --with-nls \&lt;br /&gt;
    --with-python \&lt;br /&gt;
    --with-wxwidgets=/usr/lib/wxPython/bin/wx-config \&lt;br /&gt;
    --with-fftw \&lt;br /&gt;
    --with-ffmpeg --with-ffmpeg-includes=&amp;quot;/usr/include/libav* /usr/include/libpostproc /usr/include/libswscale&amp;quot; \&lt;br /&gt;
    --with-motif \&lt;br /&gt;
    --with-mysql --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib64 \&lt;br /&gt;
    --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
    --enable-largefile&lt;br /&gt;
&lt;br /&gt;
   # compilation (use -j2 ior -j4 parameter on multi-core CPUs to accelerate):   &lt;br /&gt;
    make&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
    su&lt;br /&gt;
    # this will install into /usr/local/&lt;br /&gt;
    make install&lt;br /&gt;
    exit&lt;br /&gt;
&lt;br /&gt;
===== Enterprise Linux =====&lt;br /&gt;
&lt;br /&gt;
Enterprise Linux (EL) and derivatives (that is, Red Hat Enterprise Linux, CentOS and Scientific Linux) is a popular and robust platform for servers and computing-heavy workstations, and is therefore a good fit for GIS specific requirements.&lt;br /&gt;
&lt;br /&gt;
See: http://wiki.osgeo.org/wiki/Enterprise_Linux_GIS&lt;br /&gt;
&lt;br /&gt;
===== Scientific Linux =====&lt;br /&gt;
&lt;br /&gt;
See Centos&lt;br /&gt;
&lt;br /&gt;
===== CentOS =====&lt;br /&gt;
&lt;br /&gt;
You first need to add the EPEL repository for PROJ.4 and GDAL, see [https://fedoraproject.org/wiki/EPEL/FAQ#How_can_I_install_the_packages_from_the_EPEL_software_repository.3F here]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
Preparation '''Centos 5''' (old):&lt;br /&gt;
  yum install epel-release&lt;br /&gt;
 &lt;br /&gt;
  # Note: CentOS 5 comes with Python 2.4 which lacks python-config, hence two extra tweaks are needed.&lt;br /&gt;
  yum install flex bison zlib-devel tcl-devel tk-devel gcc-c++ gettext \&lt;br /&gt;
              libtiff-devel libpng-devel sqlite-devel \&lt;br /&gt;
              mesa-libGL-devel mesa-libGLU-devel mesa-libGLw-devel \&lt;br /&gt;
              mesa-libOSMesa-devel libXmu-devel python-devel gtk2-devel\&lt;br /&gt;
              ncurses-devel postgresql-devel make&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preparation '''Centos 6''' | '''Scientific Linux 6''':&lt;br /&gt;
  yum install epel-release&lt;br /&gt;
 &lt;br /&gt;
  yum install flex bison make zlib-devel gcc-c++ gettext \&lt;br /&gt;
              sqlite-devel mesa-libGL-devel mesa-libGLU-devel \&lt;br /&gt;
              libXmu-devel libX11-devel fftw-devel libtiff-devel \&lt;br /&gt;
              lesstif-devel python-devel numpy wxPython wxGTK-devel \&lt;br /&gt;
              proj proj-devel proj-epsg proj-nad libxml2 gdal gdal-devel geos geos-devel \&lt;br /&gt;
              python-dateutil python-imaging python-matplotlib python-argparse&lt;br /&gt;
  # only GRASS GIS 6: install also tcl-devel tk-devel&lt;br /&gt;
&lt;br /&gt;
Preparation '''Centos 7''' | '''Scientific Linux 7''':&lt;br /&gt;
  yum install epel-release&lt;br /&gt;
 &lt;br /&gt;
  yum install flex bison make zlib-devel gcc-c++ gettext \&lt;br /&gt;
              sqlite-devel mesa-libGL-devel mesa-libGLU-devel \&lt;br /&gt;
              libXmu-devel libX11-devel fftw-devel libtiff-devel \&lt;br /&gt;
              lesstif-devel python-devel numpy wxPython wxGTK-devel \&lt;br /&gt;
              proj proj-devel proj-epsg proj-nad libxml2 gdal gdal-devel geos geos-devel \&lt;br /&gt;
              netcdf netcdf-devel blas-devel lapack-devel atlas-devel \&lt;br /&gt;
              python-dateutil python-imaging python-matplotlib python-sphinx \&lt;br /&gt;
              doxygen subversion&lt;br /&gt;
&lt;br /&gt;
Preparation '''Centos 8''' | '''Scientific Linux 8''':&lt;br /&gt;
  dnf install epel-release&lt;br /&gt;
&lt;br /&gt;
  dnf install flex bison make zlib-devel gcc-c++ gettext \&lt;br /&gt;
              fftw-devel libtiff-devel sqlite-devel \&lt;br /&gt;
              proj proj-devel proj-datumgrid libxml2 \&lt;br /&gt;
              geos geos-devel git \&lt;br /&gt;
              netcdf netcdf-devel atlas-devel \&lt;br /&gt;
              blas-devel lapack-devel libpq-devel \&lt;br /&gt;
              python3-devel python3-numpy \&lt;br /&gt;
              python3-dateutil python3-imaging python3-matplotlib \&lt;br /&gt;
              gdal gdal-libs gdal-python-tools python3-gdal gdal-devel \&lt;br /&gt;
              wxGTK3-devel mesa-libGL-devel mesa-libGLU-devel \&lt;br /&gt;
              libXmu-devel libX11-devel&lt;br /&gt;
&lt;br /&gt;
'''GRASS GIS 7 compilation and installation'''&lt;br /&gt;
&lt;br /&gt;
[https://grass.osgeo.org/grass-stable/source/snapshot/ Download source code] (e.g., --&amp;gt; &amp;quot;Download latest 7.8 code)&amp;quot; and configure GRASS 7 (suggestion: save this as script):&lt;br /&gt;
&lt;br /&gt;
 ./configure \&lt;br /&gt;
  --with-cxx \&lt;br /&gt;
  --enable-largefile \&lt;br /&gt;
  --with-proj --with-proj-share=/usr/share/proj \&lt;br /&gt;
  --with-gdal=/usr/bin/gdal-config \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-python \&lt;br /&gt;
  --with-cairo --with-cairo-ldflags=-lfontconfig \&lt;br /&gt;
  --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
  --with-wxwidgets=/usr/bin/wx-config \&lt;br /&gt;
  --with-openmp \&lt;br /&gt;
  --with-blas --with-blas-includes=/usr/include/atlas-x86_64-base/ \&lt;br /&gt;
  --with-lapack --with-lapack-includes=/usr/include/atlas-x86_64-base/ \&lt;br /&gt;
  --with-fftw \&lt;br /&gt;
  --with-geos \&lt;br /&gt;
  --with-netcdf \&lt;br /&gt;
  --without-ffmpeg \&lt;br /&gt;
  --without-mysql \&lt;br /&gt;
  --without-postgres \&lt;br /&gt;
  --without-odbc \&lt;br /&gt;
  --without-fftw&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
    make&lt;br /&gt;
or on a multicore system (number depends of available cores):&lt;br /&gt;
    make -j4&lt;br /&gt;
&lt;br /&gt;
For a system wide installation, run as root user:&lt;br /&gt;
    make install&lt;br /&gt;
OR simply run it directly from the source code directory (substitute ARCH with i686 or x86_64):&lt;br /&gt;
&lt;br /&gt;
    bin.$ARCH/grass78 -gui&lt;br /&gt;
&lt;br /&gt;
In this case, for convenience, add it to the search path:&lt;br /&gt;
    mkdir $HOME/bin&lt;br /&gt;
    cd $HOME/bin&lt;br /&gt;
    # example:&lt;br /&gt;
    ln -s $HOME/software/grass78_release/bin.i686-pc-linux-gnu/grass78 .&lt;br /&gt;
&lt;br /&gt;
Now use it subsequently with&lt;br /&gt;
    grass78 -gui&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Installation grass78 on a HPC system with '''Centos 7''' and no root privileges:'''&lt;br /&gt;
This assumes that python3, fftw, proj, gdal and geos are available on the HPC system, either as modules or as installed software.&lt;br /&gt;
&lt;br /&gt;
Download and prepare some dependencies (freetypes and zstd)&lt;br /&gt;
    mkdir -p $HOME/grass/freetypes&lt;br /&gt;
    cd $HOME/grass/freetypes&lt;br /&gt;
    wget path/to/freetype-2.9.1.tar.gz&lt;br /&gt;
    tar -xf freetype-2.9.1.tar.gz&lt;br /&gt;
&lt;br /&gt;
    mkdir $HOME/grass/zstd&lt;br /&gt;
    cd mkdir $HOME/grass/zstd&lt;br /&gt;
    wget path/to/v1.4.4/zstd-1.4.4.tar.gz&lt;br /&gt;
    tar -xf zstd-1.4.4.tar.gz&lt;br /&gt;
    make install PREFIX=./&lt;br /&gt;
&lt;br /&gt;
Add the ZSTD path to your LD_LIBRARY_PATH&lt;br /&gt;
&lt;br /&gt;
    tee -a $HOME/.bashrc &amp;gt; /dev/null &amp;lt;&amp;lt; EOT&lt;br /&gt;
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/grass/zstd/zstd-1.4.4/lib&lt;br /&gt;
    EOT&lt;br /&gt;
&lt;br /&gt;
The configure command could look like this&lt;br /&gt;
    ./configure \&lt;br /&gt;
        -prefix=$HOME/grass \&lt;br /&gt;
        --enable-64bit --with-fftw-includes=/path/to/fftw/include/ \&lt;br /&gt;
        --with-fftw-libs=/path/to/fftw/lib/ \&lt;br /&gt;
        --with-freetype-includes=$HOME/grass/freetypes/freetype-2.9.1/include/ \&lt;br /&gt;
        --with-netcdf --with-geos --with-blas --with-lapack --with-postgres \&lt;br /&gt;
        --with-zstd-includes=$HOME/grass/zstd/zstd-1.4.4/lib/ \&lt;br /&gt;
        --with-zstd-libs=$HOME/grass/zstd/zstd-1.4.4/lib/ \&lt;br /&gt;
        --with-gdal=/path/to/gdal-config  # This could be the path to a gdal version compiled from source&lt;br /&gt;
&lt;br /&gt;
Finally usual:&lt;br /&gt;
    make; make install&lt;br /&gt;
&lt;br /&gt;
===== Gentoo =====&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
    --with-freetype=yes --with-freetype-includes=&amp;quot;/usr/include/freetype2/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
See also http://packages.gentoo.org/package/sci-geosciences/grass&lt;br /&gt;
&lt;br /&gt;
===== Funtoo =====&lt;br /&gt;
&lt;br /&gt;
{{MovedToTrac|FuntooLinux}}&lt;br /&gt;
&lt;br /&gt;
===== Fedora =====&lt;br /&gt;
&lt;br /&gt;
====== GRASS GIS 6 on Fedora ======&lt;br /&gt;
&lt;br /&gt;
'''Preparation''' for the compilation of GRASS GIS 6 source code (F16-F21):&lt;br /&gt;
&lt;br /&gt;
  yum install proj-devel gdal-devel sqlite-devel ffmpeg-devel mesa-libGL-devel \&lt;br /&gt;
              mesa-libGLU-devel libXmu-devel libX11-devel tcl-devel tk-devel geos \&lt;br /&gt;
              fftw-devel libtiff-devel lesstif-devel python-devel numpy wxPython wxGTK-devel \&lt;br /&gt;
              gcc gcc-c++ bison flex ncurses-devel proj-epsg proj-nad xml2 subversion&lt;br /&gt;
&lt;br /&gt;
''Note 1: that currently gdal-devel has (too) many dependencies and may lead to a massive download of extra packages (200 on a fresh Fedora 16 install). Hopefully solved in later Fedora versions.''&lt;br /&gt;
&lt;br /&gt;
''Note 2: the optional ffmpeg-devel comes from the rpmfusion-free repository ([http://rpmfusion.org/Configuration/ configuration]).''&lt;br /&gt;
&lt;br /&gt;
'''Download''' the source code:&lt;br /&gt;
* GRASS GIS 6: [http://grass.osgeo.org/download/software/sources/ release package] - [http://grass.osgeo.org/grass64/source/snapshot/ weekly snapshot] - [http://trac.osgeo.org/grass/wiki/DownloadSource#GRASS6.4 SVN repository]&lt;br /&gt;
&lt;br /&gt;
'''Configure''': This is an ''example'' how to configure the source code on a Fedora system:&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
   --with-cxx \&lt;br /&gt;
   --with-gdal=/usr/bin/gdal-config \&lt;br /&gt;
   --with-proj --with-proj-share=/usr/share/proj \&lt;br /&gt;
   --with-sqlite \&lt;br /&gt;
   --with-nls \&lt;br /&gt;
   --with-geos \&lt;br /&gt;
   --with-wxwidgets=/usr/bin/wx-config \&lt;br /&gt;
   --with-python=/usr/bin/python-config \&lt;br /&gt;
   --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
   --enable-largefile \&lt;br /&gt;
   --without-odbc \&lt;br /&gt;
   --with-fftw&lt;br /&gt;
&lt;br /&gt;
Extra: If you also want '''FFMPEG''' support - it requires 'yum install fftw-devel'. Then add to the configuration lines above:&lt;br /&gt;
&lt;br /&gt;
     --with-ffmpeg --with-ffmpeg-includes=&amp;quot;/usr/include/ffmpeg /usr/include/ffmpeg/libav* /usr/include/ffmpeg/libpostproc /usr/include/ffmpeg/libswscale&amp;quot; \&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally '''compile''' the configured source code:&lt;br /&gt;
    make&lt;br /&gt;
   or on multicore (number depends of available cores):&lt;br /&gt;
    make -j4&lt;br /&gt;
   and&lt;br /&gt;
    make install # requires root permissions unless you become owner of /usr/local/&lt;br /&gt;
&lt;br /&gt;
Then use GRASS GIS 6 and enjoy!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== GRASS GIS 7 on Fedora ======&lt;br /&gt;
&lt;br /&gt;
'''Preparation''' for the compilation of GRASS GIS 7.8+ source code (F20-F30):&lt;br /&gt;
&lt;br /&gt;
  dnf install gcc gcc-c++ bison flex ncurses-devel gettext proj-epsg proj-devel proj-nad \&lt;br /&gt;
              gdal gdal-devel sqlite-devel xml2 mesa-libGL-devel \&lt;br /&gt;
              fftw-devel mesa-libGLU-devel libXmu-devel libX11-devel geos geos-devel \&lt;br /&gt;
              libtiff-devel python3-devel numpy wxPython wxGTK3-devel subversion \&lt;br /&gt;
              python3-dateutil python3-imaging python3-matplotlib-wx doxygen python3-sphinx \&lt;br /&gt;
              libzstd-devel libzstd python3-six python3-numpy python3-wxpython4 \&lt;br /&gt;
              proj-datumgrid proj-datumgrid-europe proj-datumgrid-north-america proj-datumgrid-world proj-datumgrid-oceania&lt;br /&gt;
&lt;br /&gt;
  # optionally also:  netcdf-devel postgresql-devel &lt;br /&gt;
  #                   atlas-devel lapack-devel lapack-devel &lt;br /&gt;
  #                   laszip laszip-devel&lt;br /&gt;
&lt;br /&gt;
''Note 1: the optional ffmpeg-devel comes from the rpmfusion-free repository ([http://rpmfusion.org/Configuration/ configuration]).''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Download''' the source code:&lt;br /&gt;
* GRASS GIS 7: [https://grass.osgeo.org/grass78/source/snapshot/ weekly snapshot] - [http://trac.osgeo.org/grass/wiki/DownloadSource#GRASS7 GitHub repository]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Configure''': This is an example how to configure the source code on a Fedora system:&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
   --with-cxx \&lt;br /&gt;
   --with-gdal=/usr/bin/gdal-config \&lt;br /&gt;
   --with-proj --with-proj-share=/usr/share/proj \&lt;br /&gt;
   --with-geos \&lt;br /&gt;
   --with-sqlite \&lt;br /&gt;
   --with-nls \&lt;br /&gt;
   --with-wxwidgets=/usr/bin/wx-config \&lt;br /&gt;
   --with-fftw \&lt;br /&gt;
   --with-cairo --with-cairo-ldflags=-lfontconfig \&lt;br /&gt;
   --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
   --enable-largefile \&lt;br /&gt;
   --without-odbc&lt;br /&gt;
&lt;br /&gt;
''Extra 1:'' If you also want '''FFMPEG support''' - it requires 'dnf install fftw-devel' from the rpmfusion-free repository. Then add to the configuration lines above:&lt;br /&gt;
&lt;br /&gt;
     --with-ffmpeg --with-ffmpeg-includes=&amp;quot;/usr/include/ffmpeg /usr/include/ffmpeg/libav* /usr/include/ffmpeg/libpostproc /usr/include/ffmpeg/libswscale&amp;quot; \&lt;br /&gt;
&lt;br /&gt;
''Extra 2:'' For '''LAPACK/BLAS support''' (addons i.spec.unmix, v.kriging etc), install &amp;quot;dnf install lapack lapack-devel blas blas-devel atlas atlas-devel&amp;quot;. Then add to the configuration lines above:&lt;br /&gt;
  --with-blas --with-blas-includes=/usr/include/atlas-x86_64-base/ \&lt;br /&gt;
  --with-lapack --with-lapack-includes=/usr/include/atlas-x86_64-base/ \&lt;br /&gt;
&lt;br /&gt;
''Extra 3:'' For '''ZSTD support''' (Zstandard compression algorithm), first install &amp;quot;dnf install libzstd libzstd-devel zstd&amp;quot;. After installing the zstd related packages, add to the configuration lines above:&lt;br /&gt;
  --with-zstd \&lt;br /&gt;
&lt;br /&gt;
Finally '''compile''' the configured source code:&lt;br /&gt;
    make&lt;br /&gt;
   or on multicore (number depends of available cores):&lt;br /&gt;
    make -j4&lt;br /&gt;
   and&lt;br /&gt;
    make install # requires root permissions unless you become owner of /usr/local/&lt;br /&gt;
&lt;br /&gt;
Then use GRASS GIS 7 and enjoy!&lt;br /&gt;
&lt;br /&gt;
===== openSUSE =====&lt;br /&gt;
&lt;br /&gt;
To build GRASS on openSUSE:&lt;br /&gt;
&lt;br /&gt;
''Application:Geo'' repo to be added (see [https://software.opensuse.org//download.html?project=Application%3AGeo&amp;amp;package=gdal Install package Application:Geo]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# example for Leap 42 version:&lt;br /&gt;
sudo zypper addrepo http://download.opensuse.org/repositories/Application:Geo/openSUSE_Leap_42.3/Application:Geo.repo&lt;br /&gt;
sudo zypper refresh&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RPM packages to be installed:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 sudo zypper install bison flex freetype2-devel fftw3-devel gcc-c++ \&lt;br /&gt;
   libgdal-devel libgeos-devel libjpeg-devel libpng-devel libtiff-devel \&lt;br /&gt;
   man proj libproj-devel readline-devel netcdf-devel ncurses-devel \&lt;br /&gt;
   mysql-devel postgresql-devel sqlite-devel unixODBC-devel \&lt;br /&gt;
   tcl-devel tk-devel xorg-x11-Mesa-devel libXmu-devel \&lt;br /&gt;
   python-numpy python-dateutil python-devel python-opengl \&lt;br /&gt;
   python-wxWidgets python-xml python-dateutil wxWidgets-devel \&lt;br /&gt;
   zlib-devel doxygen python-sphinx&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source code configuration:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 ./configure \&lt;br /&gt;
 	--enable-largefile \&lt;br /&gt;
	--with-proj-share=/usr/share/proj \&lt;br /&gt;
	--with-cxx \&lt;br /&gt;
	--with-lapack=yes \&lt;br /&gt;
	--with-x \&lt;br /&gt;
	--with-motif \&lt;br /&gt;
	--with-gdal=/usr/bin/gdal-config \&lt;br /&gt;
	--with-postgres --with-postgres-includes=/usr/include/pgsql \&lt;br /&gt;
	--with-mysql --with-mysql-includes=/usr/include/mysql \&lt;br /&gt;
	--with-fftw \&lt;br /&gt;
	--with-readline \&lt;br /&gt;
	--with-netcdf \&lt;br /&gt;
	--with-curses \&lt;br /&gt;
	--with-geos \&lt;br /&gt;
	--with-nls \&lt;br /&gt;
	--with-sqlite \&lt;br /&gt;
	--with-freetype \&lt;br /&gt;
	--with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
	--with-wxwidgets \&lt;br /&gt;
	--with-odbc \&lt;br /&gt;
	--with-python&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then compile with &amp;quot;make [-j2]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===== Arch Linux =====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt;'''Easiest method : use AUR (Arch User Repository) package'''&amp;lt;/big&amp;gt;&lt;br /&gt;
Up-to-date links to Arch Linux GRASS PKGBUILDs are on https://grass.osgeo.org/download/software/linux/.&lt;br /&gt;
&lt;br /&gt;
Please note that at this time AUR package has a problem : a symlink of python2 is created to work with grass whereas executable script call python3 ... Workaround is to comment symlink in AUR GRASS PKGBUILD&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt;'''Compile from source code'''&amp;lt;/big&amp;gt;&lt;br /&gt;
If you want to compile it yourself, you could follow steps below : &lt;br /&gt;
&lt;br /&gt;
Install dependencies : &lt;br /&gt;
 pacman -S bzip2 cairo fftw fontconfig freetype2 gcc-libs gdal geos glibc glu libpng libtiff libx11 libgl netcdf pdal proj python-gdal python-numpy python-pillow python-wxpython readline zlib zstd&lt;br /&gt;
&lt;br /&gt;
Download and extract sources : https://grass.osgeo.org/download/software/sources/&lt;br /&gt;
&lt;br /&gt;
We can now start building GRASS 7&lt;br /&gt;
&lt;br /&gt;
 export PATH=~/usr/bin:$PATH &amp;amp;&amp;amp; \&lt;br /&gt;
 ./configure \&lt;br /&gt;
 --enable-debug \&lt;br /&gt;
 --with-readline \&lt;br /&gt;
 --with-freetype=yes \&lt;br /&gt;
 --with-freetype-includes=&amp;quot;/usr/include/freetype2/&amp;quot; \&lt;br /&gt;
 --with-geos \&lt;br /&gt;
 --with-odbc \&lt;br /&gt;
 --with-pthread \&lt;br /&gt;
 --with-fftw-includes=&amp;quot;/usr/include/&amp;quot; \&lt;br /&gt;
 --with-fftw-libs=/usr/lib/ \&lt;br /&gt;
 --with-wxwidgets \&lt;br /&gt;
 --with-postgres \&lt;br /&gt;
 --with-pdal \&lt;br /&gt;
 --with-netcdf \&lt;br /&gt;
 --with-bzlib \&lt;br /&gt;
 --with-zstd&lt;br /&gt;
&lt;br /&gt;
Now let's compile and install it&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It's done, you can enjoy GRASS 7 in Arch, just type &amp;quot;grass78&amp;quot; (Please adjust version after grass) in the terminal to launch it.&lt;br /&gt;
&lt;br /&gt;
===== RPM SPEC files =====&lt;br /&gt;
* [https://build.opensuse.org/package/show?package=grass&amp;amp;project=Application%3AGeo OpenSuSe]&lt;br /&gt;
* [http://pkgs.fedoraproject.org/cgit/rpms/grass.git/tree/grass.spec Fedora]&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
===== Zaurus =====&lt;br /&gt;
&lt;br /&gt;
... see [http://wiki.debian.org/?GrassGISonZaurus here] for instructions&lt;br /&gt;
&lt;br /&gt;
==== macOS ====&lt;br /&gt;
&lt;br /&gt;
Compiling GRASS GIS for macOS is not fundamentally different from for other *nix systems. It is on the contrary quite similar, but what differ is the lack of a default package management system for software GRASS GIS depends on. This leaves the mac user to either: (1) compile the dependencies one-by-one; (2) using the [http://www.kyngchaos.com/software/frameworks/ frameworks] generously shared by William Kyngesburye; (3) compiling with one of the third-party package management systems avaliable; or (4) a combination thereof.&lt;br /&gt;
&lt;br /&gt;
If you are interested in installing a precompiled version, please check out the [https://grass.osgeo.org/download/software/mac-osx/ official download site].&lt;br /&gt;
&lt;br /&gt;
To date, maybe the easiest way to compile for Mac is by using [https://github.com/nilason/grass-conda GRASS GIS app build script] which is based on the instructions below for building using Anaconda. It will install dependencies, package and install an app bundle with just a command in Terminal.&lt;br /&gt;
&lt;br /&gt;
===== Compilation and installation =====&lt;br /&gt;
&lt;br /&gt;
For more up-to-date instructions please read:&lt;br /&gt;
&lt;br /&gt;
* [[Compiling on macOS using Anaconda]]&lt;br /&gt;
* [[Compiling on macOS using Homebrew]]&lt;br /&gt;
* [[Compiling on macOS using MacPorts]]&lt;br /&gt;
&lt;br /&gt;
===== Legacy instructions =====&lt;br /&gt;
&lt;br /&gt;
The following compilation and installation instructions are rather outdated as a whole. They do, however, contain parts and snippets that still may be very instructive and useful.&lt;br /&gt;
&lt;br /&gt;
* [[Compiling on MacOSX]]&lt;br /&gt;
* [[Compiling on MacOSX using Fink]]&lt;br /&gt;
* [https://web.archive.org/web/20180718005252/http://www.kyngchaos.com/software/frameworks#build_scripts build scripts for dependencies]&lt;br /&gt;
&lt;br /&gt;
Troubleshooting:&lt;br /&gt;
* solving errors at starting GRASS GIS: [[MacOSX GRASS errors]]&lt;br /&gt;
&lt;br /&gt;
==== FreeBSD / NetBSD ====&lt;br /&gt;
&lt;br /&gt;
The recommended compiler tools are GCC, GNU make, GNU coreutils (for install), and flex. All are available through the respective package managing tools (pkg_add for FreeBSD and pkgin install for NetBSD) and for recent *BSD versions most likely installed by default.&lt;br /&gt;
&lt;br /&gt;
GRASS 6.x and GRASS 7 should compile on FreeBSD 8.0 or later and NetBSD 5.0 or later (maybe also on updated NetBSD 4.x).&lt;br /&gt;
&lt;br /&gt;
It is highly recommended to install GDAL/OGR and PROJ4 first. These libraries and tools are available as [http://www.freebsd.org/ports/ ports for FreeBSD] and [http://www.pkgsrc.org/ packages for NetBSD].&lt;br /&gt;
&lt;br /&gt;
Optional functionality is listed with ''./configure --help'', and related libraries and tools might need to be installed first.&lt;br /&gt;
&lt;br /&gt;
You then may need to edit include/Make/Platform.make and set&lt;br /&gt;
 ICONVLIB            = -liconv&lt;br /&gt;
&lt;br /&gt;
==== Solaris ====&lt;br /&gt;
&lt;br /&gt;
* ''2008 Oct 15'': see [http://lists.osgeo.org/pipermail/grass-user/2008-October/047093.html this post on the grass mailing list]&lt;br /&gt;
&lt;br /&gt;
===== 11 SPARC/i86pc =====&lt;br /&gt;
&lt;br /&gt;
The recommended compiler tools are GCC, GNU make, GNU coreutils (for install), and flex. All are available through the Solaris package manager.&lt;br /&gt;
&lt;br /&gt;
Most dependencies are available through the Solaris package manager. GDAL and proj4 can either be compiled from source or installed e.g. from [http://www.opencsw.org/ OpenCSW]. If packages are installed from OpenCSW, the linker flags need to be set with&lt;br /&gt;
&lt;br /&gt;
      LDFLAGS=&amp;quot;-Wl,-R/opt/csw/lib -L/opt/csw/lib -Wl,-R/opt/csw/gxx/lib -L/opt/csw/gxx/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
See also the [http://www.opencsw.org/use-it/ OpenCSW documentation].&lt;br /&gt;
&lt;br /&gt;
===== 10 SPARC/i86pc =====&lt;br /&gt;
&lt;br /&gt;
* get gcc compiler and tools. There are several sources: Solaris Companion CD (SFW pkg, installs in /opt/sfw/), Blastwave ([http://www.blastwave.org], CSW pkg, installs in /opt/csw/) or Sunfreeware ([http://www.sunfreeware.com], SMC pkg, installs in /usr/local/). &lt;br /&gt;
Needed Packages from Sunfreeware: SMCbinut, SMCbison, SMCcoreu, SMCfindu, SMCflex, SMCgawk, SMCgcc, SMCgrep, SMCgzip, SMCless, SMClibt, SMClicon, SMCmake, SMCncurs, SMCproj, SMCsed, SMCtar, SMCtcl, SMCtiff, SMCtk, SMCunzip, SMCzlib. &lt;br /&gt;
&lt;br /&gt;
* compile and install fftw-library ([http://www.fftw.org]). You need to re-compile the library with: &lt;br /&gt;
&lt;br /&gt;
      ./configure --with-pic --enable-shared; make ; make install. &lt;br /&gt;
&lt;br /&gt;
The pre-built packages don't work. &lt;br /&gt;
&lt;br /&gt;
* compile and install gdal library (see documentation of gdal, [http://www.gdal.org]).&lt;br /&gt;
&lt;br /&gt;
* compile and install any additional libraries (e. g. GEOS, [http://geos.refractions.net]). &lt;br /&gt;
&lt;br /&gt;
* set compiler flags and path. e. g.: &lt;br /&gt;
&lt;br /&gt;
      # on ultra-sparc machine:&lt;br /&gt;
      CFLAGS=&amp;quot;-O3 -mcpu=v9&amp;quot;&lt;br /&gt;
      CXXFLAGS=&amp;quot;-O3 -mcpu=v9&amp;quot;&lt;br /&gt;
      PATH=&amp;quot;/usr/local/bin:/opt/sfw/bin:/usr/ccs/bin:/usr/bin:/usr/sbin&amp;quot;&lt;br /&gt;
      export CFLAGS CXXFLAGS PATH&lt;br /&gt;
&lt;br /&gt;
Path has to be changed for the packages (Sunfreeware: /usr/local/bin, Solaris Companion: /opt/sfw/bin, Blastwave: /opt/csw/bin). &lt;br /&gt;
&lt;br /&gt;
* Next configure, e. g.: &lt;br /&gt;
&lt;br /&gt;
      ./configure --with-postgres-includes=/usr/include/pgsql/ \&lt;br /&gt;
      --with-postgres-libs=/usr/lib --with-postgres=yes \&lt;br /&gt;
      --with-includes=/usr/local/include/ncurses&lt;br /&gt;
&lt;br /&gt;
If you use n(ew)curses, you have to include the path /usr/local/include/ncurses. &lt;br /&gt;
&lt;br /&gt;
then:&lt;br /&gt;
&lt;br /&gt;
      make&lt;br /&gt;
      su&lt;br /&gt;
      make install&lt;br /&gt;
&lt;br /&gt;
If the shared libraries are not found at runtime of the modules, use 'crle' to add the paths of the libraries for the dynamic linker, e. g. as root:&lt;br /&gt;
&lt;br /&gt;
      crle -l /lib:/usr/lib:/usr/local/lib:/opt/sfw/lib:/usr/X11/lib&lt;br /&gt;
&lt;br /&gt;
Be careful not to omit a library path, the system may be unusable if you forget the /lib path.&lt;br /&gt;
&lt;br /&gt;
==== AIX ====&lt;br /&gt;
&lt;br /&gt;
A recent [ftp://ftp.gnu.org/gnu/make/ GNU make] (&amp;gt;= 3.81) and GNU coreutils are required. These are available with the [http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/download.html IBM AIX toolbox] or through third-party AIX software repositories, e.g. [http://www.bullfreeware.com/ bullfreeware] and [http://www.perzl.org/aix/ perzl.org]. Note that 'make' does not work, only 'gmake' works. &lt;br /&gt;
&lt;br /&gt;
General instructions to compile on AIX are e.g. [http://www.perzl.org/aix/index.php?n=Main.Instructions here]&lt;br /&gt;
&lt;br /&gt;
On AIX, compilation results by default in 32 bit applications and static libraries. The [http://www.ibm.com/developerworks/aix/library/au-gnu.html IBM documentation] explains how to build 64 bit applications and shared libraries with GCC.&lt;br /&gt;
&lt;br /&gt;
'''GRASS 6: Using the IBM xlc compiler:'''&lt;br /&gt;
* ''see [http://thread.gmane.org/gmane.comp.gis.grass.user/32667 this mailing list thread]''&lt;br /&gt;
&lt;br /&gt;
Mike wrote in 2009:&lt;br /&gt;
&lt;br /&gt;
After attempting all the suggestions, I finally used&lt;br /&gt;
--disable-shared on the configure command, and all but&lt;br /&gt;
a handful of modules successfully compiled. I was able to&lt;br /&gt;
individually address the ones that failed through Makefile&lt;br /&gt;
edits and several small source code/header file edits.&lt;br /&gt;
&lt;br /&gt;
The environment variables and configure command that worked were:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# xlc compiler:&lt;br /&gt;
export PATH=/usr/local/bin:/opt/freeware/bin:$PATH&lt;br /&gt;
export OBJECT_MODE=64&lt;br /&gt;
export LIBICONV=/opt/freeware&lt;br /&gt;
export CC=&amp;quot;xlc_r -q64&amp;quot;&lt;br /&gt;
export CFLAGS=&amp;quot;-O -qstrict&amp;quot;&lt;br /&gt;
export CXX=&amp;quot;xlC_r -q64&amp;quot;&lt;br /&gt;
export CXXFLAGS=&amp;quot;-O -qstrict&amp;quot;&lt;br /&gt;
export AR=&amp;quot;ar -X64&amp;quot;&lt;br /&gt;
export F77=&amp;quot;xlf_r -q64&amp;quot;&lt;br /&gt;
export CPPFLAGS=&amp;quot;-I/afs/isis/pkg/libpng/include -I/usr/local/include -I$LIBICONV/include -I/usr/lpp/X11/include/X11&amp;quot;&lt;br /&gt;
export LDFLAGS=&amp;quot;-L/usr/local/lib -L$LIBICONV/lib -L/usr/lib -L/usr/X11R6/lib -lc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
./configure --prefix=/afs/isis/pkg/grass-6.4.0 \&lt;br /&gt;
  --enable-64bit \&lt;br /&gt;
  --disable-shared \&lt;br /&gt;
  --with-includes=&amp;quot;/usr/include/fontconfig /usr/include/X11 /usr/include/X11/Xft /usr/include/X11/ext&amp;quot; \&lt;br /&gt;
  --x-includes=/usr/include/X11 \&lt;br /&gt;
  --x-libraries=/usr/X11R6/lib \&lt;br /&gt;
  --with-fftw-includes=/afs/isis/pkg/fftw-3.2.2/include \&lt;br /&gt;
  --with-fftw-libs=/afs/isis/pkg/fftw-3.2.2/lib \&lt;br /&gt;
  --with-gdal=/afs/isis/pkg/gdal/bin/gdal-config \&lt;br /&gt;
  --with-proj-includes=/afs/isis/pkg/proj/include \&lt;br /&gt;
  --with-proj-libs=/afs/isis/pkg/proj/lib \&lt;br /&gt;
  --with-proj-share=/afs/isis/pkg/proj/share/proj \&lt;br /&gt;
  --with-tcltk-includes=/usr/local/include \&lt;br /&gt;
  --with-tcltk-libs=/usr/local/lib \&lt;br /&gt;
  --with-opengl-includes=/usr/include/GL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''GRASS 7: Using the IBM xlc compiler:'''&lt;br /&gt;
&lt;br /&gt;
Get and install (in this order):&lt;br /&gt;
* [ftp://ftp.gnu.org/gnu/tar/ GNU tar]&lt;br /&gt;
* [ftp://ftp.gnu.org/gnu/make/ GNU make] (&amp;gt;= 3.81)&lt;br /&gt;
* [http://www.sqlite.org SQLite]&lt;br /&gt;
* [http://trac.osgeo.org/proj/ PROJ.4] (for ./configure parameters, see [[Talk:Compile and Install|here]])&lt;br /&gt;
* [http://www.gdal.org GDAL] (for ./configure parameters, see [[Talk:Compile and Install|here]])&lt;br /&gt;
* [http://grass.osgeo.org/grass74/source/snapshot/ GRASS GIS 7]&lt;br /&gt;
&lt;br /&gt;
The environment variables and configure command that worked:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
## AIX 5.x&lt;br /&gt;
&lt;br /&gt;
export LIBPATH=/opt/freeware/lib64:/opt/freeware/lib&lt;br /&gt;
# make 'ar' happy&lt;br /&gt;
export OBJECT_MODE=64&lt;br /&gt;
&lt;br /&gt;
PREFIX=$HOME/private/bin&lt;br /&gt;
./configure \&lt;br /&gt;
  --prefix=$PREFIX \&lt;br /&gt;
  --disable-shared \&lt;br /&gt;
  --enable-largefile \&lt;br /&gt;
  --with-cxx \&lt;br /&gt;
  --with-proj-includes=$PREFIX/include/ \&lt;br /&gt;
  --with-proj-libs=$PREFIX/lib/ \&lt;br /&gt;
  --with-proj-share=$PREFIX/share/proj/ \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-sqlite-includes=$PREFIX/include/ \&lt;br /&gt;
  --with-sqlite-libs=$PREFIX/lib/ \&lt;br /&gt;
  --with-tiff=no \&lt;br /&gt;
  --with-png=no \&lt;br /&gt;
  --with-fftw=no \&lt;br /&gt;
  --with-cairo=no \&lt;br /&gt;
  --with-freetype=no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''GRASS 7: Using the GNU gcc compiler:'''&lt;br /&gt;
&lt;br /&gt;
Get and install (in this order):&lt;br /&gt;
* if needed, [ftp://ftp.gnu.org/gnu/tar/ GNU tar]&lt;br /&gt;
* if needed (the name is often 'gmake' and not 'make') [ftp://ftp.gnu.org/gnu/make/ GNU make] (&amp;gt;= 3.81)&lt;br /&gt;
* [http://www.sqlite.org SQLite]&lt;br /&gt;
* [http://trac.osgeo.org/proj/ PROJ.4] (for ./configure parameters, see [[Talk:Compile and Install|here]])&lt;br /&gt;
* [http://www.gdal.org GDAL] (for ./configure parameters, see [[Talk:Compile and Install|here]])&lt;br /&gt;
* [http://grass.osgeo.org/grass74/source/snapshot/ GRASS GIS 7]&lt;br /&gt;
&lt;br /&gt;
The environment variables and configure command that worked for AIX 5.x:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
## AIX 5.x&lt;br /&gt;
&lt;br /&gt;
export LIBPATH=/opt/freeware/lib64:/opt/freeware/lib&lt;br /&gt;
# make 'ar' happy&lt;br /&gt;
export OBJECT_MODE=64&lt;br /&gt;
&lt;br /&gt;
PREFIX=$HOME/private/bin&lt;br /&gt;
CFLAGS='-ansi -D_ALL_SOURCE=1 -D_POSIX_SOURCE=1 -D_POSIX_C_SOURCE=200809L -Dinline=' ./configure \&lt;br /&gt;
  --prefix=$PREFIX \&lt;br /&gt;
  --disable-shared \&lt;br /&gt;
  --enable-largefile \&lt;br /&gt;
  --with-cxx \&lt;br /&gt;
  --with-proj-includes=$PREFIX/include/ \&lt;br /&gt;
  --with-proj-libs=$PREFIX/lib/ \&lt;br /&gt;
  --with-proj-share=$PREFIX/share/proj/ \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-sqlite-includes=$PREFIX/include/ \&lt;br /&gt;
  --with-sqlite-libs=$PREFIX/lib/ \&lt;br /&gt;
  --with-tiff=no \&lt;br /&gt;
  --with-png=no \&lt;br /&gt;
  --with-fftw=no \&lt;br /&gt;
  --with-cairo=no \&lt;br /&gt;
  --with-freetype=no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The environment variables and configure command that worked for AIX 7.x:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
## AIX 7.x&lt;br /&gt;
export CC=&amp;quot;gcc&amp;quot;&lt;br /&gt;
export CXX=&amp;quot;g++&amp;quot;&lt;br /&gt;
PREFIX=$HOME/bin&lt;br /&gt;
&lt;br /&gt;
LDFLAGS=&amp;quot;-Wl,-bsvr4,-R,/opt/freeware/lib -L/opt/freeware/lib&amp;quot; CPPFLAGS=&amp;quot;-I/opt/freeware/include&amp;quot; ./configure \&lt;br /&gt;
  --prefix=$PREFIX \&lt;br /&gt;
  --enable-largefile \&lt;br /&gt;
  --enable-shared \&lt;br /&gt;
  --with-includes=/opt/freeware/include --with-libs=/opt/freeware/lib \&lt;br /&gt;
  --with-cxx \&lt;br /&gt;
  --with-proj-includes=$PREFIX/include/ \&lt;br /&gt;
  --with-proj-libs=$PREFIX/lib/ \&lt;br /&gt;
  --with-proj-share=$PREFIX/share/proj/ \&lt;br /&gt;
  --with-gdal=$PREFIX/bin/gdal-config \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-sqlite-libs=$PREFIX/lib --with-sqlite-includes=$PREFIX/include \&lt;br /&gt;
  --with-png=no \&lt;br /&gt;
  --with-tiff=no \&lt;br /&gt;
  --with-fftw=no \&lt;br /&gt;
  --with-cairo=no \&lt;br /&gt;
  --with-opengl=no \&lt;br /&gt;
  --with-freetype=no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== MS-Windows ====&lt;br /&gt;
&lt;br /&gt;
===== MS-Windows/Cygwin =====&lt;br /&gt;
&lt;br /&gt;
* See the [[Cygwin]] wiki pages&lt;br /&gt;
&lt;br /&gt;
===== MS-Windows/native =====&lt;br /&gt;
&lt;br /&gt;
====== Compile ======&lt;br /&gt;
&lt;br /&gt;
* [http://trac.osgeo.org/grass/wiki/CompileOnWindows GRASS Windows Native Binary Building Guide] (GRASS 6.4.x + 7.x)&lt;br /&gt;
* &amp;lt;strike&amp;gt;[http://www.webalice.it/marco.pasetti/grass/BuildFromSource.html GRASS Windows Native Binary Building Guide] (GRASS 6.3.x) &amp;lt;/strike&amp;gt;&lt;br /&gt;
* See/adapt [http://blog.qgis.org/node/124 idea] for unattended install of QGIS (et al) from [http://trac.osgeo.org/osgeo4w/ OSGeo4W] from the QuantumGIS Blog.&lt;br /&gt;
&lt;br /&gt;
See also [[WinGRASS Current Status]] for latest updates.&lt;br /&gt;
&lt;br /&gt;
=== Common problems and solutions ===&lt;br /&gt;
&lt;br /&gt;
During compilation, error can occur if certain packages are not installed. Here a list of problems with solution:&lt;br /&gt;
&lt;br /&gt;
* error: X11/Xlib.h: No such file or directory&lt;br /&gt;
** this suggests that you don't have the X headers installed&lt;br /&gt;
** Solution: Install the libx11-dev package&lt;br /&gt;
&lt;br /&gt;
* error:  g.list: error while loading shared libraries: libgdal1.6.0.so.1: cannot open shared object file: No such file or directory&lt;br /&gt;
** this error appears in the shell right after the user clicks GUI's &amp;quot;Start GRASS&amp;quot; button. The GUI shows an error about geographic extent and gets closed afterwards.&lt;br /&gt;
** It happens when you launch bin.i686 executable on 64bit system. Be careful and choose the right architecture.&lt;br /&gt;
&lt;br /&gt;
* error: lib/python/ctypes&lt;br /&gt;
** This error appears during the compilation: &amp;lt;code&amp;gt;free(): invalid pointer Aborted (core dumped)&amp;lt;/code&amp;gt;&lt;br /&gt;
** It happens when you have multiple &amp;lt;code&amp;gt;libproj&amp;lt;/code&amp;gt; versions on your system (check it with command &amp;lt;code&amp;gt;ldd PATH_TO_GRASS_INSTALL/lib/libgrass_gproj.so | grep proj&amp;lt;/code&amp;gt; - when this is not your problem, you should obtain exactly one result)&lt;br /&gt;
** Solution: Try to reinstall &amp;lt;code&amp;gt;libproj-dev&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proj-data&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Static compilation ===&lt;br /&gt;
&lt;br /&gt;
In order to get static rather than dynamically linked binaries, configure like this:&lt;br /&gt;
&lt;br /&gt;
  ./configure --disable-shared --enable-static&lt;br /&gt;
&lt;br /&gt;
This will however break the wxGUI and GRASS 7 completely because &amp;quot;ctypes&amp;quot; wants to link against shared libs, or there is something in the static libs that &amp;quot;ctypes&amp;quot; does not like.&lt;br /&gt;
&lt;br /&gt;
=== Optimization ===&lt;br /&gt;
&lt;br /&gt;
GCC and other compilers support [http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Optimize-Options.html#Optimize-Options optimization]&lt;br /&gt;
&lt;br /&gt;
If you would like to set compiler optimisations, for a possibly faster binary, type (don't enter a &amp;quot;;&amp;quot; anywhere):&lt;br /&gt;
&lt;br /&gt;
        CFLAGS=-O ./configure&lt;br /&gt;
or,&lt;br /&gt;
        setenv CFLAGS -O&lt;br /&gt;
        ./configure&lt;br /&gt;
&lt;br /&gt;
whichever works on your shell. Use -O2 instead of -O if your compiler supports this (note: O is the letter, not zero). Using the &amp;quot;gcc&amp;quot; compiler, you can also specify processor specific flags (examples, please suggest better settings to us):&lt;br /&gt;
&lt;br /&gt;
  CFLAGS=&amp;quot;-mcpu=athlon -O2&amp;quot; # AMD Athlon processor with code optimisations&lt;br /&gt;
  CFLAGS=&amp;quot;-march=amdfam10&amp;quot;  # AMD Phenom II X4 64bit processor with gcc &amp;gt;=4.3&lt;br /&gt;
  CFLAGS=&amp;quot;-mcpu=pentium&amp;quot;    # Intel Pentium processor&lt;br /&gt;
  CFLAGS=&amp;quot;-mcpu=pentium4&amp;quot;   # Intel Pentium4 processor&lt;br /&gt;
  CFLAGS=&amp;quot;-O2 -msse -msse2 -mfpmath=sse -minline-all-stringops&amp;quot; # Intel XEON 64bit processor&lt;br /&gt;
  CFLAGS=&amp;quot;-mtune=nocona -m64 -minline-all-stringops&amp;quot;            # Intel Pentium 64bit processor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To find out optional CFLAGS for your platform, enter:&lt;br /&gt;
  gcc -dumpspecs&lt;br /&gt;
&lt;br /&gt;
See also: http://gcc.gnu.org/&lt;br /&gt;
&lt;br /&gt;
A real fast GRASS version (and small binaries) will be created with LDFLAGS set to &amp;quot;stripping&amp;quot; (but this disables debugging):&lt;br /&gt;
&lt;br /&gt;
  CFLAGS=&amp;quot;-O2 -mcpu=&amp;lt;cpu_see_above&amp;gt; -Wall&amp;quot; LDFLAGS=&amp;quot;-s&amp;quot; ./configure&lt;br /&gt;
&lt;br /&gt;
=== Configure options and their meanings ===&lt;br /&gt;
&lt;br /&gt;
For configure there are many options and some GRASS modules are built only if some options are set. Here are listed common configuration options with short explanation.&lt;br /&gt;
&lt;br /&gt;
* --prefix=/path - Sets path where GRASS will be installed. GRASS will reside in /path/grass-version.&lt;br /&gt;
* --enable-largefile - Enables large (&amp;gt;2Gb on 32bit systems) support. For current large file support status look at [[Large File Support]] page.&lt;br /&gt;
* --with-cxx - Enables compilation of C++ code. Required for r.terraflow module.&lt;br /&gt;
* --with-readline - Enables readline support. If readline is enabled, you can use its history/editing facilities when entering r.mapcalc expressions on stdin.&lt;br /&gt;
* --with-glw - Enables GLw support. The GLw library provides OpenGL &amp;quot;canvas&amp;quot; widgets for Athena and Motif. &lt;br /&gt;
 &lt;br /&gt;
 That switch is unnecessary for normal compilation. It's only&lt;br /&gt;
 required for r3.showdspf, which isn't normally built; if you &lt;br /&gt;
 want it, you have build it manually &lt;br /&gt;
 (e.g. &amp;quot;make -C raster3d/r3.showdspf&amp;quot;).&lt;br /&gt;
 As similar functionality is now provided by NVIZ, r3.showdspf&lt;br /&gt;
 is deprecated.&lt;br /&gt;
 r3.showdspf uses the Motif widget (so you also need a &lt;br /&gt;
 Motif library, e.g. Lesstif or OpenMotif).&lt;br /&gt;
 [http://grass.itc.it/pipermail/grassuser/2006-December/037475.html Glynn Clements at GRASS-user mailing list]&lt;br /&gt;
&lt;br /&gt;
=== Parallelized compilation on multi-core CPUs ===&lt;br /&gt;
&lt;br /&gt;
You can dramatically accelerate the compilation of the GRASS code with the -j flag of &amp;quot;make&amp;quot; if you have a multi-core CPU system. This determines the maximum number of jobs to have running at once, so cores don't have to sit idle waiting for jobs on other cores to complete. A good rule of thumb for this value is &amp;lt;tt&amp;gt;number_of_cores * 1.5&amp;lt;/tt&amp;gt;, but note that setting any higher than the actual number of cores will only affect the timing slightly. For example, on a dual-core processor:&lt;br /&gt;
  make -j 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- CFLAGS=&amp;quot;-pipe&amp;quot; doesn't seem to help much --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRASS-GDAL plugin ==&lt;br /&gt;
&lt;br /&gt;
* see [[Compile and install GRASS and QGIS with GDAL/OGR Plugin]]&lt;br /&gt;
&lt;br /&gt;
== Addons ==&lt;br /&gt;
&lt;br /&gt;
Please note that the installation of [[AddOns/GRASS_6|Addons]] can be easily done with the {{cmd|g.extension}} manager. The compile instructions below are aiming at own development.&lt;br /&gt;
&lt;br /&gt;
=== Compiled modules ===&lt;br /&gt;
&lt;br /&gt;
This is the general way which works for C modules as well as scripts (Python or Shell/Bash modules) which has HTML documentation.&lt;br /&gt;
&lt;br /&gt;
'''Requirements:'''&lt;br /&gt;
&lt;br /&gt;
Either:&lt;br /&gt;
* a binary GRASS package, or&lt;br /&gt;
* source code which has been prepared with:&lt;br /&gt;
    ./configure [opionally flags]&lt;br /&gt;
    make libs&lt;br /&gt;
&lt;br /&gt;
Each of the [[GRASS_AddOns|addon]] modules should come with a Makefile. To compile it, just run:&lt;br /&gt;
    make MODULE_TOPDIR=/path/to/grass64/&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;lt;tt&amp;gt;/path/to/grass64&amp;lt;/tt&amp;gt; has to be absolute, not relative.&lt;br /&gt;
&lt;br /&gt;
If using Bash it may be useful to set that up as an alias:&lt;br /&gt;
    alias gmake64='make MODULE_TOPDIR=/path/to/grass64/'&lt;br /&gt;
&lt;br /&gt;
Installation (perhaps requires &amp;quot;sudo&amp;quot;):&lt;br /&gt;
    make MODULE_TOPDIR=/path/to/grass64/ install&lt;br /&gt;
&lt;br /&gt;
Note: Compiled addons may require a re-compilation if you changed/updated your GRASS standard binaries.&lt;br /&gt;
&lt;br /&gt;
==== If binary comes with a -dev package ====&lt;br /&gt;
&lt;br /&gt;
''(work in progress, this text states how it eventually will be :)''&lt;br /&gt;
Nowadays one does not need to the source code, nor compiling GRASS by oneself to be able to add add-ons. On Debian, you can just install the grass-dev package and then run:&lt;br /&gt;
 make MODULE_TOPDIR=/usr/lib/grass64/ INST_DIR=/usr/lib/grass64/&lt;br /&gt;
&lt;br /&gt;
The grass-dev package essentially provides GRASS's &amp;lt;tt&amp;gt;include&amp;lt;/tt&amp;gt; header files and Make configuration files.&lt;br /&gt;
&lt;br /&gt;
=== Scripts ===&lt;br /&gt;
&lt;br /&gt;
If the addon module is a script, it is sufficient to copy it into the (GRASS binaries) path somewhere. Alternatively, install addons into a separate GRASS addons binaries/scripts directory which is easier to maintain. It avoids getting clobbered every time you reinstall GRASS. To use these separately stored scripts, set and export the GRASS_ADDON_PATH environment variable before starting GRASS and it will automatically be added to the module search path (see the {{cmd|variables}} help page). To simplify this, do for example:&lt;br /&gt;
&lt;br /&gt;
 # add in $HOME/.bashrc:&lt;br /&gt;
 GRASS_ADDON_PATH=/usr/local/grass/addons/&lt;br /&gt;
 export GRASS_ADDON_PATH&lt;br /&gt;
&lt;br /&gt;
Make sure that the script is executable, then just call it in GRASS typing the filename. Python scripts need to be called writing the extension as well, like:&lt;br /&gt;
 &lt;br /&gt;
 GRASS 6.5.svn (spearfish60):~ &amp;gt; v.krige.py&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>⚠️Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_MacPorts&amp;diff=26357</id>
		<title>Compiling on macOS using MacPorts</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_MacPorts&amp;diff=26357"/>
		<updated>2020-10-06T07:34:38Z</updated>

		<summary type="html">&lt;p&gt;⚠️Nila: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing GRASS GIS with MacPorts ==&lt;br /&gt;
&lt;br /&gt;
MacPorts is a package management system for macOS. It makes it easy to install and update any supported software &amp;amp;mdash; dependencies (that can be either executables or libraries) are installed and updated automatically. It is recommended to install the MacPort base software with the package installer available at [https://guide.macports.org macports.org] where also detailed installation and usage instructions can be found. Note that Xcode is a prerequisite and that MacPorts is controlled through the Terminal with the '''port''' command.&lt;br /&gt;
&lt;br /&gt;
Assuming you succeeded with the installation of the MacPorts base, the base software can be updated with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Information on software, i.e. ''ports'', that can be installed can be retrieved with the '''info''' action, this is an example with the port '''grass7''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
port info grass7&lt;br /&gt;
&lt;br /&gt;
grass7 @7.8.3_1 (gis)&lt;br /&gt;
Variants:             debug, ffmpeg, gui, mysql5, openblas, postgresql10, postgresql11, [+]postgresql12, proj4, [+]proj6, python35, python36, python37, [+]python38, sqlite, universal, zstd&lt;br /&gt;
&lt;br /&gt;
Description:          GRASS is a Geographic Information System (GIS) used for geospatial data management and analysis.&lt;br /&gt;
Homepage:             http://grass.osgeo.org/&lt;br /&gt;
&lt;br /&gt;
Build Dependencies:   pkgconfig&lt;br /&gt;
Library Dependencies: bzip2, freetype, fftw-3, gdal, pdal, geos, tiff, libpng, liblas, cairo, readline, python38, py38-Pillow, py38-numpy, py38-six, proj6, postgresql12&lt;br /&gt;
Runtime Dependencies: py38-psycopg2&lt;br /&gt;
Platforms:            darwin&lt;br /&gt;
License:              GPL-2+&lt;br /&gt;
Maintainers:          none&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ''variants'' are options for a port that can be chosen at installation. The variants marked with a '''+''', are included by default.&lt;br /&gt;
&lt;br /&gt;
Installing GRASS with default variants:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install grass7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
will download, compile and install GRASS with dependencies ''postgresql12'', ''proj6'' and ''python38''.&lt;br /&gt;
&lt;br /&gt;
However, a customized installation may look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install grass7 +gui +python37 +zstd +sqlite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will replace the default ''python38'' with ''python37'' and include also the ''gui'', ''sqlite'' and ''zstd'' dependencies. The default variants ''postgresql12'' and ''proj6'' will in this case also be included.&lt;br /&gt;
&lt;br /&gt;
To check if any of the installed ports (or dependencies) have been updated:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
port outdated&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To update outdated ports:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port upgrade outdated&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using GRASS GIS installed with MacPorts ==&lt;br /&gt;
&lt;br /&gt;
A standard installation of MacPorts will install ports at:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/opt/local/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Installation with the variant ''+gui'' will also install an app bundle at:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Applications/MacPorts/GRASS-7.8.app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can start GRASS GIS from terminal with command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grass78&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/opt/local/bin/grass78&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>⚠️Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_Anaconda&amp;diff=26267</id>
		<title>Compiling on macOS using Anaconda</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_Anaconda&amp;diff=26267"/>
		<updated>2020-07-23T09:35:34Z</updated>

		<summary type="html">&lt;p&gt;⚠️Nila: add missing flag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Using Anaconda to Create a Binary Mac App for GRASS ==&lt;br /&gt;
These instructions are for creating a self-contained Mac app, including all dependencies, with GRASS 7.9 and Anaconda. You can modify them if you don't need some of the steps. Some of the steps you won't need to repeat (e.g., creating an anaconda environment). You must first install the [https://www.anaconda.com '''Anaconda package'''] for Python. You will of course need to download a copy of the [https://grass.osgeo.org/download/ '''GRASS source code''']. You will also need to install Apple's '''XCode''' and the '''command-line tools''' to compile sofware. This workflow can be used with MacOS 10.14 and 10.15. It may work with other versions, but has not been tested.     &lt;br /&gt;
&lt;br /&gt;
You will need to work from the '''Mac terminal''' to compile GRASS of course. This tutorial assumes you are familiare with this command line interface.   &lt;br /&gt;
&lt;br /&gt;
This process also requires some patches and other supporting files. You can download these here: [[File:Grass_macapp_anaconda_supporting_files.zip]]  &lt;br /&gt;
&lt;br /&gt;
=== 1. Create a Mac app shell (I have uploaded an example for GRASS 7.9 you can use as is, modified from shells created by Eric Hutton). ===  &lt;br /&gt;
This can be modified serve for different versions of GRASS by altering the last line of the script that launches GRASS in the app shell. To do this, you will need to look inside the app by Ctrl-clicking on it and selecting ''''&amp;quot;show package contents&amp;quot;'''', which reveals the app as a folder with other folders and files inside.  &lt;br /&gt;
&lt;br /&gt;
For example, to make a shell for GRASS 7.8, copy the uploaded ''''GRASS-7.9.app'''' and rename it to ''''GRASS-7.8.app''''  &lt;br /&gt;
Then show package contents for ''''GRASS-7.8.app'''' and use a text editor to modify the last line of the file ''''../GRASS-7.8.app/Contents/MacOS/Grass.sh'''' to refer to GRASS 7.8  &lt;br /&gt;
&lt;br /&gt;
change:  &amp;quot;$GRASS_PYTHON&amp;quot; &amp;quot;$GISBASE/bin/grass79&amp;quot; &amp;quot;-gui&amp;quot; &amp;quot;$@&amp;quot;  &lt;br /&gt;
to:  &amp;quot;$GRASS_PYTHON&amp;quot; &amp;quot;$GISBASE/bin/grass78&amp;quot; &amp;quot;-gui&amp;quot; &amp;quot;$@&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
Also, use a text editor to modify ''''../GRASS-7.9.app/Contents/Info.plist''' to change all references to 7.9 to 7.8.  &lt;br /&gt;
&lt;br /&gt;
=== 2. Create an Anaconda environment for Python 3.6.10 ===  &lt;br /&gt;
This may not be strictly necessary, but I am doing it make sure that my builds use Python 3  instead of Python 2.7,  which is still what ships with the Mac.  &lt;br /&gt;
&lt;br /&gt;
Anaconda defaults to Python 3.7.6, which will not compile GRASS properly. This makes it more complicated than needed, requiring some workarounds. I've tried this with multiple versions of Python 3 (anaconda has them all the way up to 3.8.2), but the highest version that seems to give consistently successful results is 3.6.10. This will probably change in the future so that you can use a higher version of Python.   &lt;br /&gt;
&lt;br /&gt;
Here is how to create an Anaconda environment for Python 3.6.10. You only need to do this once for each environment you want to use.   &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
conda create -n anaconda_p36 python==3.6.10 anaconda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. Activate the Anaconda Python 3.6.10 environment ===  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
conda activate anaconda_p36&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can activate any previously created Anaconda environment in this way   &lt;br /&gt;
&lt;br /&gt;
=== 4. Copy the Mac app shell to /Applications ===  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp -r ../GRASS-7.9.app /Applications/GRASS-7.9.app  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 5. Download the Python 3 miniconda installer and use it to install a minimal anaconda environment into the Mac app shell ===  &lt;br /&gt;
Even if you are working in an Anaconda environment with Python 3.6.10, miniconda currently installs Python 3.7.6 into the Mac app shell. So you will need to downgrade this in step 7 below. This will probably change in the future so that miniconda installs a higher Python version. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh &amp;amp;gt;  miniconda3.sh   &lt;br /&gt;
bash ./miniconda3.sh -b -f -p /Applications/GRASS-7.9.app/Contents/Resources    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  6. Export the path to the GRASS Mac app shell so that subsequent operations use the environment of that shell ===  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export PATH=/Applications/GRASS-7.9.app/Contents/Resources/bin:$PATH   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 7. Install GRASS dependencies into Mac app shell, including Python 3.6.10 ===  &lt;br /&gt;
A requirements file can make all of these dependencies easier to install. One is included in the supporting files package. This will downgrade Python from v. 3.7.6 installed by miniconda to the more useable 3.6.10.  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
conda install --yes -p &amp;quot;/Applications/GRASS-7.9.app/Contents/Resources&amp;quot; --file=requirements_wxp4p36.txt -c conda-forge  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 8. Create a symlink to Python so that pythonw can find it (may become unneeded in the future) ===  &lt;br /&gt;
Grass launches Python through the pythonw script. But the script does not point to the correct location for Python (which is in fact in 2 different places). This seems to be a bug in Python &amp;lt; 3.7.4 or how anaconda installs it. It puts the python launch file in the wrong place. So a symlink is needed.  Hopefully this will go away when we can use Python &amp;gt; 3.7.6, which seems to put python in the correct place, and the place that pythonw points to.   &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ln -sf /Applications/GRASS-7.8.app/Contents/Resources/python.app/pythonapp/Contents/* /Applications/GRASS-7.8.app/Contents/Resources/python.app/Contents&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 9. cd to the grass source folder and apply patches to  configure and make files ===  &lt;br /&gt;
Eric Hutton at CSDMS worked out these patches and I modified one needed to use Python 3. Maybe they can be worked into the source code so that they are no longer needed. I will upload the patches along with the app shell and requirements file.   &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
patch -p0 &amp;lt; aclocal.m4.patch  &lt;br /&gt;
patch -p0 &amp;lt; configure.patch  &lt;br /&gt;
patch -p0 &amp;lt; install.make.patch  &lt;br /&gt;
patch -p0 &amp;lt; loader.py.patch  &lt;br /&gt;
patch -p0 &amp;lt; module.make.patch  &lt;br /&gt;
patch -p0 &amp;lt; platform.make.in.patch  &lt;br /&gt;
patch -p0 &amp;lt; rules.make.patch  &lt;br /&gt;
patch -p0 &amp;lt; shlib.make.patch&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== 10. Configure, make, and install ===  &lt;br /&gt;
An example configure script is included in the grass supporting files package. It flags all dependencies and sets the correct path so that they can be found. '''Important''': this configure script has a hard path to the SDK (software developer kit) that comes with XCode. You can set different path if you've put you SDK in a different place.  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bash ../configure.sh&lt;br /&gt;
make -j4  GDAL_DYNAMIC=&lt;br /&gt;
make -j4 install  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assuming there were no errors, you should now be able to run and test the GRASS-7.9.app in your /Applications folder&lt;br /&gt;
&lt;br /&gt;
=== 11. Clean up ===  &lt;br /&gt;
This removes unneeded anaconda package installer files and some other large files that are irrelevant for GRASS. It makes the app much smaller (though still large because of Python, wxPython, and other dependencies are packaged inside)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
conda clean --all  -y  &lt;br /&gt;
rm -r /Applications/GRASS-7.9.app/Contents/Resources/mkspecs  &lt;br /&gt;
rm -r /Applications/GRASS-7.9.app/Contents/Resources/phrasebooks  &lt;br /&gt;
rm -r /Applications/GRASS-7.9.app/Contents/Resources/pkgs  &lt;br /&gt;
rm -r /Applications/GRASS-7.9.app/Contents/Resources/plugins  &lt;br /&gt;
rm -r /Applications/GRASS-7.9.app/Contents/Resources/qml  &lt;br /&gt;
rm -r /Applications/GRASS-7.9.app/Contents/Resources/resources  &lt;br /&gt;
rm -r /Applications/GRASS-7.9.app/Contents/Resources/translations &lt;br /&gt;
rm /Applications/GRASS-7.9.app/Contents/Resources/lib/libQt*  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optional: create a binary distribution package ==&lt;br /&gt;
=== 12. Set up folder to make a binary package for distribution ===  &lt;br /&gt;
Put a copy of the new GRASS app and a symlink to the /Applications folder into a new folder that will become the distribution package.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir ../binary_pkg/grass-7.9&lt;br /&gt;
cd ../binary_pkg/grass-7.9&lt;br /&gt;
cp -R /Applications/GRASS-7.9.app ./&lt;br /&gt;
ln -s /Applications Applications  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 13. Use Disk Utility to make a distribution package ===  &lt;br /&gt;
* Open disk Utility  &lt;br /&gt;
* From the make file/new image menu, select image from from folder  &lt;br /&gt;
* Point it to the folder with the app and symlink to /Applications and tell it to make an image ''''GRASS-7.9.dmg''''.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>⚠️Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:Grass_macapp_anaconda_supporting_files.zip&amp;diff=26245</id>
		<title>File:Grass macapp anaconda supporting files.zip</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:Grass_macapp_anaconda_supporting_files.zip&amp;diff=26245"/>
		<updated>2020-06-24T12:08:11Z</updated>

		<summary type="html">&lt;p&gt;⚠️Nila: Nila uploaded a new version of File:Grass macapp anaconda supporting files.zip&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Supporting files for workflow to create a binary Mac app for GRASS, using Anaconda&lt;/div&gt;</summary>
		<author><name>⚠️Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_MacPorts&amp;diff=26223</id>
		<title>Compiling on macOS using MacPorts</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_MacPorts&amp;diff=26223"/>
		<updated>2020-06-08T08:06:44Z</updated>

		<summary type="html">&lt;p&gt;⚠️Nila: Add categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing GRASS GIS with MacPorts ==&lt;br /&gt;
&lt;br /&gt;
MacPorts is a package management system for macOS. It makes it easy to install and update any supported software &amp;amp;mdash; dependencies (that can be either executables or libraries) are installed and updated automatically. It is recommended to install the MacPort base software with the package installer available at [https://guide.macports.org macports.org] where also detailed installation and usage instructions can be found. Note that Xcode is a prerequisite and that MacPorts is controlled through the Terminal with the '''port''' command.&lt;br /&gt;
&lt;br /&gt;
Assuming you succeeded with the installation of the MacPorts base, the base software can be updated with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Information on software, i.e. ''ports'', that can be installed can be retrieved with the '''info''' action, this is an example with the port '''grass7''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
port info grass7&lt;br /&gt;
&lt;br /&gt;
grass7 @7.8.3_1 (gis)&lt;br /&gt;
Variants:             debug, ffmpeg, gui, mysql5, openblas, postgresql10, postgresql11, [+]postgresql12, proj4, [+]proj6, python35, python36, python37, [+]python38, sqlite, universal, zstd&lt;br /&gt;
&lt;br /&gt;
Description:          GRASS is a Geographic Information System (GIS) used for geospatial data management and analysis.&lt;br /&gt;
Homepage:             http://grass.osgeo.org/&lt;br /&gt;
&lt;br /&gt;
Build Dependencies:   pkgconfig&lt;br /&gt;
Library Dependencies: bzip2, freetype, fftw-3, gdal, pdal, geos, tiff, libpng, liblas, cairo, readline, python38, py38-Pillow, py38-numpy, py38-six, proj6, postgresql12&lt;br /&gt;
Runtime Dependencies: py38-psycopg2&lt;br /&gt;
Platforms:            darwin&lt;br /&gt;
License:              GPL-2+&lt;br /&gt;
Maintainers:          none&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ''variants'' are options for a port that can be chosen at installation. The variants marked with a '''+''', are included by default.&lt;br /&gt;
&lt;br /&gt;
Installing GRASS with default variants:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install grass7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
will download, compile and install GRASS with dependencies ''postgresql12'', ''proj6'' and ''python38''.&lt;br /&gt;
&lt;br /&gt;
However, a customized installation may look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install grass7 +gui +python37 +zstd +sqlite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will replace the default ''python38'' with ''python37'' and include also the ''gui'', ''sqlite'' and ''zstd'' dependencies. The default variants ''postgresql12'' and ''proj6'' will in this case also be included.&lt;br /&gt;
&lt;br /&gt;
To check if any of the installed ports (or dependencies) have been updated:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
port outdated&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To update outdated ports:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port upgrade outdated&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using GRASS GIS installed with MacPorts ==&lt;br /&gt;
&lt;br /&gt;
A standard installation of MacPorts will install ports at:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/opt/local/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Presently, GRASS GIS installed with MacPorts can only be started from the terminal, with the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grass78&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/opt/local/bin/grass78&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>⚠️Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Core_features&amp;diff=26219</id>
		<title>Core features</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Core_features&amp;diff=26219"/>
		<updated>2020-06-05T12:20:32Z</updated>

		<summary type="html">&lt;p&gt;⚠️Nila: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* 2D raster analysis and [[Help with 3D|3D]] voxel management (volumes)&lt;br /&gt;
* 2D/3D Vector engine with [[SQL]] based DBMS support&lt;br /&gt;
* [[Vector network analysis]]&lt;br /&gt;
* [[Screenshot suggestions|Visualization]] of 2D, 3D maps and volumes&lt;br /&gt;
* Interoperable with standard raster and vector [[Data formats|formats]]&lt;br /&gt;
* Works on GNU/Linux, macOS, MS-Windows and other POSIX compliant platforms&lt;br /&gt;
* Modular architecture, scripting capabilities for [[GRASS_and_Shell#GRASS_Batch_jobs|batch processing]]&lt;br /&gt;
* Programmable to run as OGC Web Processing Service ([[WPS]]) workhorse&lt;br /&gt;
* native [[WPS]] support&lt;br /&gt;
* see {{cmd|topics}}' oriented manual&lt;br /&gt;
* [[Temporal data processing]]&lt;br /&gt;
* [http://grass.osgeo.org/grass7/ GRASS GIS 7 at a glance]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* GRASS 7 manual, see {{cmd|index}}&lt;br /&gt;
* [[GRASS GIS Performance]]&lt;br /&gt;
* [[Software requirements specification]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Promotion]]&lt;/div&gt;</summary>
		<author><name>⚠️Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Installation_Guide&amp;diff=26218</id>
		<title>Installation Guide</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Installation_Guide&amp;diff=26218"/>
		<updated>2020-06-05T12:15:35Z</updated>

		<summary type="html">&lt;p&gt;⚠️Nila: Update Macintosh OS name to reflect new brand (since 2016 with macOS 10.12) and addition of macports link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General ==&lt;br /&gt;
:''For compilation of GRASS GIS source code, see [[Compile and Install]]''&lt;br /&gt;
This page explains the installation of GRASS binaries.&lt;br /&gt;
&lt;br /&gt;
GRASS GIS requires a workstation running either some flavor of UNIX conforming to POSIX standards like Linux, Mac OS X, Solaris, IRIX, or BSD or MS-Windows. It is also possible to run GRASS in MS Windows by using UNIX translation software such as [[Cygwin]] or natively with MingGW. Ideally, you should have at least 500 Mb for data and 512 Mb RAM. The source code package needs around 270 MB uncompressed. The resulting binaries may need between 20 MB and 180 MB depending on your platform. During a full compilation you may need temporarily up to 150MB including the source code.&lt;br /&gt;
&lt;br /&gt;
The [http://grass.osgeo.org/download/ Software Download Section] of the main GRASS web site contains the latest binaries and source code for all supported platforms. That site also has general directions for installing GRASS manually. However, installation is slightly different on each operating system. Here you can find user-contributed pointers for installing GRASS on specific platforms. In particular, many operating systems have package management utilities that can greatly simplify GRASS installation.&lt;br /&gt;
&lt;br /&gt;
== MS Windows ==&lt;br /&gt;
&lt;br /&gt;
:''The official page [http://grass.osgeo.org/download/software/ms-windows/ GRASS GIS Download for MS-Windows]''&lt;br /&gt;
&lt;br /&gt;
* Native winGRASS packages (including the installer) are provided [http://grass.osgeo.org/grass64/binary/mswindows/native/ here]. See also [[WinGRASS Current Status]].&lt;br /&gt;
&lt;br /&gt;
* winGRASS/Cygwin packages are provided [http://grass.osgeo.org/grass64/binary/mswindows/cygwin/ here] (requires [[Cygwin]] UNIX emulator, see there).&lt;br /&gt;
&lt;br /&gt;
* QGIS including native winGRASS packages are provided [http://www.qgis.org/wiki/Download here].&lt;br /&gt;
&lt;br /&gt;
* Install using [http://trac.osgeo.org/osgeo4w/ OSGeo4W installer] (GRASS 6 needs to be checked in the &amp;quot;Express&amp;quot; install. GRASS 7 needs to be selected in the &amp;quot;Advanced&amp;quot; installation.)&lt;br /&gt;
&lt;br /&gt;
== GNU/Linux ==&lt;br /&gt;
&lt;br /&gt;
:''The official page [http://grass.osgeo.org/download/software/linux/ GRASS GIS Download for GNU/Linux]''&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
&lt;br /&gt;
A binary version of GRASS is available from the apt repository. As root type:&lt;br /&gt;
&lt;br /&gt;
  apt-get install grass grass-doc&lt;br /&gt;
&lt;br /&gt;
This is the easiest way to install GRASS on Debian. If you choose to install a binary version manually from the main web site, be sure to follow the instructions for making symlinks found as a note to the [[http://grass.osgeo.org/grass64/binary/linux/snapshot/ 6.4 weekly snapshot]] release.&lt;br /&gt;
&lt;br /&gt;
==== DebianGis ====&lt;br /&gt;
&lt;br /&gt;
There is also the wonderful [http://wiki.debian.org/DebianGis DebianGIS] project which has a more recent GRASS version with its related packages. Read here for more [[GRASS in Debian |details]]&lt;br /&gt;
&lt;br /&gt;
==== Compiling GRASS from source ====&lt;br /&gt;
&lt;br /&gt;
* See [[Compile and Install]] of Source Code&lt;br /&gt;
&lt;br /&gt;
=== Installation on Fedora ===&lt;br /&gt;
&lt;br /&gt;
[https://admin.fedoraproject.org/pkgdb/acls/name/grass Fedoraproject] provides RPM-packages for stable releases prepared to install on Fedora systems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 yum install grass&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mandriva ===&lt;br /&gt;
&lt;br /&gt;
* [http://sophie.zarb.org/srpm/cooker,ia64/grass Mandriva] provides PROJ/GDAL/GRASS RPMs. Newer versions they are in the &amp;quot;backports&amp;quot; section:&lt;br /&gt;
&lt;br /&gt;
  urpmi grass&lt;br /&gt;
&lt;br /&gt;
=== openSUSE ===&lt;br /&gt;
&lt;br /&gt;
* [http://download.opensuse.org/repositories/Application:/Geo/ openSUSE] provides GRASS and related RPM-packages.&lt;br /&gt;
&lt;br /&gt;
'''GRASS 6:''' To install GRASS 6 release on openSUSE:&lt;br /&gt;
&lt;br /&gt;
From terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo zypper ar http://download.opensuse.org/repositories/Application:/Geo/openSUSE_12.3/ GEO&lt;br /&gt;
sudo zypper refresh&lt;br /&gt;
sudo zypper install grass&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively, one can use the '''One-Click installer''':&lt;br /&gt;
http://software.opensuse.org/package/grass&lt;br /&gt;
&lt;br /&gt;
'''GRASS 7:''' To install the latest GRASS 7 SVN snapshot:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo zypper refresh&lt;br /&gt;
sudo zypper install grass7&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively, one can use the '''One-Click installer''':&lt;br /&gt;
http://software.opensuse.org/package/grass7&lt;br /&gt;
&lt;br /&gt;
=== Red Hat Enterprise Linux (RHEL, CentOS and Scientific Linux) ===&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/Enterprise_Linux_GIS Enterprise Linux] offers GRASS and related binaries&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 yum install grass&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu ===&lt;br /&gt;
&lt;br /&gt;
GRASS Binaries are available from apt/synaptic. From a terminal type:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install grass grass-doc&lt;br /&gt;
&lt;br /&gt;
or alternatively, search for and install these packages from Synaptic. This is the easy way to get GRASS on your system. Even if you choose to install binaries from another source, you may want to install this version just so that all (most) dependencies are installed as painlessly as possible.&lt;br /&gt;
&lt;br /&gt;
To get the latest version of GRASS on Ubuntu, compile the code from source. See the [[Compile and Install]] section for a shell script that makes this easy.&lt;br /&gt;
&lt;br /&gt;
=== Slackware ===&lt;br /&gt;
&lt;br /&gt;
Slackware 12 packages for GRASS binary distributions and additional libraries are available from [http://repository.slacky.eu/slackware-12.2/scientific/grass The Italian Slackware Community] (release version) and [http://geni.ath.cx/grass.html#_Slackware_12_binary_distributions here] (SVN version).&lt;br /&gt;
&lt;br /&gt;
=== Raspberry Pi ===&lt;br /&gt;
&lt;br /&gt;
:''See the main page [[Raspberry Pi]].''&lt;br /&gt;
&lt;br /&gt;
== macOS ==&lt;br /&gt;
&lt;br /&gt;
Precompiled GRASS 6 and GRASS 7 packages for macOS can be found [http://grass.osgeo.org/download/software/mac-osx/ here].&lt;br /&gt;
&lt;br /&gt;
A brief introduction to how to install via [https://www.macports.org MacPorts]: [[Compiling on macOS using MacPorts]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>⚠️Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install&amp;diff=26217</id>
		<title>Compile and Install</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install&amp;diff=26217"/>
		<updated>2020-06-05T10:24:56Z</updated>

		<summary type="html">&lt;p&gt;⚠️Nila: Update Macintosh OS name to reflect new brand (since 2016 with macOS 10.12), some restructured layout and addition of MacPorts page link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- {{MoveToTrac}} --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Disclaimer''': This page explains how to turn the GRASS GIS source code into an installable binary package (&amp;quot;compilation&amp;quot;) for different operating systems. If you just want to get ready-to-use binaries, go [https://grass.osgeo.org/download/ here], otherwise read on...&lt;br /&gt;
&lt;br /&gt;
== How to do compilation and installation of GRASS GIS? ==&lt;br /&gt;
&lt;br /&gt;
Here we explain the procedure to compile GRASS from GitHub, but it also applies to official GRASS 7 releases.&lt;br /&gt;
&lt;br /&gt;
''For installation of precompiled binary packages, see the main [[Installation Guide]].''&lt;br /&gt;
&lt;br /&gt;
For detailed information on compilation, please see the [https://github.com/OSGeo/grass/blob/master/INSTALL INSTALL] file in the source code.&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
==== Extra libraries ====&lt;br /&gt;
GRASS GIS needs at least two extra libraries: PROJ and GDAL/OGR. It is recommended to download them as ready-to-use packages for your software platform (Linux distribution, Windows, Mac...).&lt;br /&gt;
&lt;br /&gt;
Other libraries needed to run GRASS are listed on the [http://htmlpreview.github.io/?https://github.com/OSGeo/grass/blob/master/REQUIREMENTS.html requirements page].&lt;br /&gt;
&lt;br /&gt;
To compile, you will also need the respective &amp;quot;-devel&amp;quot; packages; see below for details.&lt;br /&gt;
&lt;br /&gt;
==== Download GRASS GIS source code ====&lt;br /&gt;
&lt;br /&gt;
First, [https://grass.osgeo.org/download/software/sources/ download the GRASS GIS source code].&lt;br /&gt;
&lt;br /&gt;
=== Generic Compilation and installation procedure ===&lt;br /&gt;
&lt;br /&gt;
* It is wise that compilation processes are carried out as a normal user: If you want to get the source code in a place where you do not have write permissions (e.g. in /usr/local/src/) just follow this:&lt;br /&gt;
      cd /usr/local/src/ &lt;br /&gt;
      su -c 'mkdir grass7'&lt;br /&gt;
      su -c 'chown yourlogin:yourgroup grass7'&lt;br /&gt;
&lt;br /&gt;
Otherwise if you have permissions just continue as a normal user:&lt;br /&gt;
      mkdir $HOME/src&lt;br /&gt;
      cd $HOME/src/&lt;br /&gt;
      git clone https://github.com/OSGeo/grass.git grass_master&lt;br /&gt;
&lt;br /&gt;
* run configure with parameters to adapt the compile process to your own system. To see what options can be passed to it, run:&lt;br /&gt;
 ./configure --help | less &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- The minimum set of configure parameters is &lt;br /&gt;
      ./configure ### --&amp;gt;&lt;br /&gt;
It may (!) look like this:&lt;br /&gt;
 &lt;br /&gt;
      ./configure \&lt;br /&gt;
          --with-cxx \&lt;br /&gt;
          --with-sqlite \&lt;br /&gt;
          --with-python \&lt;br /&gt;
          --with-geos \&lt;br /&gt;
          --with-gdal=/usr/bin/gdal-config \&lt;br /&gt;
          --with-cairo --with-cairo-ldflags=-lfontconfig \&lt;br /&gt;
          --with-freetype \&lt;br /&gt;
          --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
          --with-proj --with-proj-share=/usr/share/proj&lt;br /&gt;
&lt;br /&gt;
You may have to explicitly state the path for certain packages (i.e., gdal). The Unix 'locate' command will come in handy for finding the path of the package you need (you may have to run locate as root ex: sudo locate gdal-config).&lt;br /&gt;
&lt;br /&gt;
Please note that the paths mentioned may widely vary due to the distribution used.&lt;br /&gt;
See [[Compile_and_Install#Platform_Specific_Notes|Platform Specific Notes]] below.&lt;br /&gt;
&lt;br /&gt;
Depending on your needs it may be a good idea to include debugging hooks.&lt;br /&gt;
: See [[GRASS_Debugging#Compile_Time_Setup]].&lt;br /&gt;
 CFLAGS=&amp;quot;-ggdb -Wall -Werror-implicit-function-declaration&amp;quot; ./configure ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the end of configuration process you should get report not much different from this:&lt;br /&gt;
&lt;br /&gt;
  GRASS is now configured for:  x86_64-pc-linux-gnu&lt;br /&gt;
  &lt;br /&gt;
  Source directory:           /home/user/software/grass_master&lt;br /&gt;
  Build directory:            /home/user/software/grass_master&lt;br /&gt;
  Installation directory:     ${prefix}/grass79&lt;br /&gt;
  Startup script in directory:${exec_prefix}/bin&lt;br /&gt;
  C compiler:                 gcc -O2 -march=native -std=gnu99 -fexceptions -fstack-protector -m64 -fdiagnostics-color &lt;br /&gt;
  C++ compiler:               c++ -g -Wall&lt;br /&gt;
  Building shared libraries:  yes&lt;br /&gt;
  OpenGL platform:            X11&lt;br /&gt;
  &lt;br /&gt;
  MacOSX application:         no&lt;br /&gt;
  MacOSX architectures:       &lt;br /&gt;
  MacOSX SDK:                 &lt;br /&gt;
  &lt;br /&gt;
  BLAS support:               yes&lt;br /&gt;
  BZIP2 support:              no&lt;br /&gt;
  C++ support:                yes&lt;br /&gt;
  Cairo support:              yes&lt;br /&gt;
  DWG support:                no&lt;br /&gt;
  FFTW support:               yes&lt;br /&gt;
  FreeType support:           yes&lt;br /&gt;
  GDAL support:               yes&lt;br /&gt;
  GEOS support:               yes&lt;br /&gt;
  [...]&lt;br /&gt;
&lt;br /&gt;
* Let's compile it (takes a little while...)!&lt;br /&gt;
      make -j2&lt;br /&gt;
* At the end, you should get report not much different from this:&lt;br /&gt;
 ----------------------------------------------------------------------&lt;br /&gt;
 Following modules are missing the 'description.html' file in src code:&lt;br /&gt;
 ----------------------------------------------------------------------&lt;br /&gt;
 GRASS GIS compilation log&lt;br /&gt;
 -------------------------&lt;br /&gt;
 Started compilation: Mon 19 Aug 2019 10:47:57 PM CEST&lt;br /&gt;
 --&lt;br /&gt;
 Errors in:&lt;br /&gt;
 No errors detected.&lt;br /&gt;
 --&lt;br /&gt;
 Finished compilation: Mon 19 Aug 2019 10:55:12 PM CEST&lt;br /&gt;
 (In case of errors please change into the directory with error and run 'make')&lt;br /&gt;
&lt;br /&gt;
* If there is any error, change directory to directory with error and run &amp;quot;make&amp;quot; again. Report occurring bug to GRASS mailing list&lt;br /&gt;
* Once the installation process is finished, you're ready to install GRASS system wide.&lt;br /&gt;
      su -c 'make install'&lt;br /&gt;
* enjoy GRASS: &lt;br /&gt;
      grass79&lt;br /&gt;
&lt;br /&gt;
=== What else? ===&lt;br /&gt;
&lt;br /&gt;
If you want to use [http://www.qgis.org QGIS], then also compile the GRASS-GDAL/OGR plugin. This is also useful to access your GRASS-data&lt;br /&gt;
from other application using GDAL/OGR like [http://thuban.intevation.de thuban].&lt;br /&gt;
* [[Compile and install GRASS and QGIS with GDAL/OGR Plugin]] (enables QGIS to read GRASS data directly)&lt;br /&gt;
&lt;br /&gt;
=== Compile and install GDAL-GRASS plugin ===&lt;br /&gt;
&lt;br /&gt;
* See [[Compile and install GDAL-GRASS plugin]]&lt;br /&gt;
&lt;br /&gt;
=== Platform Specific Notes ===&lt;br /&gt;
&lt;br /&gt;
==== Linux ====&lt;br /&gt;
&lt;br /&gt;
Linux comes in various flavours, i.e. distributions.&lt;br /&gt;
&lt;br /&gt;
===== Distribution related packaging =====&lt;br /&gt;
&lt;br /&gt;
* Arch Linux: https://github.com/czka/AUR-grass7&lt;br /&gt;
* Centos: https://src.fedoraproject.org/rpms/grass&lt;br /&gt;
* Debian: https://trac.osgeo.org/grass/wiki/DebianUbuntuPackaging&lt;br /&gt;
* EPEL: https://src.fedoraproject.org/rpms/grass&lt;br /&gt;
* Fedora: https://src.fedoraproject.org/rpms/grass&lt;br /&gt;
* Ubuntu: https://trac.osgeo.org/grass/wiki/DebianUbuntuPackaging&lt;br /&gt;
&lt;br /&gt;
===== Generic procedure for Debian-based distributions (Ubuntu, ...) =====&lt;br /&gt;
&lt;br /&gt;
WORK IN PROGRESS&lt;br /&gt;
&lt;br /&gt;
1. Install official GRASS package&lt;br /&gt;
&lt;br /&gt;
 sudo apt install grass grass-dev&lt;br /&gt;
&lt;br /&gt;
2. Enable source code download&lt;br /&gt;
&lt;br /&gt;
 # do backup first&lt;br /&gt;
 sudo cp /etc/apt/sources.list /etc/apt/sources.list.orig&lt;br /&gt;
 sudo sed -i '/^#\sdeb-src /s/^# *//' /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
3. Install GRASS dependencies&lt;br /&gt;
&lt;br /&gt;
 sudo apt build-dep grass&lt;br /&gt;
&lt;br /&gt;
4. Download GRASS source code&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/osgeo/grass&lt;br /&gt;
&lt;br /&gt;
5. Compile GRASS from source code&lt;br /&gt;
 &lt;br /&gt;
 cd grass&lt;br /&gt;
&lt;br /&gt;
Configure:&lt;br /&gt;
&lt;br /&gt;
 grass --config build | sh&lt;br /&gt;
&lt;br /&gt;
Optionally install missing dependecies (can happen when official GRASS package is not compatible with GRASS master), eg.&lt;br /&gt;
&lt;br /&gt;
 sudo apt install libzstd-dev&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
&lt;br /&gt;
 make -j2&lt;br /&gt;
&lt;br /&gt;
6. Run locally or install&lt;br /&gt;
&lt;br /&gt;
 ./bin.x86_64-pc-linux-gnu/grass79 --version&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 sudo make install&lt;br /&gt;
 grass79 --version&lt;br /&gt;
&lt;br /&gt;
===== Debian =====&lt;br /&gt;
&lt;br /&gt;
* Official [http://wiki.debian.org/DebianGis DebianGIS] packaging control files, available on git server:&lt;br /&gt;
  git://git.debian.org/git/pkg-grass/grass.git&lt;br /&gt;
&lt;br /&gt;
  http://anonscm.debian.org/cgit/pkg-grass/grass.git/&lt;br /&gt;
&lt;br /&gt;
====== GRASS 6.1 on Debian Sarge ======&lt;br /&gt;
&lt;br /&gt;
* [http://hamish.bowman.googlepages.com/debiangisfiles#compile Compiling GRASS 6.1-CVS on Debian/OldStable (aka 3.1, Sarge)]&lt;br /&gt;
&lt;br /&gt;
====== GRASS 6.4 on Debian Lenny ======&lt;br /&gt;
&lt;br /&gt;
Install needed packages:&lt;br /&gt;
  apt-get install flex bison libreadline-dev libncurses5-dev lesstif2-dev debhelper dpatch libtiff4-dev \&lt;br /&gt;
          tcl-dev tk-dev libfftw3-dev libxmu-dev libfreetype6-dev autoconf2.13 autotools-dev doxygen \&lt;br /&gt;
          libmysqlclient15-dev graphviz libsqlite3-dev python-wxgtk2.8 libcairo2-dev libwxgtk2.8-dev \&lt;br /&gt;
          python-dev libgdal1-dev  libgdal1-1.5.0 libproj-dev libproj0 proj-bin proj-data mysql&lt;br /&gt;
&lt;br /&gt;
# Important: avoid using CFLAGS=&amp;quot;... -Werror-implicit-function-declaration&amp;quot; (also on later Debian versions), see {{trac|1684}}&lt;br /&gt;
&lt;br /&gt;
Configure:&lt;br /&gt;
  ./configure \&lt;br /&gt;
  --with-cxx \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-postgres --with-postgres-includes=/usr/include/postgresql \&lt;br /&gt;
  --with-mysql --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql \&lt;br /&gt;
  --with-odbc \&lt;br /&gt;
  --with-cairo \&lt;br /&gt;
  --with-proj-share=/usr/share/proj \&lt;br /&gt;
  --with-tcltk-includes=/usr/include/tcl8.4/ \&lt;br /&gt;
  --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
  --with-motif --with-fftw --with-nls --with-python \&lt;br /&gt;
  --with-x --x-libraries=/usr/lib/x86_64-linux-gnu&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
====== GRASS 6.4 on Debian Jessie ======&lt;br /&gt;
&lt;br /&gt;
Install needed packages:&lt;br /&gt;
  apt-get install flex bison debhelper dpatch autoconf2.13 autotools-dev \&lt;br /&gt;
    python-dev g++ gcc gettext graphviz libcairo2-dev libfftw3-dev tcl-dev tk-dev \&lt;br /&gt;
    libfreetype6-dev libgdal1h libgdal1-dev libglu1-mesa-dev libglw1-mesa-dev \&lt;br /&gt;
    libncurses5-dev libreadline-dev libsqlite3-dev libtiff5-dev \&lt;br /&gt;
    libwxgtk3.0-dev libxmu-dev libxmu-headers libxt-dev mesa-common-dev \&lt;br /&gt;
    libproj-dev proj-bin proj-data python-numpy python-wxgtk3.0 subversion wx-common zlib1g-dev \&lt;br /&gt;
    netcdf-bin libnetcdf-dev libatlas-dev libgegl-dev doxygen postgresql mysql-server \&lt;br /&gt;
    libgeotiff-dev libblas-dev libgeotiff-epsg libxmu-dev libxt-dev libx11-dev&lt;br /&gt;
&lt;br /&gt;
# Important: avoid using CFLAGS=&amp;quot;... -Werror-implicit-function-declaration&amp;quot; (also on later Debian versions), see {{trac|1684}}&lt;br /&gt;
&lt;br /&gt;
Configure:&lt;br /&gt;
  ./configure \&lt;br /&gt;
  --with-cxx \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-postgres \&lt;br /&gt;
  --with-odbc \&lt;br /&gt;
  --with-cairo \&lt;br /&gt;
  --with-geos \&lt;br /&gt;
  --with-proj-share=/usr/share/proj \&lt;br /&gt;
  --with-tcltk-includes=/usr/include/tcl8.6/ \&lt;br /&gt;
  --with-mysql --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql \&lt;br /&gt;
  --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
  --with-motif \&lt;br /&gt;
  --with-fftw \&lt;br /&gt;
  --with-nls \&lt;br /&gt;
  --with-postgres-includes=/usr/include/postgresql \&lt;br /&gt;
  --with-python \&lt;br /&gt;
  --with-x --x-libraries=/usr/lib/x86_64-linux-gnu&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
====== GRASS 7 on Debian Squeeze ======&lt;br /&gt;
&lt;br /&gt;
Install needed packages:&lt;br /&gt;
 apt-get install flex bison debhelper dpatch autoconf2.13 autotools-dev python-dev \&lt;br /&gt;
     g++ gcc gettext graphviz libcairo2-dev libfftw3-dev libfreetype6-dev \&lt;br /&gt;
     libgdal1 libgdal1-dev libglu1-mesa-dev libglw1-mesa-dev \&lt;br /&gt;
     libncurses5-dev libproj-dev libreadline-dev libsqlite3-dev libtiff4-dev \&lt;br /&gt;
     libwxgtk2.8-dev libxmu-dev libxmu-headers libxt-dev mesa-common-dev \&lt;br /&gt;
     proj-bin proj-data python-numpy python-wxgtk2.8 subversion wx-common zlib1g-dev&lt;br /&gt;
&lt;br /&gt;
Download source code:&lt;br /&gt;
&lt;br /&gt;
 svn checkout https://svn.osgeo.org/grass/grass/trunk grass_trunk&lt;br /&gt;
&lt;br /&gt;
Configure:&lt;br /&gt;
 &lt;br /&gt;
 cd grass_trunk/&lt;br /&gt;
 CFLAGS=&amp;quot;-Wall -Werror-implicit-function-declaration -fno-common -Wextra -Wunused&amp;quot; \&lt;br /&gt;
 CXXFLAGS=&amp;quot;-Wall&amp;quot;  \&lt;br /&gt;
  ./configure --prefix=/usr/local \&lt;br /&gt;
  --with-gdal --with-proj --with-proj-share=/usr/share \&lt;br /&gt;
  --with-glw --with-nls --with-readline \&lt;br /&gt;
  --without-tcltk \&lt;br /&gt;
  --with-cxx \&lt;br /&gt;
  --enable-largefile \&lt;br /&gt;
  --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-cairo --with-python=/usr/bin/python2.6-config --with-wxwidgets \&lt;br /&gt;
  --with-geos --with-pthread&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
  sudo make install  # installs as /usr/local/bin/grass72&lt;br /&gt;
&lt;br /&gt;
====== GRASS 7 on Debian Wheezy ======&lt;br /&gt;
&lt;br /&gt;
Install needed packages:&lt;br /&gt;
&lt;br /&gt;
 # note: cmake and libboost-all-dev only needed for optional libLAS&lt;br /&gt;
 sudo apt-get install cmake libboost-all-dev&lt;br /&gt;
 &lt;br /&gt;
 sudo apt-get install flex bison debhelper dpatch autoconf2.13 autotools-dev \&lt;br /&gt;
   python-dev g++ gcc gettext graphviz libcairo2-dev libfftw3-dev libfreetype6-dev \&lt;br /&gt;
   libgdal1 libgdal1-dev libglu1-mesa-dev libglw1-mesa-dev libncurses5-dev libproj-dev \&lt;br /&gt;
   libreadline-dev libtiff4-dev libwxgtk2.8-dev libxmu-dev libxmu-headers \&lt;br /&gt;
   libxt-dev mesa-common-dev proj-bin proj-data python-numpy python-wxgtk2.8 subversion wx-common \&lt;br /&gt;
   zlib1g-dev netcdf-bin libatlas-dev libgegl-dev opencl-headers ocl-icd-libopencl1 \&lt;br /&gt;
   libsqlite3-dev postgresql python-sphinx python-gdal&lt;br /&gt;
&lt;br /&gt;
Download and Install libLAS&lt;br /&gt;
 wget http://download.osgeo.org/liblas/libLAS-1.7.0.tar.gz&lt;br /&gt;
 tar -zxvf libLAS-1.7.0.tar.gz&lt;br /&gt;
 cd libLAS-1.7.0/&lt;br /&gt;
 mkdir makefiles&lt;br /&gt;
 cd makefiles&lt;br /&gt;
 cmake -G &amp;quot;Unix Makefiles&amp;quot; ../&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
 sudo ldconfig&lt;br /&gt;
 cd ../..&lt;br /&gt;
&lt;br /&gt;
Download of GRASS GIS 7 source code:&lt;br /&gt;
 wget http://grass.osgeo.org/grass78/source/grass-7.8.0.tar.gz&lt;br /&gt;
 tar -zxvf grass-7.8.0.tar.gz&lt;br /&gt;
&lt;br /&gt;
Configure:&lt;br /&gt;
 cd grass-7.0.0&lt;br /&gt;
 CFLAGS=&amp;quot;-g -Wall -Werror-implicit-function-declaration -fno-common -Wextra -Wunused&amp;quot; CXXFLAGS=&amp;quot;-g -Wall&amp;quot; \&lt;br /&gt;
 ./configure \&lt;br /&gt;
    --prefix=/usr/local \&lt;br /&gt;
    --with-gdal \&lt;br /&gt;
    --with-proj --with-proj-share=/usr/share \&lt;br /&gt;
    --with-glw --with-nls --with-readline \&lt;br /&gt;
    --with-cxx --enable-largefile \&lt;br /&gt;
    --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
    --with-sqlite --with-cairo --with-python=/usr/bin/python-config \&lt;br /&gt;
    --with-wxwidgets --with-geos --with-blas \&lt;br /&gt;
    --with-lapack-includes=/usr/lib/lapack --with-liblas=yes \&lt;br /&gt;
    --with-netcdf=/usr/bin/nc-config --with-odbc=yes \&lt;br /&gt;
    --with-openmp=yes --with-pthread=yes --with-postgres=yes \&lt;br /&gt;
    --with-postgres-includes=/usr/include/postgresql \&lt;br /&gt;
    --with-postgres-libs=/usr/lib/postgresql&lt;br /&gt;
 &lt;br /&gt;
 #     --with-mysql=yes --with-mysql-includes=/usr/include/mysql \&lt;br /&gt;
 #    --with-mysql-libs=/usr/lib/mysql \&lt;br /&gt;
&lt;br /&gt;
GRASS GIS 7 is now configured (example):&lt;br /&gt;
&lt;br /&gt;
  Source directory:           /home/user/grass-7.0.0&lt;br /&gt;
  Build directory:            /home/user/grass-7.0.0&lt;br /&gt;
  Installation directory:     ${prefix}/grass-7.0.0&lt;br /&gt;
  Startup script in directory:${exec_prefix}/bin&lt;br /&gt;
  C compiler:                 gcc -g -Wall -Werror-implicit-function-declaration -fno-common -Wextra -Wunused &lt;br /&gt;
  C++ compiler:               c++ -g -Wall&lt;br /&gt;
  Building shared libraries:  yes&lt;br /&gt;
  OpenGL platform:            X11&lt;br /&gt;
  MacOSX application:         no&lt;br /&gt;
  MacOSX architectures:       &lt;br /&gt;
  MacOSX SDK:                 &lt;br /&gt;
  BLAS support:               yes&lt;br /&gt;
  C++ support:                yes&lt;br /&gt;
  Cairo support:              yes&lt;br /&gt;
  DWG support:                no&lt;br /&gt;
  FFTW support:               yes&lt;br /&gt;
  FreeType support:           yes&lt;br /&gt;
  GDAL support:               yes&lt;br /&gt;
  GEOS support:               yes&lt;br /&gt;
  LAPACK support:             no&lt;br /&gt;
  Large File support (LFS):   yes&lt;br /&gt;
  libLAS support:             yes&lt;br /&gt;
  MySQL support:              no&lt;br /&gt;
  NetCDF support:             yes&lt;br /&gt;
  NLS support:                yes&lt;br /&gt;
  ODBC support:               yes&lt;br /&gt;
  OGR support:                yes&lt;br /&gt;
  OpenCL support:             no&lt;br /&gt;
  OpenGL support:             yes&lt;br /&gt;
  OpenMP support:             yes&lt;br /&gt;
  PNG support:                yes&lt;br /&gt;
  POSIX thread support:       yes&lt;br /&gt;
  PostgreSQL support:         yes&lt;br /&gt;
  Readline support:           yes&lt;br /&gt;
  Regex support:              yes&lt;br /&gt;
  SQLite support:             yes&lt;br /&gt;
  TIFF support:               yes&lt;br /&gt;
  wxWidgets support:          yes&lt;br /&gt;
  X11 support:                no&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
 make -j2&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
 sudo make install   # installs as /usr/local/bin/grass70&lt;br /&gt;
&lt;br /&gt;
Launch:&lt;br /&gt;
 grass70&lt;br /&gt;
&lt;br /&gt;
====== GRASS 7 on Debian Jessie ======&lt;br /&gt;
&lt;br /&gt;
Install needed packages:&lt;br /&gt;
 sudo apt-get install cmake libboost-all-dev flex bison debhelper dpatch autoconf2.13 \&lt;br /&gt;
    autotools-dev python-dev g++ gcc gettext graphviz libcairo2-dev libfftw3-dev \&lt;br /&gt;
    libfreetype6-dev libgdal1h libgdal1-dev libglu1-mesa-dev libglw1-mesa-dev \&lt;br /&gt;
    libncurses5-dev libproj-dev libreadline-dev libsqlite3-dev libtiff5-dev \&lt;br /&gt;
    libwxgtk3.0-dev libxmu-dev libxmu-headers libxt-dev mesa-common-dev \&lt;br /&gt;
    proj-bin proj-data python-numpy python-wxgtk3.0 subversion wx-common zlib1g-dev \&lt;br /&gt;
    netcdf-bin libnetcdf-dev libgegl-dev  doxygen python-sphinx \&lt;br /&gt;
    postgresql libgeotiff-dev libblas-dev mysql-server \&lt;br /&gt;
    libatlas-dev liblapack3gf liblapack-dev&lt;br /&gt;
    # opencl-headers ocl-icd-libopencl1   liblas-bin liblas-c-dev python-gdal&lt;br /&gt;
&lt;br /&gt;
Download and compile libLAS (or simply install 'liblas-c-dev ', see above):&lt;br /&gt;
 wget http://download.osgeo.org/liblas/libLAS-1.8.0.tar.bz2&lt;br /&gt;
 tar xjf libLAS-1.8.0.tar.bz2&lt;br /&gt;
 mkdir libLAS-1.8.0/makefiles&lt;br /&gt;
 cd libLAS-1.8.0/makefiles&lt;br /&gt;
 cmake -G &amp;quot;Unix Makefiles&amp;quot; ../&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Download and compile GRASS 7:&lt;br /&gt;
 # (check there for later version)&lt;br /&gt;
 wget http://grass.osgeo.org/grass74/source/grass-7.4.0.tar.gz&lt;br /&gt;
 tar xzfv grass-7.4.0.tar.gz&lt;br /&gt;
 cd grass-7.4.0&lt;br /&gt;
 CFLAGS=&amp;quot;-g -Wall -Werror-implicit-function-declaration -fno-common -Wextra -Wunused&amp;quot; \&lt;br /&gt;
 CXXFLAGS=&amp;quot;-g -Wall&amp;quot;  \&lt;br /&gt;
 ./configure \&lt;br /&gt;
    --prefix=/usr/local \&lt;br /&gt;
    --with-gdal --with-proj --with-proj-share=/usr/share \&lt;br /&gt;
    --with-glw --with-nls --with-readline \&lt;br /&gt;
    --with-cxx --enable-largefile \&lt;br /&gt;
    --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
    --with-sqlite --with-cairo --with-python=/usr/bin/python-config \&lt;br /&gt;
    --with-wxwidgets --with-geos \&lt;br /&gt;
    --with-blas --with-blas-includes=/usr/include/atlas/ \&lt;br /&gt;
    --with-lapack --with-lapack-includes=/usr/include/atlas/ \&lt;br /&gt;
    --with-netcdf=/usr/bin/nc-config --with-odbc=yes \&lt;br /&gt;
    --with-openmp=yes --with-pthread=no --with-postgres=yes \&lt;br /&gt;
    --with-postgres-includes=/usr/include/postgresql \&lt;br /&gt;
    --with-postgres-libs=/usr/lib/postgresql \&lt;br /&gt;
    --with-mysql=yes --with-mysql-includes=/usr/include/mysql \&lt;br /&gt;
    --with-mysql-libs=/usr/lib/mysql&lt;br /&gt;
 make -j2&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
 sudo make install  # installs as /usr/local/bin/grass74&lt;br /&gt;
&lt;br /&gt;
====== GRASS 7 on Debian Stretch ======&lt;br /&gt;
(Updated from above with package changes required for Debian Stretch)&lt;br /&gt;
&lt;br /&gt;
Install needed packages for GRASS 7.2 - 7.6:&lt;br /&gt;
  apt-get install cmake libboost-all-dev flex bison debhelper dpatch autoconf2.13 autotools-dev \&lt;br /&gt;
    python-dev g++ gcc gettext graphviz libcairo2-dev libfftw3-dev libfreetype6-dev libgdal20 \&lt;br /&gt;
    libgdal-dev libglu1-mesa-dev libglw1-mesa-dev libncurses5-dev libproj-dev libreadline-dev \&lt;br /&gt;
    libsqlite3-dev libtiff5-dev libwxgtk3.0-dev libxmu-dev libxmu-headers libxt-dev mesa-common-dev \&lt;br /&gt;
    proj-bin proj-data python-numpy python-wxgtk3.0 python-wxtools wx-common zlib1g-dev netcdf-bin \&lt;br /&gt;
    libnetcdf-dev libgegl-dev  doxygen python-sphinx postgresql libgeotiff-dev libblas-dev \&lt;br /&gt;
    mariadb-server libatlas-dev liblapack3 liblapack-dev opencl-headers ocl-icd-libopencl1 \&lt;br /&gt;
    subversion liblas-bin liblas-c-dev python-gdal libpdal-dev libpdal-plugin-python pdal&lt;br /&gt;
&lt;br /&gt;
Install needed packages for GRASS 7.8+ (Python 3 support!):&lt;br /&gt;
  apt-get install cmake libboost-all-dev flex bison debhelper dpatch autoconf2.13 autotools-dev \&lt;br /&gt;
    g++ gcc gettext graphviz libcairo2-dev libfftw3-dev libfreetype6-dev libgdal20 python3-dev \&lt;br /&gt;
    libgdal-dev libglu1-mesa-dev libglw1-mesa-dev libproj-dev libreadline-dev libgeos-c1v5 \&lt;br /&gt;
    libsqlite3-dev libtiff5-dev libwxgtk3.0-dev libxmu-dev libxmu-headers libxt-dev mesa-common-dev \&lt;br /&gt;
    proj-bin proj-data python3-numpy python3-six wx-common zlib1g-dev netcdf-bin \&lt;br /&gt;
    libnetcdf-dev libgegl-dev  doxygen python3-sphinx postgresql libgeotiff-dev libblas-dev \&lt;br /&gt;
    libatlas-dev liblapack3 liblapack-dev opencl-headers ocl-icd-libopencl1 \&lt;br /&gt;
    subversion liblas-bin liblas-c-dev python3-gdal libpdal-dev libpdal-plugin-python pdal&lt;br /&gt;
    &lt;br /&gt;
    # ? python3-wxgtk4.0 libmariadb&lt;br /&gt;
&lt;br /&gt;
Download and unpack source code or fetch from GitHub: https://github.com/OSGeo/grass&lt;br /&gt;
&lt;br /&gt;
Configuration:&lt;br /&gt;
&lt;br /&gt;
  CFLAGS=&amp;quot;-Wall -Werror-implicit-function-declaration -fno-common -Wextra -Wunused&amp;quot; \&lt;br /&gt;
  CXXFLAGS=&amp;quot;-Wall&amp;quot;  \&lt;br /&gt;
  ./configure \&lt;br /&gt;
   --prefix=/usr/local \&lt;br /&gt;
   --with-gdal --with-proj --with-proj-share=/usr/share \&lt;br /&gt;
   --with-glw --with-nls --with-readline \&lt;br /&gt;
   --with-cxx --enable-largefile \&lt;br /&gt;
   --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
   --with-sqlite --with-cairo --with-python=/usr/bin/python-config \&lt;br /&gt;
   --with-wxwidgets --with-geos \&lt;br /&gt;
   --with-blas --with-blas-includes=/usr/include/atlas/ \&lt;br /&gt;
   --with-lapack --with-lapack-includes=/usr/include/atlas/ \&lt;br /&gt;
   --with-netcdf=/usr/bin/nc-config --with-odbc=yes \&lt;br /&gt;
   --with-openmp=yes --with-pthread=no --with-postgres=yes \&lt;br /&gt;
   --with-postgres-includes=/usr/include/postgresql \&lt;br /&gt;
   --with-postgres-libs=/usr/lib/postgresql \&lt;br /&gt;
   --with-mysql=yes --with-mysql-includes=/usr/include/mysql&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
&lt;br /&gt;
  make -j2&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
&lt;br /&gt;
  make install&lt;br /&gt;
&lt;br /&gt;
====== GRASS 7 on Debian Buster ======&lt;br /&gt;
&lt;br /&gt;
-- To be updated --&lt;br /&gt;
&lt;br /&gt;
Install needed packages for GRASS 7.8+ (Python 3 support!):&lt;br /&gt;
  apt-get install cmake libboost-all-dev flex bison debhelper dpatch autoconf2.13 autotools-dev \&lt;br /&gt;
    g++ gcc gettext graphviz libcairo2-dev libfftw3-dev libfreetype6-dev libgdal20 python3-dev \&lt;br /&gt;
    libgdal-dev libglu1-mesa-dev libglw1-mesa-dev libproj-dev libreadline-dev libgeos-c1v5 \&lt;br /&gt;
    libsqlite3-dev libtiff5-dev libwxgtk3.0-dev libxmu-dev libxmu-headers libxt-dev mesa-common-dev \&lt;br /&gt;
    proj-bin proj-data python3-numpy python3-six wx-common zlib1g-dev netcdf-bin \&lt;br /&gt;
    libnetcdf-dev libgegl-dev  doxygen python3-sphinx postgresql libgeotiff-dev libblas-dev \&lt;br /&gt;
    liblapack3 liblapack-dev opencl-headers ocl-icd-libopencl1 \&lt;br /&gt;
    subversion liblas-bin liblas-c-dev python3-gdal libpdal-dev libpdal-plugin-python pdal \&lt;br /&gt;
    python3-wxgtk4.0 default-libmysqlclient-dev&lt;br /&gt;
&lt;br /&gt;
Download and unpack source code or fetch from GitHub: https://github.com/OSGeo/grass&lt;br /&gt;
&lt;br /&gt;
Configuration:&lt;br /&gt;
&lt;br /&gt;
  CFLAGS=&amp;quot;-Wall -Werror-implicit-function-declaration -fno-common -Wextra -Wunused&amp;quot; \&lt;br /&gt;
  CXXFLAGS=&amp;quot;-Wall&amp;quot;  \&lt;br /&gt;
  ./configure \&lt;br /&gt;
   --prefix=/usr/local \&lt;br /&gt;
   --with-gdal --with-proj --with-proj-share=/usr/share \&lt;br /&gt;
   --with-glw --with-nls --with-readline \&lt;br /&gt;
   --with-cxx --enable-largefile \&lt;br /&gt;
   --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
   --with-sqlite --with-cairo --with-python=/usr/bin/python-config \&lt;br /&gt;
   --with-wxwidgets --with-geos \&lt;br /&gt;
   --with-blas --with-blas-includes=/usr/include/atlas/ \&lt;br /&gt;
   --with-lapack --with-lapack-includes=/usr/include/atlas/ \&lt;br /&gt;
   --with-netcdf=/usr/bin/nc-config --with-odbc=yes \&lt;br /&gt;
   --with-openmp=yes --with-pthread=no --with-postgres=yes \&lt;br /&gt;
   --with-postgres-includes=/usr/include/postgresql \&lt;br /&gt;
   --with-postgres-libs=/usr/lib/postgresql \&lt;br /&gt;
   --with-mysql=yes --with-mysql-includes=/usr/include/mysql&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
&lt;br /&gt;
  make -j2&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
&lt;br /&gt;
  make install&lt;br /&gt;
&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&lt;br /&gt;
There is a dedicated page on how to [[Compile_and_Install_Ubuntu | Compile the GRASS GIS source code &amp;amp; install it in Ubuntu]].&lt;br /&gt;
&lt;br /&gt;
===== Linux Mint =====&lt;br /&gt;
&lt;br /&gt;
The [[Compile_and_Install_Ubuntu | detailed compilation guide for Ubuntu]] may just work. Here is a short guide for Mint:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# installation of required libraries and compile tools&lt;br /&gt;
sudo apt-get install\&lt;br /&gt;
 build-essential flex make bison gcc libgcc1 g++ cmake ccache \&lt;br /&gt;
 python python-dev python-opengl python-wxversion python-wxtools python-wxgtk3.0 python-dateutil \&lt;br /&gt;
 libgsl-dev python-numpy wx3.0-headers wx-common libwxgtk3.0-dev libwxbase3.0-dev \&lt;br /&gt;
 libncurses5-dev zlib1g-dev gettext libtiff5-dev libpnglite-dev libcairo2 libcairo2-dev \&lt;br /&gt;
 sqlite3 libsqlite3-dev libpq-dev libreadline6 libreadline6-dev libfreetype6-dev \&lt;br /&gt;
 libfftw3-3 libfftw3-dev libboost-thread-dev libboost-program-options-dev \&lt;br /&gt;
 liblas-c-dev resolvconf libjasper-dev subversion libav-tools libavutil-dev \&lt;br /&gt;
 ffmpeg2theora libffmpegthumbnailer-dev libavcodec-dev libxmu-dev libavformat-dev \&lt;br /&gt;
 libswscale-dev checkinstall libglu1-mesa-dev libxmu-dev ghostscript&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next steps:&lt;br /&gt;
* download [https://grass.osgeo.org/download/software/sources/ GRASS GIS source code] (e.g. take the &amp;quot;Weekly 7.x-svn snapshot&amp;quot;)&lt;br /&gt;
* unpack source code, change into the source code directory&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# now &amp;quot;configure&amp;quot; stop to prepare for compilation&lt;br /&gt;
CFLAGS=&amp;quot;-Wall&amp;quot; ./configure  \&lt;br /&gt;
 --with-cxx  --with-gdal \&lt;br /&gt;
 --with-proj --with-proj-share=/usr/share/proj/ \&lt;br /&gt;
 --with-geos  --without-postgres \&lt;br /&gt;
 --with-nls  --with-opengl-includes=/usr/include/GL/ \&lt;br /&gt;
 --with-fftw  --with-freetype \&lt;br /&gt;
 --with-freetype-includes=/usr/include/freetype2  --with-sqlite \&lt;br /&gt;
 --with-python=/usr/bin/python2.7-config  --with-wx=/usr/bin/wx-config \&lt;br /&gt;
 --with-wxwidgets  --with-cairo  --enable-largefile&lt;br /&gt;
&lt;br /&gt;
# compile GRASS GIS&lt;br /&gt;
make -j2&lt;br /&gt;
&lt;br /&gt;
# install compiled GRASS GIS on system&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Mandriva =====&lt;br /&gt;
&lt;br /&gt;
Installation of dependencies (urpmi will ask you a few more):&lt;br /&gt;
&lt;br /&gt;
'''Mandriva 2009:''' (take out the '64' everywhere if you are on 32bit)&lt;br /&gt;
  # as root&lt;br /&gt;
    urpmi flex bison zlib-devel tiff-devel png-devel tcl-devel tk-devel sqlite3-devel \&lt;br /&gt;
          mesagl1-devel mesaglu1-devel lib64xmu6-devel gcc-c++ gettext \&lt;br /&gt;
          lib64wxgtk2.8 lib64wxgtk2.8-devel lib64wxgtkgl2.8 wxgtk2.8 \&lt;br /&gt;
          lib64wxPythonGTK2.8 lib64wxPythonGTK2.8-devel wxPythonGTK wxPythonGTK-wxversion&lt;br /&gt;
    exit&lt;br /&gt;
&lt;br /&gt;
'''Mandriva 2010:''' (take out the '64' everywhere if you are on 32bit) - see also [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/grass/current/SPECS/ SPEC] file&lt;br /&gt;
  # as root&lt;br /&gt;
    # installation of PROJ and GDAL&lt;br /&gt;
    urpmi proj proj-devel gdal gdal-devel gcc-gfortran lib64openssl1.0.0 \&lt;br /&gt;
          lib64openssl1.0.0-devel postgresql8.4-devel lib64pq8.4&lt;br /&gt;
 &lt;br /&gt;
    # installation of compilation environment&lt;br /&gt;
    urpmi flex bison zlib-devel tiff-devel png-devel tcl-devel tk-devel sqlite3-devel \&lt;br /&gt;
          lib64mesagl1-devel lib64mesaglu1-devel lib64xmu6-devel gcc-c++ gettext \&lt;br /&gt;
          lib64wxgtk2.8 lib64wxgtk2.8-devel lib64wxgtkgl2.8 wxgtk2.8 \&lt;br /&gt;
          lib64wxPythonGTK2.8 lib64wxPythonGTK2.8-devel wxPythonGTK wxPythonGTK-wxversion&lt;br /&gt;
    exit&lt;br /&gt;
&lt;br /&gt;
Then, to configure GRASS, run (64 bit stuff optional of course):&lt;br /&gt;
  #  as user&lt;br /&gt;
  ./configure \&lt;br /&gt;
    --enable-64bit --with-libs=/usr/lib64 \&lt;br /&gt;
    --with-cxx \&lt;br /&gt;
    --with-gdal=/usr/local/bin/gdal-config \&lt;br /&gt;
    --with-sqlite \&lt;br /&gt;
    --with-nls \&lt;br /&gt;
    --with-python \&lt;br /&gt;
    --with-wxwidgets=/usr/lib/wxPython/bin/wx-config \&lt;br /&gt;
    --with-fftw \&lt;br /&gt;
    --with-ffmpeg --with-ffmpeg-includes=&amp;quot;/usr/include/libav* /usr/include/libpostproc /usr/include/libswscale&amp;quot; \&lt;br /&gt;
    --with-motif \&lt;br /&gt;
    --with-mysql --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib64 \&lt;br /&gt;
    --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
    --enable-largefile&lt;br /&gt;
&lt;br /&gt;
   # compilation (use -j2 ior -j4 parameter on multi-core CPUs to accelerate):   &lt;br /&gt;
    make&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
    su&lt;br /&gt;
    # this will install into /usr/local/&lt;br /&gt;
    make install&lt;br /&gt;
    exit&lt;br /&gt;
&lt;br /&gt;
===== Enterprise Linux =====&lt;br /&gt;
&lt;br /&gt;
Enterprise Linux (EL) and derivatives (that is, Red Hat Enterprise Linux, CentOS and Scientific Linux) is a popular and robust platform for servers and computing-heavy workstations, and is therefore a good fit for GIS specific requirements.&lt;br /&gt;
&lt;br /&gt;
See: http://wiki.osgeo.org/wiki/Enterprise_Linux_GIS&lt;br /&gt;
&lt;br /&gt;
===== Scientific Linux =====&lt;br /&gt;
&lt;br /&gt;
See Centos&lt;br /&gt;
&lt;br /&gt;
===== CentOS =====&lt;br /&gt;
&lt;br /&gt;
You first need to add the EPEL repository for PROJ.4 and GDAL, see [https://fedoraproject.org/wiki/EPEL/FAQ#How_can_I_install_the_packages_from_the_EPEL_software_repository.3F here]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
Preparation '''Centos 5''' (old):&lt;br /&gt;
  yum install epel-release&lt;br /&gt;
 &lt;br /&gt;
  # Note: CentOS 5 comes with Python 2.4 which lacks python-config, hence two extra tweaks are needed.&lt;br /&gt;
  yum install flex bison zlib-devel tcl-devel tk-devel gcc-c++ gettext \&lt;br /&gt;
              libtiff-devel libpng-devel sqlite-devel \&lt;br /&gt;
              mesa-libGL-devel mesa-libGLU-devel mesa-libGLw-devel \&lt;br /&gt;
              mesa-libOSMesa-devel libXmu-devel python-devel gtk2-devel\&lt;br /&gt;
              ncurses-devel postgresql-devel make&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preparation '''Centos 6''' | '''Scientific Linux 6''':&lt;br /&gt;
  yum install epel-release&lt;br /&gt;
 &lt;br /&gt;
  yum install flex bison make zlib-devel gcc-c++ gettext \&lt;br /&gt;
              sqlite-devel mesa-libGL-devel mesa-libGLU-devel \&lt;br /&gt;
              libXmu-devel libX11-devel fftw-devel libtiff-devel \&lt;br /&gt;
              lesstif-devel python-devel numpy wxPython wxGTK-devel \&lt;br /&gt;
              proj proj-devel proj-epsg proj-nad libxml2 gdal gdal-devel geos geos-devel \&lt;br /&gt;
              python-dateutil python-imaging python-matplotlib python-argparse&lt;br /&gt;
  # only GRASS GIS 6: install also tcl-devel tk-devel&lt;br /&gt;
&lt;br /&gt;
Preparation '''Centos 7''' | '''Scientific Linux 7''':&lt;br /&gt;
  yum install epel-release&lt;br /&gt;
 &lt;br /&gt;
  yum install flex bison make zlib-devel gcc-c++ gettext \&lt;br /&gt;
              sqlite-devel mesa-libGL-devel mesa-libGLU-devel \&lt;br /&gt;
              libXmu-devel libX11-devel fftw-devel libtiff-devel \&lt;br /&gt;
              lesstif-devel python-devel numpy wxPython wxGTK-devel \&lt;br /&gt;
              proj proj-devel proj-epsg proj-nad libxml2 gdal gdal-devel geos geos-devel \&lt;br /&gt;
              netcdf netcdf-devel blas-devel lapack-devel atlas-devel \&lt;br /&gt;
              python-dateutil python-imaging python-matplotlib python-sphinx \&lt;br /&gt;
              doxygen subversion&lt;br /&gt;
&lt;br /&gt;
Preparation '''Centos 8''' | '''Scientific Linux 8''':&lt;br /&gt;
  dnf install epel-release&lt;br /&gt;
&lt;br /&gt;
Note, GDAL isn't yet in EPEL8, see https://bugzilla.redhat.com/show_bug.cgi?id=1741567&lt;br /&gt;
  dnf install flex bison make zlib-devel gcc-c++ gettext \&lt;br /&gt;
              sqlite-devel mesa-libGL-devel mesa-libGLU-devel \&lt;br /&gt;
              libXmu-devel libX11-devel fftw-devel libtiff-devel \&lt;br /&gt;
              python3-devel python3-numpy wxGTK3-devel \&lt;br /&gt;
              proj proj-devel proj-datumgrid libxml2 \&lt;br /&gt;
              geos geos-devel \&lt;br /&gt;
              netcdf netcdf-devel atlas-devel \&lt;br /&gt;
              python3-dateutil python3-imaging python3-matplotlib \&lt;br /&gt;
              subversion --skip-broken&lt;br /&gt;
&lt;br /&gt;
GDAL is available on Fedora COPR here: https://copr.fedorainfracloud.org/coprs/neteler/GDAL/builds/&lt;br /&gt;
  dnf copr enable neteler/GDAL&lt;br /&gt;
  dnf update&lt;br /&gt;
  dnf install gdal gdal-libs gdal-python-tools python3-gdal gdal-devel&lt;br /&gt;
&lt;br /&gt;
'''GRASS GIS 7 compilation and installation'''&lt;br /&gt;
&lt;br /&gt;
[https://grass.osgeo.org/grass-stable/source/snapshot/ Download source code] (e.g., --&amp;gt; &amp;quot;Download latest 7.8 code)&amp;quot; and configure GRASS 7 (suggestion: save this as script):&lt;br /&gt;
&lt;br /&gt;
 ./configure \&lt;br /&gt;
  --with-cxx \&lt;br /&gt;
  --enable-largefile \&lt;br /&gt;
  --with-proj --with-proj-share=/usr/share/proj \&lt;br /&gt;
  --with-gdal=/usr/bin/gdal-config \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-python \&lt;br /&gt;
  --with-cairo --with-cairo-ldflags=-lfontconfig \&lt;br /&gt;
  --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
  --with-wxwidgets=/usr/bin/wx-config \&lt;br /&gt;
  --with-openmp \&lt;br /&gt;
  --with-blas --with-blas-includes=/usr/include/atlas-x86_64-base/ \&lt;br /&gt;
  --with-lapack --with-lapack-includes=/usr/include/atlas-x86_64-base/ \&lt;br /&gt;
  --with-fftw \&lt;br /&gt;
  --with-geos \&lt;br /&gt;
  --with-netcdf \&lt;br /&gt;
  --without-ffmpeg \&lt;br /&gt;
  --without-mysql \&lt;br /&gt;
  --without-postgres \&lt;br /&gt;
  --without-odbc \&lt;br /&gt;
  --without-fftw&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
    make&lt;br /&gt;
or on a multicore system (number depends of available cores):&lt;br /&gt;
    make -j4&lt;br /&gt;
&lt;br /&gt;
For a system wide installation, run as root user:&lt;br /&gt;
    make install&lt;br /&gt;
OR simply run it directly from the source code directory (substitute ARCH with i686 or x86_64):&lt;br /&gt;
&lt;br /&gt;
    bin.$ARCH/grass78 -gui&lt;br /&gt;
&lt;br /&gt;
In this case, for convenience, add it to the search path:&lt;br /&gt;
    mkdir $HOME/bin&lt;br /&gt;
    cd $HOME/bin&lt;br /&gt;
    # example:&lt;br /&gt;
    ln -s $HOME/software/grass78_release/bin.i686-pc-linux-gnu/grass78 .&lt;br /&gt;
&lt;br /&gt;
Now use it subsequently with&lt;br /&gt;
    grass78 -gui&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Installation grass78 on a HPC system with '''Centos 7''' and no root privileges:'''&lt;br /&gt;
This assumes that python3, fftw, proj, gdal and geos are available on the HPC system, either as modules or as installed software.&lt;br /&gt;
&lt;br /&gt;
Download and prepare some dependencies (freetypes and zstd)&lt;br /&gt;
    mkdir -p $HOME/grass/freetypes&lt;br /&gt;
    cd $HOME/grass/freetypes&lt;br /&gt;
    wget path/to/freetype-2.9.1.tar.gz&lt;br /&gt;
    tar -xf freetype-2.9.1.tar.gz&lt;br /&gt;
&lt;br /&gt;
    mkdir $HOME/grass/zstd&lt;br /&gt;
    cd mkdir $HOME/grass/zstd&lt;br /&gt;
    wget path/to/v1.4.4/zstd-1.4.4.tar.gz&lt;br /&gt;
    tar -xf zstd-1.4.4.tar.gz&lt;br /&gt;
    make install PREFIX=./&lt;br /&gt;
&lt;br /&gt;
Add the ZSTD path to your LD_LIBRARY_PATH&lt;br /&gt;
&lt;br /&gt;
    tee -a $HOME/.bashrc &amp;gt; /dev/null &amp;lt;&amp;lt; EOT&lt;br /&gt;
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/grass/zstd/zstd-1.4.4/lib&lt;br /&gt;
    EOT&lt;br /&gt;
&lt;br /&gt;
The configure command could look like this&lt;br /&gt;
    ./configure \&lt;br /&gt;
        -prefix=$HOME/grass \&lt;br /&gt;
        --enable-64bit --with-fftw-includes=/path/to/fftw/include/ \&lt;br /&gt;
        --with-fftw-libs=/path/to/fftw/lib/ \&lt;br /&gt;
        --with-freetype-includes=$HOME/grass/freetypes/freetype-2.9.1/include/ \&lt;br /&gt;
        --with-netcdf --with-geos --with-blas --with-lapack --with-postgres \&lt;br /&gt;
        --with-zstd-includes=$HOME/grass/zstd/zstd-1.4.4/lib/ \&lt;br /&gt;
        --with-zstd-libs=$HOME/grass/zstd/zstd-1.4.4/lib/ \&lt;br /&gt;
        --with-gdal=/path/to/gdal-config  # This could be the path to a gdal version compiled from source&lt;br /&gt;
&lt;br /&gt;
Finally usual:&lt;br /&gt;
    make; make install&lt;br /&gt;
&lt;br /&gt;
===== Gentoo =====&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
    --with-freetype=yes --with-freetype-includes=&amp;quot;/usr/include/freetype2/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
See also http://packages.gentoo.org/package/sci-geosciences/grass&lt;br /&gt;
&lt;br /&gt;
===== Funtoo =====&lt;br /&gt;
&lt;br /&gt;
{{MovedToTrac|FuntooLinux}}&lt;br /&gt;
&lt;br /&gt;
===== Fedora =====&lt;br /&gt;
&lt;br /&gt;
====== GRASS GIS 6 on Fedora ======&lt;br /&gt;
&lt;br /&gt;
'''Preparation''' for the compilation of GRASS GIS 6 source code (F16-F21):&lt;br /&gt;
&lt;br /&gt;
  yum install proj-devel gdal-devel sqlite-devel ffmpeg-devel mesa-libGL-devel \&lt;br /&gt;
              mesa-libGLU-devel libXmu-devel libX11-devel tcl-devel tk-devel geos \&lt;br /&gt;
              fftw-devel libtiff-devel lesstif-devel python-devel numpy wxPython wxGTK-devel \&lt;br /&gt;
              gcc gcc-c++ bison flex ncurses-devel proj-epsg proj-nad xml2 subversion&lt;br /&gt;
&lt;br /&gt;
''Note 1: that currently gdal-devel has (too) many dependencies and may lead to a massive download of extra packages (200 on a fresh Fedora 16 install). Hopefully solved in later Fedora versions.''&lt;br /&gt;
&lt;br /&gt;
''Note 2: the optional ffmpeg-devel comes from the rpmfusion-free repository ([http://rpmfusion.org/Configuration/ configuration]).''&lt;br /&gt;
&lt;br /&gt;
'''Download''' the source code:&lt;br /&gt;
* GRASS GIS 6: [http://grass.osgeo.org/download/software/sources/ release package] - [http://grass.osgeo.org/grass64/source/snapshot/ weekly snapshot] - [http://trac.osgeo.org/grass/wiki/DownloadSource#GRASS6.4 SVN repository]&lt;br /&gt;
&lt;br /&gt;
'''Configure''': This is an ''example'' how to configure the source code on a Fedora system:&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
   --with-cxx \&lt;br /&gt;
   --with-gdal=/usr/bin/gdal-config \&lt;br /&gt;
   --with-proj --with-proj-share=/usr/share/proj \&lt;br /&gt;
   --with-sqlite \&lt;br /&gt;
   --with-nls \&lt;br /&gt;
   --with-geos \&lt;br /&gt;
   --with-wxwidgets=/usr/bin/wx-config \&lt;br /&gt;
   --with-python=/usr/bin/python-config \&lt;br /&gt;
   --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
   --enable-largefile \&lt;br /&gt;
   --without-odbc \&lt;br /&gt;
   --with-fftw&lt;br /&gt;
&lt;br /&gt;
Extra: If you also want '''FFMPEG''' support - it requires 'yum install fftw-devel'. Then add to the configuration lines above:&lt;br /&gt;
&lt;br /&gt;
     --with-ffmpeg --with-ffmpeg-includes=&amp;quot;/usr/include/ffmpeg /usr/include/ffmpeg/libav* /usr/include/ffmpeg/libpostproc /usr/include/ffmpeg/libswscale&amp;quot; \&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally '''compile''' the configured source code:&lt;br /&gt;
    make&lt;br /&gt;
   or on multicore (number depends of available cores):&lt;br /&gt;
    make -j4&lt;br /&gt;
   and&lt;br /&gt;
    make install # requires root permissions unless you become owner of /usr/local/&lt;br /&gt;
&lt;br /&gt;
Then use GRASS GIS 6 and enjoy!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== GRASS GIS 7 on Fedora ======&lt;br /&gt;
&lt;br /&gt;
'''Preparation''' for the compilation of GRASS GIS 7.8+ source code (F20-F30):&lt;br /&gt;
&lt;br /&gt;
  dnf install gcc gcc-c++ bison flex ncurses-devel gettext proj-epsg proj-devel proj-nad \&lt;br /&gt;
              gdal gdal-devel sqlite-devel xml2 mesa-libGL-devel \&lt;br /&gt;
              fftw-devel mesa-libGLU-devel libXmu-devel libX11-devel geos geos-devel \&lt;br /&gt;
              libtiff-devel python3-devel numpy wxPython wxGTK3-devel subversion \&lt;br /&gt;
              python3-dateutil python3-imaging python3-matplotlib-wx doxygen python3-sphinx \&lt;br /&gt;
              libzstd-devel libzstd python3-six python3-numpy python3-wxpython4 \&lt;br /&gt;
              proj-datumgrid proj-datumgrid-europe proj-datumgrid-north-america proj-datumgrid-world proj-datumgrid-oceania&lt;br /&gt;
&lt;br /&gt;
  # optionally also:  netcdf-devel postgresql-devel &lt;br /&gt;
  #                   atlas-devel lapack-devel lapack-devel &lt;br /&gt;
  #                   laszip laszip-devel&lt;br /&gt;
&lt;br /&gt;
''Note 1: the optional ffmpeg-devel comes from the rpmfusion-free repository ([http://rpmfusion.org/Configuration/ configuration]).''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Download''' the source code:&lt;br /&gt;
* GRASS GIS 7: [https://grass.osgeo.org/grass78/source/snapshot/ weekly snapshot] - [http://trac.osgeo.org/grass/wiki/DownloadSource#GRASS7 GitHub repository]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Configure''': This is an example how to configure the source code on a Fedora system:&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
   --with-cxx \&lt;br /&gt;
   --with-gdal=/usr/bin/gdal-config \&lt;br /&gt;
   --with-proj --with-proj-share=/usr/share/proj \&lt;br /&gt;
   --with-geos \&lt;br /&gt;
   --with-sqlite \&lt;br /&gt;
   --with-nls \&lt;br /&gt;
   --with-wxwidgets=/usr/bin/wx-config \&lt;br /&gt;
   --with-fftw \&lt;br /&gt;
   --with-cairo --with-cairo-ldflags=-lfontconfig \&lt;br /&gt;
   --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
   --enable-largefile \&lt;br /&gt;
   --without-odbc&lt;br /&gt;
&lt;br /&gt;
''Extra 1:'' If you also want '''FFMPEG support''' - it requires 'dnf install fftw-devel' from the rpmfusion-free repository. Then add to the configuration lines above:&lt;br /&gt;
&lt;br /&gt;
     --with-ffmpeg --with-ffmpeg-includes=&amp;quot;/usr/include/ffmpeg /usr/include/ffmpeg/libav* /usr/include/ffmpeg/libpostproc /usr/include/ffmpeg/libswscale&amp;quot; \&lt;br /&gt;
&lt;br /&gt;
''Extra 2:'' For '''LAPACK/BLAS support''' (addons i.spec.unmix, v.kriging etc), install &amp;quot;dnf install lapack lapack-devel blas blas-devel atlas atlas-devel&amp;quot;. Then add to the configuration lines above:&lt;br /&gt;
  --with-blas --with-blas-includes=/usr/include/atlas-x86_64-base/ \&lt;br /&gt;
  --with-lapack --with-lapack-includes=/usr/include/atlas-x86_64-base/ \&lt;br /&gt;
&lt;br /&gt;
''Extra 3:'' For '''ZSTD support''' (Zstandard compression algorithm), first install &amp;quot;dnf install libzstd libzstd-devel zstd&amp;quot;. After installing the zstd related packages, add to the configuration lines above:&lt;br /&gt;
  --with-zstd \&lt;br /&gt;
&lt;br /&gt;
Finally '''compile''' the configured source code:&lt;br /&gt;
    make&lt;br /&gt;
   or on multicore (number depends of available cores):&lt;br /&gt;
    make -j4&lt;br /&gt;
   and&lt;br /&gt;
    make install # requires root permissions unless you become owner of /usr/local/&lt;br /&gt;
&lt;br /&gt;
Then use GRASS GIS 7 and enjoy!&lt;br /&gt;
&lt;br /&gt;
===== openSUSE =====&lt;br /&gt;
&lt;br /&gt;
To build GRASS on openSUSE:&lt;br /&gt;
&lt;br /&gt;
''Application:Geo'' repo to be added (see [https://software.opensuse.org//download.html?project=Application%3AGeo&amp;amp;package=gdal Install package Application:Geo]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# example for Leap 42 version:&lt;br /&gt;
sudo zypper addrepo http://download.opensuse.org/repositories/Application:Geo/openSUSE_Leap_42.3/Application:Geo.repo&lt;br /&gt;
sudo zypper refresh&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RPM packages to be installed:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 sudo zypper install bison flex freetype2-devel fftw3-devel gcc-c++ \&lt;br /&gt;
   libgdal-devel libgeos-devel libjpeg-devel libpng-devel libtiff-devel \&lt;br /&gt;
   man proj libproj-devel readline-devel netcdf-devel ncurses-devel \&lt;br /&gt;
   mysql-devel postgresql-devel sqlite-devel unixODBC-devel \&lt;br /&gt;
   tcl-devel tk-devel xorg-x11-Mesa-devel libXmu-devel \&lt;br /&gt;
   python-numpy python-dateutil python-devel python-opengl \&lt;br /&gt;
   python-wxWidgets python-xml python-dateutil wxWidgets-devel \&lt;br /&gt;
   zlib-devel doxygen python-sphinx&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source code configuration:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 ./configure \&lt;br /&gt;
 	--enable-largefile \&lt;br /&gt;
	--with-proj-share=/usr/share/proj \&lt;br /&gt;
	--with-cxx \&lt;br /&gt;
	--with-lapack=yes \&lt;br /&gt;
	--with-x \&lt;br /&gt;
	--with-motif \&lt;br /&gt;
	--with-gdal=/usr/bin/gdal-config \&lt;br /&gt;
	--with-postgres --with-postgres-includes=/usr/include/pgsql \&lt;br /&gt;
	--with-mysql --with-mysql-includes=/usr/include/mysql \&lt;br /&gt;
	--with-fftw \&lt;br /&gt;
	--with-readline \&lt;br /&gt;
	--with-netcdf \&lt;br /&gt;
	--with-curses \&lt;br /&gt;
	--with-geos \&lt;br /&gt;
	--with-nls \&lt;br /&gt;
	--with-sqlite \&lt;br /&gt;
	--with-freetype \&lt;br /&gt;
	--with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
	--with-wxwidgets \&lt;br /&gt;
	--with-odbc \&lt;br /&gt;
	--with-python&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then compile with &amp;quot;make [-j2]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===== Arch Linux =====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt;'''Easiest method : use AUR (Arch User Repository) package'''&amp;lt;/big&amp;gt;&lt;br /&gt;
Up-to-date links to Arch Linux GRASS PKGBUILDs are on https://grass.osgeo.org/download/software/linux/.&lt;br /&gt;
&lt;br /&gt;
Please note that at this time AUR package has a problem : a symlink of python2 is created to work with grass whereas executable script call python3 ... Workaround is to comment symlink in AUR GRASS PKGBUILD&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt;'''Compile from source code'''&amp;lt;/big&amp;gt;&lt;br /&gt;
If you want to compile it yourself, you could follow steps below : &lt;br /&gt;
&lt;br /&gt;
Install dependencies : &lt;br /&gt;
 pacman -S bzip2 cairo fftw fontconfig freetype2 gcc-libs gdal geos glibc glu libpng libtiff libx11 libgl netcdf pdal proj python-gdal python-numpy python-pillow python-wxpython readline zlib zstd&lt;br /&gt;
&lt;br /&gt;
Download and extract sources : https://grass.osgeo.org/download/software/sources/&lt;br /&gt;
&lt;br /&gt;
We can now start building GRASS 7&lt;br /&gt;
&lt;br /&gt;
 export PATH=~/usr/bin:$PATH &amp;amp;&amp;amp; \&lt;br /&gt;
 ./configure \&lt;br /&gt;
 --enable-debug \&lt;br /&gt;
 --with-readline \&lt;br /&gt;
 --with-freetype=yes \&lt;br /&gt;
 --with-freetype-includes=&amp;quot;/usr/include/freetype2/&amp;quot; \&lt;br /&gt;
 --with-geos \&lt;br /&gt;
 --with-odbc \&lt;br /&gt;
 --with-pthread \&lt;br /&gt;
 --with-fftw-includes=&amp;quot;/usr/include/&amp;quot; \&lt;br /&gt;
 --with-fftw-libs=/usr/lib/ \&lt;br /&gt;
 --with-wxwidgets \&lt;br /&gt;
 --with-postgres \&lt;br /&gt;
 --with-pdal \&lt;br /&gt;
 --with-netcdf \&lt;br /&gt;
 --with-bzlib \&lt;br /&gt;
 --with-zstd&lt;br /&gt;
&lt;br /&gt;
Now let's compile and install it&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It's done, you can enjoy GRASS 7 in Arch, just type &amp;quot;grass78&amp;quot; (Please adjust version after grass) in the terminal to launch it.&lt;br /&gt;
&lt;br /&gt;
===== RPM SPEC files =====&lt;br /&gt;
* [https://build.opensuse.org/package/show?package=grass&amp;amp;project=Application%3AGeo OpenSuSe]&lt;br /&gt;
* [http://pkgs.fedoraproject.org/cgit/rpms/grass.git/tree/grass.spec Fedora]&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
===== Zaurus =====&lt;br /&gt;
&lt;br /&gt;
... see [http://wiki.debian.org/?GrassGISonZaurus here] for instructions&lt;br /&gt;
&lt;br /&gt;
==== macOS ====&lt;br /&gt;
&lt;br /&gt;
Compiling GRASS GIS for macOS is not fundamentally different from for other *nix systems. It is on the contrary quite similar, but what differ is the lack of a default package management system for software GRASS GIS depends on. This leaves the mac user to either: (1) compile the dependencies one-by-one; (2) using the [http://www.kyngchaos.com/software/frameworks/ frameworks] generously shared by William Kyngesburye; (3) compiling with one of the third-party package management systems avaliable; or (4) a combination thereof.&lt;br /&gt;
&lt;br /&gt;
If you are interested in installing a precompiled version, please check out the [https://grass.osgeo.org/download/software/mac-osx/ official download site].&lt;br /&gt;
&lt;br /&gt;
===== Compilation and installation =====&lt;br /&gt;
&lt;br /&gt;
For more up-to-date instructions please read:&lt;br /&gt;
&lt;br /&gt;
* [[Compiling on macOS using Anaconda]]&lt;br /&gt;
* [[Compiling on macOS using Homebrew]]&lt;br /&gt;
* [[Compiling on macOS using MacPorts]]&lt;br /&gt;
&lt;br /&gt;
===== Legacy instructions =====&lt;br /&gt;
&lt;br /&gt;
The following compilation and installation instructions are rather outdated as a whole. They do, however, contain parts and snippets that still may be very instructive and useful.&lt;br /&gt;
&lt;br /&gt;
* [[Compiling on MacOSX]]&lt;br /&gt;
* [[Compiling on MacOSX using Fink]]&lt;br /&gt;
* [https://web.archive.org/web/20180718005252/http://www.kyngchaos.com/software/frameworks#build_scripts build scripts for dependencies]&lt;br /&gt;
&lt;br /&gt;
Troubleshooting:&lt;br /&gt;
* solving errors at starting GRASS GIS: [[MacOSX GRASS errors]]&lt;br /&gt;
&lt;br /&gt;
==== FreeBSD / NetBSD ====&lt;br /&gt;
&lt;br /&gt;
The recommended compiler tools are GCC, GNU make, GNU coreutils (for install), and flex. All are available through the respective package managing tools (pkg_add for FreeBSD and pkgin install for NetBSD) and for recent *BSD versions most likely installed by default.&lt;br /&gt;
&lt;br /&gt;
GRASS 6.x and GRASS 7 should compile on FreeBSD 8.0 or later and NetBSD 5.0 or later (maybe also on updated NetBSD 4.x).&lt;br /&gt;
&lt;br /&gt;
It is highly recommended to install GDAL/OGR and PROJ4 first. These libraries and tools are available as [http://www.freebsd.org/ports/ ports for FreeBSD] and [http://www.pkgsrc.org/ packages for NetBSD].&lt;br /&gt;
&lt;br /&gt;
Optional functionality is listed with ''./configure --help'', and related libraries and tools might need to be installed first.&lt;br /&gt;
&lt;br /&gt;
You then may need to edit include/Make/Platform.make and set&lt;br /&gt;
 ICONVLIB            = -liconv&lt;br /&gt;
&lt;br /&gt;
==== Solaris ====&lt;br /&gt;
&lt;br /&gt;
* ''2008 Oct 15'': see [http://lists.osgeo.org/pipermail/grass-user/2008-October/047093.html this post on the grass mailing list]&lt;br /&gt;
&lt;br /&gt;
===== 11 SPARC/i86pc =====&lt;br /&gt;
&lt;br /&gt;
The recommended compiler tools are GCC, GNU make, GNU coreutils (for install), and flex. All are available through the Solaris package manager.&lt;br /&gt;
&lt;br /&gt;
Most dependencies are available through the Solaris package manager. GDAL and proj4 can either be compiled from source or installed e.g. from [http://www.opencsw.org/ OpenCSW]. If packages are installed from OpenCSW, the linker flags need to be set with&lt;br /&gt;
&lt;br /&gt;
      LDFLAGS=&amp;quot;-Wl,-R/opt/csw/lib -L/opt/csw/lib -Wl,-R/opt/csw/gxx/lib -L/opt/csw/gxx/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
See also the [http://www.opencsw.org/use-it/ OpenCSW documentation].&lt;br /&gt;
&lt;br /&gt;
===== 10 SPARC/i86pc =====&lt;br /&gt;
&lt;br /&gt;
* get gcc compiler and tools. There are several sources: Solaris Companion CD (SFW pkg, installs in /opt/sfw/), Blastwave ([http://www.blastwave.org], CSW pkg, installs in /opt/csw/) or Sunfreeware ([http://www.sunfreeware.com], SMC pkg, installs in /usr/local/). &lt;br /&gt;
Needed Packages from Sunfreeware: SMCbinut, SMCbison, SMCcoreu, SMCfindu, SMCflex, SMCgawk, SMCgcc, SMCgrep, SMCgzip, SMCless, SMClibt, SMClicon, SMCmake, SMCncurs, SMCproj, SMCsed, SMCtar, SMCtcl, SMCtiff, SMCtk, SMCunzip, SMCzlib. &lt;br /&gt;
&lt;br /&gt;
* compile and install fftw-library ([http://www.fftw.org]). You need to re-compile the library with: &lt;br /&gt;
&lt;br /&gt;
      ./configure --with-pic --enable-shared; make ; make install. &lt;br /&gt;
&lt;br /&gt;
The pre-built packages don't work. &lt;br /&gt;
&lt;br /&gt;
* compile and install gdal library (see documentation of gdal, [http://www.gdal.org]).&lt;br /&gt;
&lt;br /&gt;
* compile and install any additional libraries (e. g. GEOS, [http://geos.refractions.net]). &lt;br /&gt;
&lt;br /&gt;
* set compiler flags and path. e. g.: &lt;br /&gt;
&lt;br /&gt;
      # on ultra-sparc machine:&lt;br /&gt;
      CFLAGS=&amp;quot;-O3 -mcpu=v9&amp;quot;&lt;br /&gt;
      CXXFLAGS=&amp;quot;-O3 -mcpu=v9&amp;quot;&lt;br /&gt;
      PATH=&amp;quot;/usr/local/bin:/opt/sfw/bin:/usr/ccs/bin:/usr/bin:/usr/sbin&amp;quot;&lt;br /&gt;
      export CFLAGS CXXFLAGS PATH&lt;br /&gt;
&lt;br /&gt;
Path has to be changed for the packages (Sunfreeware: /usr/local/bin, Solaris Companion: /opt/sfw/bin, Blastwave: /opt/csw/bin). &lt;br /&gt;
&lt;br /&gt;
* Next configure, e. g.: &lt;br /&gt;
&lt;br /&gt;
      ./configure --with-postgres-includes=/usr/include/pgsql/ \&lt;br /&gt;
      --with-postgres-libs=/usr/lib --with-postgres=yes \&lt;br /&gt;
      --with-includes=/usr/local/include/ncurses&lt;br /&gt;
&lt;br /&gt;
If you use n(ew)curses, you have to include the path /usr/local/include/ncurses. &lt;br /&gt;
&lt;br /&gt;
then:&lt;br /&gt;
&lt;br /&gt;
      make&lt;br /&gt;
      su&lt;br /&gt;
      make install&lt;br /&gt;
&lt;br /&gt;
If the shared libraries are not found at runtime of the modules, use 'crle' to add the paths of the libraries for the dynamic linker, e. g. as root:&lt;br /&gt;
&lt;br /&gt;
      crle -l /lib:/usr/lib:/usr/local/lib:/opt/sfw/lib:/usr/X11/lib&lt;br /&gt;
&lt;br /&gt;
Be careful not to omit a library path, the system may be unusable if you forget the /lib path.&lt;br /&gt;
&lt;br /&gt;
==== AIX ====&lt;br /&gt;
&lt;br /&gt;
A recent [ftp://ftp.gnu.org/gnu/make/ GNU make] (&amp;gt;= 3.81) and GNU coreutils are required. These are available with the [http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/download.html IBM AIX toolbox] or through third-party AIX software repositories, e.g. [http://www.bullfreeware.com/ bullfreeware] and [http://www.perzl.org/aix/ perzl.org]. Note that 'make' does not work, only 'gmake' works. &lt;br /&gt;
&lt;br /&gt;
General instructions to compile on AIX are e.g. [http://www.perzl.org/aix/index.php?n=Main.Instructions here]&lt;br /&gt;
&lt;br /&gt;
On AIX, compilation results by default in 32 bit applications and static libraries. The [http://www.ibm.com/developerworks/aix/library/au-gnu.html IBM documentation] explains how to build 64 bit applications and shared libraries with GCC.&lt;br /&gt;
&lt;br /&gt;
'''GRASS 6: Using the IBM xlc compiler:'''&lt;br /&gt;
* ''see [http://thread.gmane.org/gmane.comp.gis.grass.user/32667 this mailing list thread]''&lt;br /&gt;
&lt;br /&gt;
Mike wrote in 2009:&lt;br /&gt;
&lt;br /&gt;
After attempting all the suggestions, I finally used&lt;br /&gt;
--disable-shared on the configure command, and all but&lt;br /&gt;
a handful of modules successfully compiled. I was able to&lt;br /&gt;
individually address the ones that failed through Makefile&lt;br /&gt;
edits and several small source code/header file edits.&lt;br /&gt;
&lt;br /&gt;
The environment variables and configure command that worked were:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# xlc compiler:&lt;br /&gt;
export PATH=/usr/local/bin:/opt/freeware/bin:$PATH&lt;br /&gt;
export OBJECT_MODE=64&lt;br /&gt;
export LIBICONV=/opt/freeware&lt;br /&gt;
export CC=&amp;quot;xlc_r -q64&amp;quot;&lt;br /&gt;
export CFLAGS=&amp;quot;-O -qstrict&amp;quot;&lt;br /&gt;
export CXX=&amp;quot;xlC_r -q64&amp;quot;&lt;br /&gt;
export CXXFLAGS=&amp;quot;-O -qstrict&amp;quot;&lt;br /&gt;
export AR=&amp;quot;ar -X64&amp;quot;&lt;br /&gt;
export F77=&amp;quot;xlf_r -q64&amp;quot;&lt;br /&gt;
export CPPFLAGS=&amp;quot;-I/afs/isis/pkg/libpng/include -I/usr/local/include -I$LIBICONV/include -I/usr/lpp/X11/include/X11&amp;quot;&lt;br /&gt;
export LDFLAGS=&amp;quot;-L/usr/local/lib -L$LIBICONV/lib -L/usr/lib -L/usr/X11R6/lib -lc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
./configure --prefix=/afs/isis/pkg/grass-6.4.0 \&lt;br /&gt;
  --enable-64bit \&lt;br /&gt;
  --disable-shared \&lt;br /&gt;
  --with-includes=&amp;quot;/usr/include/fontconfig /usr/include/X11 /usr/include/X11/Xft /usr/include/X11/ext&amp;quot; \&lt;br /&gt;
  --x-includes=/usr/include/X11 \&lt;br /&gt;
  --x-libraries=/usr/X11R6/lib \&lt;br /&gt;
  --with-fftw-includes=/afs/isis/pkg/fftw-3.2.2/include \&lt;br /&gt;
  --with-fftw-libs=/afs/isis/pkg/fftw-3.2.2/lib \&lt;br /&gt;
  --with-gdal=/afs/isis/pkg/gdal/bin/gdal-config \&lt;br /&gt;
  --with-proj-includes=/afs/isis/pkg/proj/include \&lt;br /&gt;
  --with-proj-libs=/afs/isis/pkg/proj/lib \&lt;br /&gt;
  --with-proj-share=/afs/isis/pkg/proj/share/proj \&lt;br /&gt;
  --with-tcltk-includes=/usr/local/include \&lt;br /&gt;
  --with-tcltk-libs=/usr/local/lib \&lt;br /&gt;
  --with-opengl-includes=/usr/include/GL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''GRASS 7: Using the IBM xlc compiler:'''&lt;br /&gt;
&lt;br /&gt;
Get and install (in this order):&lt;br /&gt;
* [ftp://ftp.gnu.org/gnu/tar/ GNU tar]&lt;br /&gt;
* [ftp://ftp.gnu.org/gnu/make/ GNU make] (&amp;gt;= 3.81)&lt;br /&gt;
* [http://www.sqlite.org SQLite]&lt;br /&gt;
* [http://trac.osgeo.org/proj/ PROJ.4] (for ./configure parameters, see [[Talk:Compile and Install|here]])&lt;br /&gt;
* [http://www.gdal.org GDAL] (for ./configure parameters, see [[Talk:Compile and Install|here]])&lt;br /&gt;
* [http://grass.osgeo.org/grass74/source/snapshot/ GRASS GIS 7]&lt;br /&gt;
&lt;br /&gt;
The environment variables and configure command that worked:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
## AIX 5.x&lt;br /&gt;
&lt;br /&gt;
export LIBPATH=/opt/freeware/lib64:/opt/freeware/lib&lt;br /&gt;
# make 'ar' happy&lt;br /&gt;
export OBJECT_MODE=64&lt;br /&gt;
&lt;br /&gt;
PREFIX=$HOME/private/bin&lt;br /&gt;
./configure \&lt;br /&gt;
  --prefix=$PREFIX \&lt;br /&gt;
  --disable-shared \&lt;br /&gt;
  --enable-largefile \&lt;br /&gt;
  --with-cxx \&lt;br /&gt;
  --with-proj-includes=$PREFIX/include/ \&lt;br /&gt;
  --with-proj-libs=$PREFIX/lib/ \&lt;br /&gt;
  --with-proj-share=$PREFIX/share/proj/ \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-sqlite-includes=$PREFIX/include/ \&lt;br /&gt;
  --with-sqlite-libs=$PREFIX/lib/ \&lt;br /&gt;
  --with-tiff=no \&lt;br /&gt;
  --with-png=no \&lt;br /&gt;
  --with-fftw=no \&lt;br /&gt;
  --with-cairo=no \&lt;br /&gt;
  --with-freetype=no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''GRASS 7: Using the GNU gcc compiler:'''&lt;br /&gt;
&lt;br /&gt;
Get and install (in this order):&lt;br /&gt;
* if needed, [ftp://ftp.gnu.org/gnu/tar/ GNU tar]&lt;br /&gt;
* if needed (the name is often 'gmake' and not 'make') [ftp://ftp.gnu.org/gnu/make/ GNU make] (&amp;gt;= 3.81)&lt;br /&gt;
* [http://www.sqlite.org SQLite]&lt;br /&gt;
* [http://trac.osgeo.org/proj/ PROJ.4] (for ./configure parameters, see [[Talk:Compile and Install|here]])&lt;br /&gt;
* [http://www.gdal.org GDAL] (for ./configure parameters, see [[Talk:Compile and Install|here]])&lt;br /&gt;
* [http://grass.osgeo.org/grass74/source/snapshot/ GRASS GIS 7]&lt;br /&gt;
&lt;br /&gt;
The environment variables and configure command that worked for AIX 5.x:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
## AIX 5.x&lt;br /&gt;
&lt;br /&gt;
export LIBPATH=/opt/freeware/lib64:/opt/freeware/lib&lt;br /&gt;
# make 'ar' happy&lt;br /&gt;
export OBJECT_MODE=64&lt;br /&gt;
&lt;br /&gt;
PREFIX=$HOME/private/bin&lt;br /&gt;
CFLAGS='-ansi -D_ALL_SOURCE=1 -D_POSIX_SOURCE=1 -D_POSIX_C_SOURCE=200809L -Dinline=' ./configure \&lt;br /&gt;
  --prefix=$PREFIX \&lt;br /&gt;
  --disable-shared \&lt;br /&gt;
  --enable-largefile \&lt;br /&gt;
  --with-cxx \&lt;br /&gt;
  --with-proj-includes=$PREFIX/include/ \&lt;br /&gt;
  --with-proj-libs=$PREFIX/lib/ \&lt;br /&gt;
  --with-proj-share=$PREFIX/share/proj/ \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-sqlite-includes=$PREFIX/include/ \&lt;br /&gt;
  --with-sqlite-libs=$PREFIX/lib/ \&lt;br /&gt;
  --with-tiff=no \&lt;br /&gt;
  --with-png=no \&lt;br /&gt;
  --with-fftw=no \&lt;br /&gt;
  --with-cairo=no \&lt;br /&gt;
  --with-freetype=no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The environment variables and configure command that worked for AIX 7.x:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
## AIX 7.x&lt;br /&gt;
export CC=&amp;quot;gcc&amp;quot;&lt;br /&gt;
export CXX=&amp;quot;g++&amp;quot;&lt;br /&gt;
PREFIX=$HOME/bin&lt;br /&gt;
&lt;br /&gt;
LDFLAGS=&amp;quot;-Wl,-bsvr4,-R,/opt/freeware/lib -L/opt/freeware/lib&amp;quot; CPPFLAGS=&amp;quot;-I/opt/freeware/include&amp;quot; ./configure \&lt;br /&gt;
  --prefix=$PREFIX \&lt;br /&gt;
  --enable-largefile \&lt;br /&gt;
  --enable-shared \&lt;br /&gt;
  --with-includes=/opt/freeware/include --with-libs=/opt/freeware/lib \&lt;br /&gt;
  --with-cxx \&lt;br /&gt;
  --with-proj-includes=$PREFIX/include/ \&lt;br /&gt;
  --with-proj-libs=$PREFIX/lib/ \&lt;br /&gt;
  --with-proj-share=$PREFIX/share/proj/ \&lt;br /&gt;
  --with-gdal=$PREFIX/bin/gdal-config \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-sqlite-libs=$PREFIX/lib --with-sqlite-includes=$PREFIX/include \&lt;br /&gt;
  --with-png=no \&lt;br /&gt;
  --with-tiff=no \&lt;br /&gt;
  --with-fftw=no \&lt;br /&gt;
  --with-cairo=no \&lt;br /&gt;
  --with-opengl=no \&lt;br /&gt;
  --with-freetype=no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== MS-Windows ====&lt;br /&gt;
&lt;br /&gt;
===== MS-Windows/Cygwin =====&lt;br /&gt;
&lt;br /&gt;
* See the [[Cygwin]] wiki pages&lt;br /&gt;
&lt;br /&gt;
===== MS-Windows/native =====&lt;br /&gt;
&lt;br /&gt;
====== Compile ======&lt;br /&gt;
&lt;br /&gt;
* [http://trac.osgeo.org/grass/wiki/CompileOnWindows GRASS Windows Native Binary Building Guide] (GRASS 6.4.x + 7.x)&lt;br /&gt;
* &amp;lt;strike&amp;gt;[http://www.webalice.it/marco.pasetti/grass/BuildFromSource.html GRASS Windows Native Binary Building Guide] (GRASS 6.3.x) &amp;lt;/strike&amp;gt;&lt;br /&gt;
* See/adapt [http://blog.qgis.org/node/124 idea] for unattended install of QGIS (et al) from [http://trac.osgeo.org/osgeo4w/ OSGeo4W] from the QuantumGIS Blog.&lt;br /&gt;
&lt;br /&gt;
See also [[WinGRASS Current Status]] for latest updates.&lt;br /&gt;
&lt;br /&gt;
=== Common problems and solutions ===&lt;br /&gt;
&lt;br /&gt;
During compilation, error can occur if certain packages are not installed. Here a list of problems with solution:&lt;br /&gt;
&lt;br /&gt;
* error: X11/Xlib.h: No such file or directory&lt;br /&gt;
** this suggests that you don't have the X headers installed&lt;br /&gt;
** Solution: Install the libx11-dev package&lt;br /&gt;
&lt;br /&gt;
* error:  g.list: error while loading shared libraries: libgdal1.6.0.so.1: cannot open shared object file: No such file or directory&lt;br /&gt;
** this error appears in the shell right after the user clicks GUI's &amp;quot;Start GRASS&amp;quot; button. The GUI shows an error about geographic extent and gets closed afterwards.&lt;br /&gt;
** It happens when you launch bin.i686 executable on 64bit system. Be careful and choose the right architecture.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Static compilation ===&lt;br /&gt;
&lt;br /&gt;
In order to get static rather than dynamically linked binaries, configure like this:&lt;br /&gt;
&lt;br /&gt;
  ./configure --disable-shared --enable-static&lt;br /&gt;
&lt;br /&gt;
This will however break the wxGUI and GRASS 7 completely because &amp;quot;ctypes&amp;quot; wants to link against shared libs, or there is something in the static libs that &amp;quot;ctypes&amp;quot; does not like.&lt;br /&gt;
&lt;br /&gt;
=== Optimization ===&lt;br /&gt;
&lt;br /&gt;
GCC and other compilers support [http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Optimize-Options.html#Optimize-Options optimization]&lt;br /&gt;
&lt;br /&gt;
If you would like to set compiler optimisations, for a possibly faster binary, type (don't enter a &amp;quot;;&amp;quot; anywhere):&lt;br /&gt;
&lt;br /&gt;
        CFLAGS=-O ./configure&lt;br /&gt;
or,&lt;br /&gt;
        setenv CFLAGS -O&lt;br /&gt;
        ./configure&lt;br /&gt;
&lt;br /&gt;
whichever works on your shell. Use -O2 instead of -O if your compiler supports this (note: O is the letter, not zero). Using the &amp;quot;gcc&amp;quot; compiler, you can also specify processor specific flags (examples, please suggest better settings to us):&lt;br /&gt;
&lt;br /&gt;
  CFLAGS=&amp;quot;-mcpu=athlon -O2&amp;quot; # AMD Athlon processor with code optimisations&lt;br /&gt;
  CFLAGS=&amp;quot;-march=amdfam10&amp;quot;  # AMD Phenom II X4 64bit processor with gcc &amp;gt;=4.3&lt;br /&gt;
  CFLAGS=&amp;quot;-mcpu=pentium&amp;quot;    # Intel Pentium processor&lt;br /&gt;
  CFLAGS=&amp;quot;-mcpu=pentium4&amp;quot;   # Intel Pentium4 processor&lt;br /&gt;
  CFLAGS=&amp;quot;-O2 -msse -msse2 -mfpmath=sse -minline-all-stringops&amp;quot; # Intel XEON 64bit processor&lt;br /&gt;
  CFLAGS=&amp;quot;-mtune=nocona -m64 -minline-all-stringops&amp;quot;            # Intel Pentium 64bit processor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To find out optional CFLAGS for your platform, enter:&lt;br /&gt;
  gcc -dumpspecs&lt;br /&gt;
&lt;br /&gt;
See also: http://gcc.gnu.org/&lt;br /&gt;
&lt;br /&gt;
A real fast GRASS version (and small binaries) will be created with LDFLAGS set to &amp;quot;stripping&amp;quot; (but this disables debugging):&lt;br /&gt;
&lt;br /&gt;
  CFLAGS=&amp;quot;-O2 -mcpu=&amp;lt;cpu_see_above&amp;gt; -Wall&amp;quot; LDFLAGS=&amp;quot;-s&amp;quot; ./configure&lt;br /&gt;
&lt;br /&gt;
=== Configure options and their meanings ===&lt;br /&gt;
&lt;br /&gt;
For configure there are many options and some GRASS modules are built only if some options are set. Here are listed common configuration options with short explanation.&lt;br /&gt;
&lt;br /&gt;
* --prefix=/path - Sets path where GRASS will be installed. GRASS will reside in /path/grass-version.&lt;br /&gt;
* --enable-largefile - Enables large (&amp;gt;2Gb on 32bit systems) support. For current large file support status look at [[Large File Support]] page.&lt;br /&gt;
* --with-cxx - Enables compilation of C++ code. Required for r.terraflow module.&lt;br /&gt;
* --with-readline - Enables readline support. If readline is enabled, you can use its history/editing facilities when entering r.mapcalc expressions on stdin.&lt;br /&gt;
* --with-glw - Enables GLw support. The GLw library provides OpenGL &amp;quot;canvas&amp;quot; widgets for Athena and Motif. &lt;br /&gt;
 &lt;br /&gt;
 That switch is unnecessary for normal compilation. It's only&lt;br /&gt;
 required for r3.showdspf, which isn't normally built; if you &lt;br /&gt;
 want it, you have build it manually &lt;br /&gt;
 (e.g. &amp;quot;make -C raster3d/r3.showdspf&amp;quot;).&lt;br /&gt;
 As similar functionality is now provided by NVIZ, r3.showdspf&lt;br /&gt;
 is deprecated.&lt;br /&gt;
 r3.showdspf uses the Motif widget (so you also need a &lt;br /&gt;
 Motif library, e.g. Lesstif or OpenMotif).&lt;br /&gt;
 [http://grass.itc.it/pipermail/grassuser/2006-December/037475.html Glynn Clements at GRASS-user mailing list]&lt;br /&gt;
&lt;br /&gt;
=== Parallelized compilation on multi-core CPUs ===&lt;br /&gt;
&lt;br /&gt;
You can dramatically accelerate the compilation of the GRASS code with the -j flag of &amp;quot;make&amp;quot; if you have a multi-core CPU system. This determines the maximum number of jobs to have running at once, so cores don't have to sit idle waiting for jobs on other cores to complete. A good rule of thumb for this value is &amp;lt;tt&amp;gt;number_of_cores * 1.5&amp;lt;/tt&amp;gt;, but note that setting any higher than the actual number of cores will only affect the timing slightly. For example, on a dual-core processor:&lt;br /&gt;
  make -j 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- CFLAGS=&amp;quot;-pipe&amp;quot; doesn't seem to help much --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRASS-GDAL plugin ==&lt;br /&gt;
&lt;br /&gt;
* see [[Compile and install GRASS and QGIS with GDAL/OGR Plugin]]&lt;br /&gt;
&lt;br /&gt;
== Addons ==&lt;br /&gt;
&lt;br /&gt;
Please note that the installation of [[AddOns/GRASS_6|Addons]] can be easily done with the {{cmd|g.extension}} manager. The compile instructions below are aiming at own development.&lt;br /&gt;
&lt;br /&gt;
=== Compiled modules ===&lt;br /&gt;
&lt;br /&gt;
This is the general way which works for C modules as well as scripts (Python or Shell/Bash modules) which has HTML documentation.&lt;br /&gt;
&lt;br /&gt;
'''Requirements:'''&lt;br /&gt;
&lt;br /&gt;
Either:&lt;br /&gt;
* a binary GRASS package, or&lt;br /&gt;
* source code which has been prepared with:&lt;br /&gt;
    ./configure [opionally flags]&lt;br /&gt;
    make libs&lt;br /&gt;
&lt;br /&gt;
Each of the [[GRASS_AddOns|addon]] modules should come with a Makefile. To compile it, just run:&lt;br /&gt;
    make MODULE_TOPDIR=/path/to/grass64/&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;lt;tt&amp;gt;/path/to/grass64&amp;lt;/tt&amp;gt; has to be absolute, not relative.&lt;br /&gt;
&lt;br /&gt;
If using Bash it may be useful to set that up as an alias:&lt;br /&gt;
    alias gmake64='make MODULE_TOPDIR=/path/to/grass64/'&lt;br /&gt;
&lt;br /&gt;
Installation (perhaps requires &amp;quot;sudo&amp;quot;):&lt;br /&gt;
    make MODULE_TOPDIR=/path/to/grass64/ install&lt;br /&gt;
&lt;br /&gt;
Note: Compiled addons may require a re-compilation if you changed/updated your GRASS standard binaries.&lt;br /&gt;
&lt;br /&gt;
==== If binary comes with a -dev package ====&lt;br /&gt;
&lt;br /&gt;
''(work in progress, this text states how it eventually will be :)''&lt;br /&gt;
Nowadays one does not need to the source code, nor compiling GRASS by oneself to be able to add add-ons. On Debian, you can just install the grass-dev package and then run:&lt;br /&gt;
 make MODULE_TOPDIR=/usr/lib/grass64/ INST_DIR=/usr/lib/grass64/&lt;br /&gt;
&lt;br /&gt;
The grass-dev package essentially provides GRASS's &amp;lt;tt&amp;gt;include&amp;lt;/tt&amp;gt; header files and Make configuration files.&lt;br /&gt;
&lt;br /&gt;
=== Scripts ===&lt;br /&gt;
&lt;br /&gt;
If the addon module is a script, it is sufficient to copy it into the (GRASS binaries) path somewhere. Alternatively, install addons into a separate GRASS addons binaries/scripts directory which is easier to maintain. It avoids getting clobbered every time you reinstall GRASS. To use these separately stored scripts, set and export the GRASS_ADDON_PATH environment variable before starting GRASS and it will automatically be added to the module search path (see the {{cmd|variables}} help page). To simplify this, do for example:&lt;br /&gt;
&lt;br /&gt;
 # add in $HOME/.bashrc:&lt;br /&gt;
 GRASS_ADDON_PATH=/usr/local/grass/addons/&lt;br /&gt;
 export GRASS_ADDON_PATH&lt;br /&gt;
&lt;br /&gt;
Make sure that the script is executable, then just call it in GRASS typing the filename. Python scripts need to be called writing the extension as well, like:&lt;br /&gt;
 &lt;br /&gt;
 GRASS 6.5.svn (spearfish60):~ &amp;gt; v.krige.py&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>⚠️Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_MacOSX_using_Anaconda&amp;diff=26216</id>
		<title>Compiling on MacOSX using Anaconda</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_MacOSX_using_Anaconda&amp;diff=26216"/>
		<updated>2020-06-05T10:17:19Z</updated>

		<summary type="html">&lt;p&gt;⚠️Nila: Nila moved page Compiling on MacOSX using Anaconda to Compiling on macOS using Anaconda: Update title to reflect new OS brand&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Compiling on macOS using Anaconda]]&lt;/div&gt;</summary>
		<author><name>⚠️Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_Anaconda&amp;diff=26215</id>
		<title>Compiling on macOS using Anaconda</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_Anaconda&amp;diff=26215"/>
		<updated>2020-06-05T10:17:19Z</updated>

		<summary type="html">&lt;p&gt;⚠️Nila: Nila moved page Compiling on MacOSX using Anaconda to Compiling on macOS using Anaconda: Update title to reflect new OS brand&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Using Anaconda to Create a Binary Mac App for GRASS ==&lt;br /&gt;
These instructions are for creating a self-contained Mac app, including all dependencies, with GRASS 7.9 and Anaconda. You can modify them if you don't need some of the steps. Some of the steps you won't need to repeat (e.g., creating an anaconda environment). You must first install the [https://www.anaconda.com '''Anaconda package'''] for Python. You will of course need to download a copy of the [https://grass.osgeo.org/download/ '''GRASS source code''']. You will also need to install Apple's '''XCode''' and the '''command-line tools''' to compile sofware. This workflow can be used with MacOS 10.14 and 10.15. It may work with other versions, but has not been tested.     &lt;br /&gt;
&lt;br /&gt;
You will need to work from the '''Mac terminal''' to compile GRASS of course. This tutorial assumes you are familiare with this command line interface.   &lt;br /&gt;
&lt;br /&gt;
This process also requires some patches and other supporting files. You can download these here: [[File:Grass_macapp_anaconda_supporting_files.zip]]  &lt;br /&gt;
&lt;br /&gt;
=== 1. Create a Mac app shell (I have uploaded an example for GRASS 7.9 you can use as is, modified from shells created by Eric Hutton). ===  &lt;br /&gt;
This can be modified serve for different versions of GRASS by altering the last line of the script that launches GRASS in the app shell. To do this, you will need to look inside the app by Ctrl-clicking on it and selecting ''''&amp;quot;show package contents&amp;quot;'''', which reveals the app as a folder with other folders and files inside.  &lt;br /&gt;
&lt;br /&gt;
For example, to make a shell for GRASS 7.8, copy the uploaded ''''GRASS-7.9.app'''' and rename it to ''''GRASS-7.8.app''''  &lt;br /&gt;
Then show package contents for ''''GRASS-7.8.app'''' and use a text editor to modify the last line of the file ''''../GRASS-7.8.app/Contents/MacOS/Grass.sh'''' to refer to GRASS 7.8  &lt;br /&gt;
&lt;br /&gt;
change:  &amp;quot;$GRASS_PYTHON&amp;quot; &amp;quot;$GISBASE/bin/grass79&amp;quot; &amp;quot;-gui&amp;quot; &amp;quot;$@&amp;quot;  &lt;br /&gt;
to:  &amp;quot;$GRASS_PYTHON&amp;quot; &amp;quot;$GISBASE/bin/grass78&amp;quot; &amp;quot;-gui&amp;quot; &amp;quot;$@&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
Also, use a text editor to modify ''''../GRASS-7.9.app/Contents/Info.plist''' to change all references to 7.9 to 7.8.  &lt;br /&gt;
&lt;br /&gt;
=== 2. Create an Anaconda environment for Python 3.6.10 ===  &lt;br /&gt;
This may not be strictly necessary, but I am doing it make sure that my builds use Python 3  instead of Python 2.7,  which is still what ships with the Mac.  &lt;br /&gt;
&lt;br /&gt;
Anaconda defaults to Python 3.7.6, which will not compile GRASS properly. This makes it more complicated than needed, requiring some workarounds. I've tried this with multiple versions of Python 3 (anaconda has them all the way up to 3.8.2), but the highest version that seems to give consistently successful results is 3.6.10. This will probably change in the future so that you can use a higher version of Python.   &lt;br /&gt;
&lt;br /&gt;
Here is how to create an Anaconda environment for Python 3.6.10. You only need to do this once for each environment you want to use.   &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
conda create anaconda_p36 python==3.6.10 anaconda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. Activate the Anaconda Python 3.6.10 environment ===  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
conda activate anaconda_p36&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can activate any previously created Anaconda environment in this way   &lt;br /&gt;
&lt;br /&gt;
=== 4. Copy the Mac app shell to /Applications ===  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp -r ../GRASS-7.9.app /Applications/GRASS-7.9.app  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 5. Download the Python 3 miniconda installer and use it to install a minimal anaconda environment into the Mac app shell ===  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh &amp;amp;gt;  miniconda3.sh   &lt;br /&gt;
bash ./miniconda3.sh -b -f -p /Applications/GRASS-7.9.app/Contents/Resources    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  6. Export the path to the GRASS Mac app shell so that subsequent operations use the environment of that shell ===  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export PATH=/Applications/GRASS-7.9.app/Contents/Resources/bin:$PATH   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 7. Install GRASS dependencies into Mac app shell, including Python 3.6.10 ===  &lt;br /&gt;
A requirements file can make all of these dependencies easier to install. One is included in the supporting files package. This will downgrade Python from v. 3.7.6 installed by miniconda to the more useable 3.6.10.  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
conda install --yes -p &amp;quot;/Applications/GRASS-7.9.app/Contents/Resources&amp;quot; --file=requirements_wxp4p36.txt -c conda-forge  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 8. Create a symlink to Python so that pythonw can find it (may become unneeded in the future) ===  &lt;br /&gt;
Grass launches Python through the pythonw script. But the script does not point to the correct location for Python (which is in fact in 2 different places). This seems to be a bug in Python &amp;lt; 3.7.4 or how anaconda installs it. It puts the python launch file in the wrong place. So a symlink is needed.  Hopefully this will go away when we can use Python &amp;gt; 3.7.6, which seems to put python in the correct place, and the place that pythonw points to.   &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ln -sf /Applications/GRASS-7.8.app/Contents/Resources/python.app/pythonapp/Contents/* /Applications/GRASS-7.8.app/Contents/Resources/python.app/Contents&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 9. cd to the grass source folder and apply patches to  configure and make files ===  &lt;br /&gt;
Eric Hutton at CSDMS worked out these patches and I modified one needed to use Python 3. Maybe they can be worked into the source code so that they are no longer needed. I will upload the patches along with the app shell and requirements file.   &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
patch -p0 &amp;lt; aclocal.m4.patch  &lt;br /&gt;
patch -p0 &amp;lt; configure.patch  &lt;br /&gt;
patch -p0 &amp;lt; install.make.patch  &lt;br /&gt;
patch -p0 &amp;lt; loader.py.patch  &lt;br /&gt;
patch -p0 &amp;lt; module.make.patch  &lt;br /&gt;
patch -p0 &amp;lt; platform.make.in.patch  &lt;br /&gt;
patch -p0 &amp;lt; rules.make.patch  &lt;br /&gt;
patch -p0 &amp;lt; shlib.make.patch&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== 10. Configure, make, and install ===  &lt;br /&gt;
An example configure script is included in the grass supporting files package. It flags all dependencies and sets the correct path so that they can be found. '''Important''': this configure script has a hard path to the SDK (software developer kit) that comes with XCode. You can set different path if you've put you SDK in a different place.  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bash ../configure.sh&lt;br /&gt;
make -j4  GDAL_DYNAMIC=&lt;br /&gt;
make -j4 install  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assuming there were no errors, you should now be able to run and test the GRASS-7.9.app in your /Applications folder&lt;br /&gt;
&lt;br /&gt;
=== 11. Clean up ===  &lt;br /&gt;
This removes unneeded anaconda package installer files and some other large files that are irrelevant for GRASS. It makes the app much smaller (though still large because of Python, wxPython, and other dependencies are packaged inside)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
conda clean --all  -y  &lt;br /&gt;
rm -r /Applications/GRASS-7.9.app/Contents/Resources/mkspecs  &lt;br /&gt;
rm -r /Applications/GRASS-7.9.app/Contents/Resources/phrasebooks  &lt;br /&gt;
rm -r /Applications/GRASS-7.9.app/Contents/Resources/pkgs  &lt;br /&gt;
rm -r /Applications/GRASS-7.9.app/Contents/Resources/plugins  &lt;br /&gt;
rm -r /Applications/GRASS-7.9.app/Contents/Resources/qml  &lt;br /&gt;
rm -r /Applications/GRASS-7.9.app/Contents/Resources/resources  &lt;br /&gt;
rm -r /Applications/GRASS-7.9.app/Contents/Resources/translations &lt;br /&gt;
rm /Applications/GRASS-7.9.app/Contents/Resources/lib/libQt*  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optional: create a binary distribution package ==&lt;br /&gt;
=== 12. Set up folder to make a binary package for distribution ===  &lt;br /&gt;
Put a copy of the new GRASS app and a symlink to the /Applications folder into a new folder that will become the distribution package.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir ../binary_pkg/grass-7.9&lt;br /&gt;
cd ../binary_pkg/grass-7.9&lt;br /&gt;
cp -R /Applications/GRASS-7.9.app ./&lt;br /&gt;
ln -s /Applications Applications  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 13. Use Disk Utility to make a distribution package ===  &lt;br /&gt;
* Open disk Utility  &lt;br /&gt;
* From the make file/new image menu, select image from from folder  &lt;br /&gt;
* Point it to the folder with the app and symlink to /Applications and tell it to make an image ''''GRASS-7.9.dmg''''.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>⚠️Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_MacOSX_using_homebrew&amp;diff=26214</id>
		<title>Compiling on MacOSX using homebrew</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_MacOSX_using_homebrew&amp;diff=26214"/>
		<updated>2020-06-05T10:16:24Z</updated>

		<summary type="html">&lt;p&gt;⚠️Nila: Nila moved page Compiling on MacOSX using homebrew to Compiling on macOS using Homebrew: Update title to reflect new OS brand&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Compiling on macOS using Homebrew]]&lt;/div&gt;</summary>
		<author><name>⚠️Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_Homebrew&amp;diff=26213</id>
		<title>Compiling on macOS using Homebrew</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_Homebrew&amp;diff=26213"/>
		<updated>2020-06-05T10:16:24Z</updated>

		<summary type="html">&lt;p&gt;⚠️Nila: Nila moved page Compiling on MacOSX using homebrew to Compiling on macOS using Homebrew: Update title to reflect new OS brand&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is [http://brew.sh/ homebrew] and why use it ==&lt;br /&gt;
&lt;br /&gt;
To quote from their website:&lt;br /&gt;
&lt;br /&gt;
[http://brew.sh/ Homebrew is the missing package manager for OS X]:&lt;br /&gt;
* easy to install&lt;br /&gt;
* does not need administrator privileges&lt;br /&gt;
* installs packages to their own directory and then symlinks their files into /usr/local&lt;br /&gt;
&lt;br /&gt;
For further information to install it and how to use it, see the [http://brew.sh/ Homebrew website] and the [https://github.com/Homebrew/homebrew/tree/master/share/doc/homebrew#readme Wiki].&lt;br /&gt;
&lt;br /&gt;
The formulas to install programs are called recipes and they make it possible to install several version of the same program (as well as HEAD of different Version Control Systems) at the same time which can then be symlinked.&lt;br /&gt;
This makes it perfect for the purpose of installing the master branch of GRASS GIS for testing purposes.&lt;br /&gt;
&lt;br /&gt;
== GRASS GIS 7.8 and later ==&lt;br /&gt;
&lt;br /&gt;
There is an [https://github.com/OSGeo/homebrew-osgeo4mac osgeo4mac] which contains [https://github.com/OSGeo/homebrew-osgeo4mac/blob/master/Formula/osgeo-grass.rb recipes for GRASS GIS 7.x] and other GIS tools - highly recommendable tap!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Preparation:'''&lt;br /&gt;
&lt;br /&gt;
To later get the GUI working, run&lt;br /&gt;
&lt;br /&gt;
      pip3 install wxpython&lt;br /&gt;
&lt;br /&gt;
'''Installation:'''&lt;br /&gt;
&lt;br /&gt;
Just run&lt;br /&gt;
&lt;br /&gt;
      brew tap osgeo/osgeo4mac&lt;br /&gt;
&lt;br /&gt;
and then&lt;br /&gt;
&lt;br /&gt;
      brew install osgeo-grass&lt;br /&gt;
&lt;br /&gt;
Easy, isn't it?&lt;br /&gt;
&lt;br /&gt;
You can also install via URL:&lt;br /&gt;
&lt;br /&gt;
      brew install https://github.com/OSGeo/homebrew-osgeo4mac/blob/master/Formula/osgeo-grass.rb&lt;br /&gt;
&lt;br /&gt;
'''Testing:'''&lt;br /&gt;
* by running (change '7x' to the current version, e.g. 78)&lt;br /&gt;
      brew test -v grass-78&lt;br /&gt;
you can run GRASS GIS tests but they are not implemented as they should be - work in progress.&lt;br /&gt;
&lt;br /&gt;
'''Starting it:'''&lt;br /&gt;
&lt;br /&gt;
      grass78 --gui&lt;br /&gt;
&lt;br /&gt;
== GRASS GIS 7.2 LTS ==&lt;br /&gt;
&lt;br /&gt;
OSGEO4mac has also a formalar to install the GRASS GIS 7 LTS.&lt;br /&gt;
&lt;br /&gt;
Follow the procedure as described in section '''GRASS GIS 7.6+''' but use&lt;br /&gt;
&lt;br /&gt;
    brew install grass7-lts&lt;br /&gt;
&lt;br /&gt;
== GRASS GIS 7.0.x for El Capitan without disabling SIP ==&lt;br /&gt;
The new homebrew recipe for GRASS 7.0 does install on El Capitan with SIP enabled! This is thanks to Larry Shaffer. See&lt;br /&gt;
https://github.com/OSGeo/homebrew-osgeo4mac/issues/118#issuecomment-200278686&lt;br /&gt;
&lt;br /&gt;
The recipe is part of the Homebrew-osgeo4mac tap, see&lt;br /&gt;
&lt;br /&gt;
https://github.com/OSGeo/homebrew-osgeo4mac&lt;br /&gt;
&lt;br /&gt;
for info on how to use them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>⚠️Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_MacPorts&amp;diff=26212</id>
		<title>Compiling on macOS using MacPorts</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_MacPorts&amp;diff=26212"/>
		<updated>2020-06-05T10:13:36Z</updated>

		<summary type="html">&lt;p&gt;⚠️Nila: Add page with compile/install instructions using MacPorts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing GRASS GIS with MacPorts ==&lt;br /&gt;
&lt;br /&gt;
MacPorts is a package management system for macOS. It makes it easy to install and update any supported software &amp;amp;mdash; dependencies (that can be either executables or libraries) are installed and updated automatically. It is recommended to install the MacPort base software with the package installer available at [https://guide.macports.org macports.org] where also detailed installation and usage instructions can be found. Note that Xcode is a prerequisite and that MacPorts is controlled through the Terminal with the '''port''' command.&lt;br /&gt;
&lt;br /&gt;
Assuming you succeeded with the installation of the MacPorts base, the base software can be updated with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Information on software, i.e. ''ports'', that can be installed can be retrieved with the '''info''' action, this is an example with the port '''grass7''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
port info grass7&lt;br /&gt;
&lt;br /&gt;
grass7 @7.8.3_1 (gis)&lt;br /&gt;
Variants:             debug, ffmpeg, gui, mysql5, openblas, postgresql10, postgresql11, [+]postgresql12, proj4, [+]proj6, python35, python36, python37, [+]python38, sqlite, universal, zstd&lt;br /&gt;
&lt;br /&gt;
Description:          GRASS is a Geographic Information System (GIS) used for geospatial data management and analysis.&lt;br /&gt;
Homepage:             http://grass.osgeo.org/&lt;br /&gt;
&lt;br /&gt;
Build Dependencies:   pkgconfig&lt;br /&gt;
Library Dependencies: bzip2, freetype, fftw-3, gdal, pdal, geos, tiff, libpng, liblas, cairo, readline, python38, py38-Pillow, py38-numpy, py38-six, proj6, postgresql12&lt;br /&gt;
Runtime Dependencies: py38-psycopg2&lt;br /&gt;
Platforms:            darwin&lt;br /&gt;
License:              GPL-2+&lt;br /&gt;
Maintainers:          none&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ''variants'' are options for a port that can be chosen at installation. The variants marked with a '''+''', are included by default.&lt;br /&gt;
&lt;br /&gt;
Installing GRASS with default variants:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install grass7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
will download, compile and install GRASS with dependencies ''postgresql12'', ''proj6'' and ''python38''.&lt;br /&gt;
&lt;br /&gt;
However, a customized installation may look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install grass7 +gui +python37 +zstd +sqlite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will replace the default ''python38'' with ''python37'' and include also the ''gui'', ''sqlite'' and ''zstd'' dependencies. The default variants ''postgresql12'' and ''proj6'' will in this case also be included.&lt;br /&gt;
&lt;br /&gt;
To check if any of the installed ports (or dependencies) have been updated:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
port outdated&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To update outdated ports:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port upgrade outdated&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using GRASS GIS installed with MacPorts ==&lt;br /&gt;
&lt;br /&gt;
A standard installation of MacPorts will install ports at:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/opt/local/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Presently, GRASS GIS installed with MacPorts can only be started from the terminal, with the command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grass78&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/opt/local/bin/grass78&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>⚠️Nila</name></author>
	</entry>
</feed>