Compile and Install
How to do compilation and installation of GRASS 6?
Here we explain the procedure to compile GRASS from CVS, but it also applies to official GRASS 6 releases. For installation of for binary packages, see instead Installation Guide.
Prerequisites
GRASS needs at least two extra libraries:
- PROJ4 for management of projections
- GDAL/OGR for reading and writing various GIS data formats (interoperability)
You have to install these two libraries first.
Compilation and installation procedure
- checkout the grass6 module from cvs (read http://grass.itc.it/faq/cvs_howto.html grass CVS howto instructions)
- 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/cvs) just follow this:
cd /usr/local/src/cvs su -c 'mkdir grass6' su -c 'chown yourlogin:yourgroup grass6'
- do a checkout (co) of the repository
cvs -z3 co grass6
- in the grass6 directory, you will find the precious INSTALL file, open it with your favourite pager/editor and read it carefully!
- run configure with parameters to adapt the compile process to your own system. To see what options can be passed to it, run configure --help. The minimum set of configure parameters is (refers to GRASS 6 from CVS, not to 6.x release):
./configure
It may (!) look like this:
./configure \ --with-cxx \ --with-sqlite \ --with-postgres-libs=/usr/include/pgsql/libpq --with-postgres-includes=/usr/include/pgsql \ --with-freetype --with-freetype-includes=/usr/include/freetype2 \ --with-motif --with-glw
Please note that the paths mentioned may widely vary due to the distribution used
- Let's compile it (takes a little while...)!
make
- Once the installation process is finished, you're ready to install GRASS system wide.
su -c 'make install'
- enjoy GRASS:
grass61
What else?
If you want to use QGIS, then also compile the GRASS-GDAL/OGR plugin:
- Compile and install GRASS and QGIS with GDAL/OGR Plugin (enables QGIS to read GRASS data directly)