<?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%8FYogi</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%8FYogi"/>
	<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/wiki/Special:Contributions/%E2%9A%A0%EF%B8%8FYogi"/>
	<updated>2026-05-26T01:59:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install_Ubuntu&amp;diff=10033</id>
		<title>Compile and Install Ubuntu</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install_Ubuntu&amp;diff=10033"/>
		<updated>2009-12-30T10:28:07Z</updated>

		<summary type="html">&lt;p&gt;⚠️Yogi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MoveToTrac}}&lt;br /&gt;
This page shall help to install the latest GRASS on Ubuntu based systems.&lt;br /&gt;
&lt;br /&gt;
= Current Release Branch (version 6.4.0) =&lt;br /&gt;
&lt;br /&gt;
The manual is based on Ubuntu 9.04.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&lt;br /&gt;
'''Preparation'''&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
* install dependencies for compiling (in general) and dependencies for GRASS, PROJ, GDAL/OGR:&lt;br /&gt;
 sudo apt-get install grass build-essential flex bison libncurses5-dev zlib1g-dev \&lt;br /&gt;
              libjpeg62-dev libgdal1-dev libtiff4-dev libgcc1 tcl8.4-dev tk8.4-dev gettext \&lt;br /&gt;
              fftw3-dev libfreetype6-dev libavcodec-dev libxmu-dev gdal-bin libgdal1-dev \&lt;br /&gt;
              make python-dev python-wxversion libwxgtk2.8-dev swig libavutil-dev libavutil49 &lt;br /&gt;
&lt;br /&gt;
 sudo apt-get build-dep grass&lt;br /&gt;
&lt;br /&gt;
* install SQLite&lt;br /&gt;
 sudo apt-get install sqlite3 libsqlite3-dev&lt;br /&gt;
&lt;br /&gt;
* install SVN&lt;br /&gt;
 sudo apt-get install subversion&lt;br /&gt;
&lt;br /&gt;
* create a directory as a simple user where source code(s) are going to be stored (in our example we use a directory called '''src''' under '''/usr/local''')&lt;br /&gt;
&lt;br /&gt;
 sudo mkdir /usr/local/src&lt;br /&gt;
&lt;br /&gt;
* grant rwx (read-write-execute) permissions for our userid/ groupid on the directory (replace words userid and groupid with real userid):&lt;br /&gt;
 sudo chown ''userid'':''groupid'' /usr/local/src&lt;br /&gt;
&lt;br /&gt;
 sudo chmod ug+rwx /usr/local/src&lt;br /&gt;
&lt;br /&gt;
* download latest source code from GRASS SVN repository in a directory on the system (e.g. /usr/local/src)&lt;br /&gt;
 svn checkout https://svn.osgeo.org/grass/grass/branches/releasebranch_6_4 grass_current&lt;br /&gt;
&lt;br /&gt;
* Above command places GRASS' source code in '''/usr/local/src/grass_trunk'''. In case of a subsequent update use the command: '''svn up''' from within the grass_trunk directory&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''Before''' attempting to compile GRASS, READ section (C) in the '''INSTALL''' file located in the main directory of GRASS source code entitled:&lt;br /&gt;
'''(C) COMPILATION NOTES for 64bit platforms'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====== '''go for GRASS!''' ======&lt;br /&gt;
* in our example we used the /usr/local/src directory to store GRASS' source code, so:&lt;br /&gt;
 cd /usr/local/src/grass_trunk&lt;br /&gt;
&lt;br /&gt;
* configuration:&lt;br /&gt;
  CFLAGS=&amp;quot;-g -Wall&amp;quot; ./configure \&lt;br /&gt;
      --with-cxx --with-freetype=yes \&lt;br /&gt;
      --with-postgres=no --with-sqlite=yes --enable-largefile=yes \&lt;br /&gt;
      --with-tcltk-includes=/usr/include/tcl8.4 \&lt;br /&gt;
      --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
      --with-python=/usr/bin/python2.5-config \&lt;br /&gt;
      --with-wxwidgets=yes \&lt;br /&gt;
      --with-nls --enable-largefile \&lt;br /&gt;
      --with-proj-share=/usr/share/proj&lt;br /&gt;
&lt;br /&gt;
* compilation&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
* compilation is expected to end with a statement similar to the following:&lt;br /&gt;
&lt;br /&gt;
 Started compilation: Wed Feb 27 00:24:36 CET 2009&lt;br /&gt;
 --&lt;br /&gt;
 Errors in:&lt;br /&gt;
 No errors detected.&lt;br /&gt;
&lt;br /&gt;
* installation&lt;br /&gt;
 sudo checkinstall&lt;br /&gt;
&lt;br /&gt;
* launch GRASS.6.4.svn&lt;br /&gt;
 grass64&lt;br /&gt;
&lt;br /&gt;
'''Notes'''&lt;br /&gt;
* in case of errors in future compilation attempts, remember to remove program binaries with&lt;br /&gt;
 make clean&lt;br /&gt;
* and the files created with the &amp;quot;configuration&amp;quot; from previous compilations with&lt;br /&gt;
 make distclean&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Current Development Branch (version 6.5.0) =&lt;br /&gt;
&lt;br /&gt;
The following instructions concern the compilation and installation of the current 6.5.0 development branch version of GRASS 6 on Ubuntu based systems. The instructions were tested on Ubuntu Jaunty Jackalope 9.04/ 64-bit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&lt;br /&gt;
'''Preparation'''&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
* install SQLite, SVN and dependencies for compiling PROJ, GEOS, GDAL/OGR, GRASS, GDAL-GRASS-PLUGIN:&lt;br /&gt;
 sudo apt-get install \&lt;br /&gt;
 build-essential \&lt;br /&gt;
 make flex bison gcc libgcc1 g++ cmake ccache \&lt;br /&gt;
 swig swig1.3 \&lt;br /&gt;
 python python-dev python-qt4 python-qt4-dev \&lt;br /&gt;
 sip4 python-sip4 python-sip4-dev python-opengl \&lt;br /&gt;
 python-wxversion python-wxtools python-wxgtk2.8 \&lt;br /&gt;
 libgsl0-dev \&lt;br /&gt;
 wx2.8-headers wx-common libwxgtk2.8-dev libwxgtk2.8-dbg \&lt;br /&gt;
 libwxbase2.8-dev  libwxbase2.8-dbg \&lt;br /&gt;
 ruby \&lt;br /&gt;
 libncurses5-dev \&lt;br /&gt;
 zlib1g-dev gettext \&lt;br /&gt;
 libjpeg62-dev libtiff4-dev libpngwriter-dev \&lt;br /&gt;
 libhdf4g-dev libhdf4g-run \&lt;br /&gt;
 tcl8.4-dev tk8.4-dev \&lt;br /&gt;
 libcairo libcairo-dev \&lt;br /&gt;
 sqlite3 libsqlite3-dev \&lt;br /&gt;
 libpq-dev \&lt;br /&gt;
 libreadline5 libreadline5-dev libfreetype6-dev \&lt;br /&gt;
 txt2tags \&lt;br /&gt;
 fftw3 fftw3-dev \&lt;br /&gt;
 libqt4-core libqt4-dbg libqt4-dev libqt4-gui libqt4-sql libqt4-qt3support \&lt;br /&gt;
 lsb-qt4 qt4-designer qt4-dev-tools qt4-doc qt4-qtconfig \&lt;br /&gt;
 libapt-pkg-perl resolvconf \&lt;br /&gt;
 libjasper-dev \&lt;br /&gt;
 subversion&lt;br /&gt;
&lt;br /&gt;
* create a directory as a simple user where source code(s) are going to be stored (in this ''example'' a directory called '''src''' under '''/usr/local''' is used)&lt;br /&gt;
&lt;br /&gt;
 sudo mkdir /usr/local/src&lt;br /&gt;
&lt;br /&gt;
* grant rwx (read-write-execute) permissions for our userid/ groupid on the directory (replace words userid and groupid with real userid):&lt;br /&gt;
&lt;br /&gt;
 sudo chown ''userid'':''groupid'' /usr/local/src&lt;br /&gt;
 sudo chmod ug+rwx /usr/local/src&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PROJ4 ==&lt;br /&gt;
&lt;br /&gt;
* download '''proj-4.6.1.tar.gz''' and '''proj-datumgrid-1.4.zip''' from [http://trac.osgeo.org/proj http://trac.osgeo.org/proj]&lt;br /&gt;
* move '''proj-4.6.1.tar.gz''' to directory '''/usr/local/src''' and decompress&lt;br /&gt;
 mv proj-4.6.1.tar.gz /usr/local/src&lt;br /&gt;
 tar xzvf proj-4.6.1.tar.gz&lt;br /&gt;
&lt;br /&gt;
* move '''proj-datumgrid-1.4.tar.gz''' to '''proj/nad'''&lt;br /&gt;
 mv proj-datumgrid-1.4.tar.gz /usr/local/src/proj/nad&lt;br /&gt;
 unzip proj-datumgrid-1.4.zip&lt;br /&gt;
&lt;br /&gt;
* clean previous configuration &amp;amp; compilation&lt;br /&gt;
 make distclean&lt;br /&gt;
&lt;br /&gt;
* simple configure, compile and install&lt;br /&gt;
 ./configure  &amp;amp;&amp;amp;  make  &amp;amp;&amp;amp;  sudo make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GEOS ==&lt;br /&gt;
&lt;br /&gt;
* download '''geos-3.1.1.tar.bz2''' from [http://trac.osgeo.org/geos/ http://trac.osgeo.org/geos], move to &amp;quot;source-code&amp;quot; directory and decompress&lt;br /&gt;
 bunzip geos-3.1.1.tar.bz2&lt;br /&gt;
 tar xvf  geos-3.1.1.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* clean previous configuration &amp;amp; compilation &lt;br /&gt;
 make distclean&lt;br /&gt;
&lt;br /&gt;
* simple configure, compile and install&lt;br /&gt;
 ./configure  &amp;amp;&amp;amp;  make  &amp;amp;&amp;amp;  sudo make install&lt;br /&gt;
&lt;br /&gt;
* Ensure that '''/usr/local/lib''' is added to '''/etc/ld.so.conf''' and run '''/sbin/ldconfig''' afterwards&lt;br /&gt;
 sudo ldconfig&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GDAL ==&lt;br /&gt;
&lt;br /&gt;
* '''Note:''' must compile '''without''' GRASS support&lt;br /&gt;
&lt;br /&gt;
* download current stable version (skip this if code already available)&lt;br /&gt;
 svn checkout https://svn.osgeo.org/gdal/branches/1.6/gdal gdal&lt;br /&gt;
&lt;br /&gt;
* enter in directory '''gdal_stable''' (and, optionally, update the source code by executing '''svn up''')&lt;br /&gt;
 cd /usr/local/src/gdal_stable&lt;br /&gt;
 svn up&lt;br /&gt;
&lt;br /&gt;
* clean previous configurations/compilations&lt;br /&gt;
 make distclean&lt;br /&gt;
&lt;br /&gt;
* configure&lt;br /&gt;
 CFLAGS=&amp;quot;-g -Wall&amp;quot; LDFLAGS=&amp;quot;-s&amp;quot; ./configure \&lt;br /&gt;
 --with-png=internal \&lt;br /&gt;
 --with-libtiff=internal \&lt;br /&gt;
 --with-geotiff=internal \&lt;br /&gt;
 --with-jpeg=internal \&lt;br /&gt;
 --with-gif=internal \&lt;br /&gt;
 --with-ecw=yes \&lt;br /&gt;
 --with-expat=yes \&lt;br /&gt;
 --with-expat-inc=/usr/include/ \&lt;br /&gt;
 --with-expat-lib=/usr/lib \&lt;br /&gt;
 --with-sqlite3=yes \&lt;br /&gt;
 --with-geos=yes \&lt;br /&gt;
 --with-python \&lt;br /&gt;
 --with-libz=internal \&lt;br /&gt;
 --with-netcdf \&lt;br /&gt;
 --with-sqlite \&lt;br /&gt;
 --with-threads=yes \&lt;br /&gt;
 --without-grass  \&lt;br /&gt;
 --without-ogdi \&lt;br /&gt;
 --with-pg=/usr/bin/pg_config \&lt;br /&gt;
 --with-xerces=yes&lt;br /&gt;
&lt;br /&gt;
* compile &amp;amp; install &amp;amp; ldconfig&lt;br /&gt;
 make  &amp;amp;&amp;amp;  sudo make install  &amp;amp;&amp;amp;  sudo ldconfig&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GRASS ==&lt;br /&gt;
&lt;br /&gt;
''' Getting GRASS' source code '''&lt;br /&gt;
&lt;br /&gt;
* download current 6.5.0 development branch from GRASS SVN repository in a directory on the system (e.g. /usr/local/src)&lt;br /&gt;
 svn checkout https://svn.osgeo.org/grass/grass/branches/develbranch_6 grass6_devel&lt;br /&gt;
&lt;br /&gt;
* The above command places GRASS' source code in '''/usr/local/src/grass6_devel'''. In case of a subsequent update execute the command '''svn up''' from within the '''grass_trunk''' directory&lt;br /&gt;
&lt;br /&gt;
* for latest development branch version of GRASS 7 and other versions follow instructions at [http://trac.osgeo.org/grass/wiki/DownloadSource Downloading GRASS Source]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''Before''' attempting to compile GRASS, READ section (C) in the '''INSTALL''' file located in the main directory of GRASS source code entitled:&lt;br /&gt;
'''(C) COMPILATION NOTES for 64bit platforms'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Suport for ffmpeg'''&lt;br /&gt;
&lt;br /&gt;
* add extra dependencies to get ffmpeg support when compiling grass' source code under Ubuntu 64bit&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install \&lt;br /&gt;
 ffmpeg ffmpeg2theora \&lt;br /&gt;
 libffmpegthumbnailer-dev \&lt;br /&gt;
 libavcodec-dev \&lt;br /&gt;
 libxmu-dev \&lt;br /&gt;
 libavformat-dev libswscale-dev&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Suport for motif/lesstif (xganim)'''&lt;br /&gt;
&lt;br /&gt;
* add extra dependencies to get motif/lesstif support when compiling grass' source code under Ubuntu 64bit&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install lesstif2-dev&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''go for GRASS!'''&lt;br /&gt;
* in our example we used the /usr/local/src directory to store GRASS' source code, so:&lt;br /&gt;
 cd /usr/local/src/grass6_devel&lt;br /&gt;
&lt;br /&gt;
* configuration&lt;br /&gt;
 CFLAGS=&amp;quot;-g&amp;quot; ./configure \&lt;br /&gt;
 --enable-debug \&lt;br /&gt;
 --enable-64bit \&lt;br /&gt;
 --with-libs=/usr/lib64 \&lt;br /&gt;
 --with-cxx \&lt;br /&gt;
 --with-freetype=yes \&lt;br /&gt;
 --with-freetype-includes=&amp;quot;/usr/include/freetype2/&amp;quot; \&lt;br /&gt;
 --with-postgres=no \&lt;br /&gt;
 --with-sqlite=yes \&lt;br /&gt;
 --enable-largefile=yes \&lt;br /&gt;
 --with-tcltk-includes=&amp;quot;/usr/include/tcl8.4/&amp;quot; \&lt;br /&gt;
 --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
 --with-opengl-libs=/usr/include/GL \&lt;br /&gt;
 --with-readline \&lt;br /&gt;
 --with-python=/usr/bin/python2.5-config \&lt;br /&gt;
 --with-proj-share=/usr/local/share/proj/ \&lt;br /&gt;
 --with-wxwidgets \&lt;br /&gt;
 --with-cairo \&lt;br /&gt;
 --with-ffmpeg=yes \&lt;br /&gt;
 --with-ffmpeg-includes=&amp;quot;/usr/include/mythtv/ffmpeg/ /usr/include/libavcodec /usr/include/libavformat /usr/include/libswscale&amp;quot; \&lt;br /&gt;
 --with-motif&lt;br /&gt;
&lt;br /&gt;
* compilation&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
* installation&lt;br /&gt;
 sudo make install  &amp;amp;&amp;amp;  sudo ldconfig&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GDAL-GRASS-PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
* get the plugin from [http://download.osgeo.org/gdal http://download.osgeo.org/gdal] [http://download.osgeo.org/gdal/gdal-grass-1.4.3.tar.gz gdal-grass-1.4.3.tar.gz]&lt;br /&gt;
* create grass6.conf or add in ld.so.conf the GRASS library path&lt;br /&gt;
&lt;br /&gt;
* clean previous configurations/compilations&lt;br /&gt;
 make distclean&lt;br /&gt;
&lt;br /&gt;
* configure (change to '''grass_trunk''' if compiling against GRASS version 7)&lt;br /&gt;
 ./configure \&lt;br /&gt;
 --prefix=/usr/local \&lt;br /&gt;
 --with-gdal=/usr/local/bin/gdal-config \&lt;br /&gt;
 --with-grass=/usr/local/grass-6.5.svn/ \&lt;br /&gt;
 --with-autoload=&amp;quot;/usr/local/lib/gdalplugins/&amp;quot; \&lt;br /&gt;
 --with-ld-shared=&amp;quot;g++ -shared&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* compile &amp;amp; install&lt;br /&gt;
 make  &amp;amp;&amp;amp;  sudo make install&lt;br /&gt;
&lt;br /&gt;
* launch GRASS&lt;br /&gt;
 grass65&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Post compilation/installation control =&lt;br /&gt;
&lt;br /&gt;
* in case of errors in future compilation attempts, remember to remove program binaries and files created with the &amp;quot;configuration&amp;quot; from previous compilations with&lt;br /&gt;
 make distclean&lt;br /&gt;
&lt;br /&gt;
* another common mistake is compiling a module against some GRASS version and then try to run it through another GRASS version. The solution is to recompile the affected module or, in case there are multiple GRASS installations, set up properly LD_LIBRARY_PATH paths.&lt;br /&gt;
&lt;br /&gt;
* for a (recommended) quick-check read the [http://grass.osgeo.org/wiki/Compile_and_install_GRASS_and_QGIS_with_GDAL/OGR_Plugin#Troubleshooting Troubleshooting] section found at [http://grass.osgeo.org/wiki/Compile_and_install_GDAL-GRASS_plugin Compile_and_install_GDAL-GRASS_plugin]&lt;br /&gt;
&lt;br /&gt;
[[Category: Installation]]&lt;/div&gt;</summary>
		<author><name>⚠️Yogi</name></author>
	</entry>
</feed>