Compile and Install Ubuntu: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 75: Line 75:
  make distclean
  make distclean


===== Current Development Branch =====
 
== Current 6.5.0 Development Branch version of GRASS 6 ==
= Current 6.5.0 Development Branch version of GRASS 6 =
This page shall help to install 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.
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.




Line 155: Line 155:
* simple configure, compile and install
* simple configure, compile and install
  ./configure  &&  make  &&  sudo make install
  ./configure  &&  make  &&  sudo make install




Line 174: Line 173:
* Ensure that you run /sbin/ldconfig afterwards
* Ensure that you run /sbin/ldconfig afterwards
  sudo ldconfig
  sudo ldconfig




Line 214: Line 212:
* compile & install & ldconfig
* compile & install & ldconfig
  make  &&  sudo make install  &&  sudo ldconfig
  make  &&  sudo make install  &&  sudo ldconfig


== GRASS ==
== GRASS ==
Line 243: Line 242:
  libavformat-dev libswscale-dev
  libavformat-dev libswscale-dev


====== '''go for GRASS!''' ======
 
'''go for GRASS!'''
* in our example we used the /usr/local/src directory to store GRASS' source code, so:
* in our example we used the /usr/local/src directory to store GRASS' source code, so:
  cd /usr/local/src/grass_trunk
  cd /usr/local/src/grass_trunk
Line 271: Line 271:
* compilation
* compilation
  make
  make
* compilation is expected to end with a statement similar to the following:
Started compilation: Wed Feb 27 00:24:36 CET 2008
--
Errors in:
No errors detected.


* installation
* installation
Line 306: Line 299:
* launch 64-bit GRASS
* launch 64-bit GRASS
  grass65
  grass65


'''Notes'''
'''Notes'''

Revision as of 12:08, 10 July 2009

This page shall help to install the latest GRASS on Ubuntu based systems.

Current Release Branch

The manual is based on Ubuntu 9.04.


Dependencies

Preparation

sudo apt-get update && sudo apt-get upgrade
  • install dependencies for compiling (in general) and dependencies for GRASS: PROJ, GDAL/OGR
sudo apt-get install grass build-essential flex bison libncurses5-dev zlib1g-dev libjpeg62-dev libgdal1-dev libtiff4-dev libgcc1 tcl8.4-dev tk8.4-dev fftw3-dev libfreetype6-dev libavcodec-dev libxmu-dev gdal-bin libgdal1-dev libreadline5 libreadline5-dev make python-dev python-wxversion swig libavutil-dev libavutil49 

sudo apt-get build-dep grass

  • install SQLite
sudo apt-get install sqlite3 libsqlite3-dev
  • install SVN
sudo apt-get install subversion
  • 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)
sudo mkdir /usr/local/src
  • grant rwx (read-write-execute) permissions for our userid/ groupid on the directory (replace words userid and groupid with real userid):
sudo chown userid:groupid /usr/local/src
sudo chmod ug+rwx /usr/local/src
  • download latest source code from GRASS SVN repository in a directory on the system (e.g. /usr/local/src)
svn checkout https://svn.osgeo.org/grass/grass/branches/releasebranch_6_4 grass_current
  • 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

Before attempting to compile GRASS, READ section (C) in the INSTALL file located in the main directory of GRASS source code entitled: (C) COMPILATION NOTES for 64bit platforms


go for GRASS!
  • in our example we used the /usr/local/src directory to store GRASS' source code, so:
cd /usr/local/src/grass_trunk
  • configuration
 CFLAGS="-g -Wall" ./configure --with-cxx --with-freetype=yes \
      --with-postgres=no --with-sqlite=yes --enable-largefile=yes \
      --with-tcltk-includes=/usr/include/tcl8.4 \
      --with-freetype-includes=/usr/include/freetype2 \
      --with-opengl-libs=/usr/include/GL --with-readline \
      --with-python=yes --program-suffix=-svn --with-proj-share=/usr/share/proj
  • compilation
make
  • compilation is expected to end with a statement similar to the following:
Started compilation: Wed Feb 27 00:24:36 CET 2008
--
Errors in:
No errors detected.
  • installation
sudo checkinstall
  • launch 64-bit GRASS.6.4.svn
grass64

Notes

  • in case of errors in future compilation attempts, remember to remove program binaries with
make clean
  • and the files created with the "configuration" from previous compilations with
make distclean


Current 6.5.0 Development Branch version of GRASS 6

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.


Dependencies

Preparation

sudo apt-get update && sudo apt-get upgrade
  • install SQLite, SVN and dependencies for compiling PROJ, GEOS, GDAL/OGR, GRASS, GDAL-GRASS-PLUGIN:
sudo apt-get install \
build-essential \
make \
flex \
bison \
gcc \
libgcc1 \
g++ \
cmake \
ccache \
swig swig1.3 \
python python-dev \
python3 python3-dev \
python-qt4 python-qt4-dev \
sip4 \
python-sip4 python-sip4-dev \
python-opengl \
libgsl0-dev \
python-wxversion python-wxtools \
python-wxgtk2.8 \
wx2.8-headers wx-common \
libwxgtk2.8-dev libwxgtk2.8-dbg \
libwxbase2.8-dev  libwxbase2.8-dbg \
ruby \
libncurses5-dev \
zlib1g-dev \
libjpeg62-dev \
libtiff4-dev \
libpngwriter-dev \
libhdf4g-dev libhdf4g-run \
tcl8.4-dev tk8.4-dev \
libcairo libcairo-dev \
sqlite3 libsqlite3-dev \
libpq-dev \
libreadline5 libreadline5-dev libfreetype6-dev \
txt2tags \
fftw3 fftw3-dev \
libqt4-core libqt4-dbg libqt4-dev libqt4-gui libqt4-sql
libqt4-qt3support \
lsb-qt4 qt4-designer qt4-dev-tools qt4-doc qt4-qtconfig \
libapt-pkg-perl resolvconf \
libjasper-dev \
subversion
  • 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)
sudo mkdir /usr/local/src
  • grant rwx (read-write-execute) permissions for our userid/ groupid on the directory (replace words userid and groupid with real userid):
sudo chown userid:groupid /usr/local/src
sudo chmod ug+rwx /usr/local/src


PROJ4

  • download proj-4.6.1.tar.gz and proj-datumgrid-1.4.zip from http://trac.osgeo.org/proj
  • move and decompress PROJ4 to /usr/local/src directory
tar xzvf proj-4.6.1.tar.gz
  • move proj-datumgrid-1.4.tar.gz to proj/nad
unzip proj-datumgrid-1.4.zip
  • clean previous configuration & compilation
make distclean
  • simple configure, compile and install
./configure  &&  make  &&  sudo make install


GEOS

bunzip geos-3.1.1.tar.bz2
tar xvf  geos-3.1.1.tar.bz2
  • clean previous configuration & compilation
make distclean
  • simple configure, compile and install
./configure  &&  make  &&  sudo make install  &&  sudo ldconfig
  • Ensure that /usr/local/lib is added to /etc/ld.so.conf
  • Ensure that you run /sbin/ldconfig afterwards
sudo ldconfig


GDAL

  • Must* compile without GRASS support
  • enter in directory gdal_stable
cd /usr/local/src/gdal_stable
  • download with svn ## or update with svn up
  • clean previous configurations/compilations
make distclean
  • configure
CFLAGS="-g -Wall" LDFLAGS="-s" ./configure \
--with-png=internal \
--with-libtiff=internal \
--with-geotiff=internal \
--with-jpeg=internal \
--with-gif=internal \
--with-ecw=yes \
--with-expat=yes \
--with-expat-inc=/usr/include/ \
--with-expat-lib=/usr/lib \
--with-sqlite3=yes \
--with-geos=yes \
--with-python \
--with-libz=internal \
--with-netcdf \
--with-sqlite \
--with-threads=yes \
--without-grass  \
--without-ogdi \
--with-pg=/usr/bin/pg_config \
--with-xerces=yes
  • compile & install & ldconfig
make  &&  sudo make install  &&  sudo ldconfig


GRASS

Getting GRASS' source code

  • download current 6.5.0 development branch from GRASS SVN repository in a directory on the system (e.g. /usr/local/src)
svn checkout https://svn.osgeo.org/grass/grass/branches/develbranch_6 grass6_devel
  • The above command places GRASS' source code in /usr/local/src/grass_trunk. In case of a subsequent update execute the command svn up from within the grass_trunk directory

Before attempting to compile GRASS, READ section (C) in the INSTALL file located in the main directory of GRASS source code entitled: (C) COMPILATION NOTES for 64bit platforms



Suport for ffmpeg

  • add extra dependencies to get ffmpeg support when compiling grass' source code under Ubuntu 64bit
sudo apt-get install \
ffmpeg ffmpeg2theora \
libffmpegthumbnailer-dev \
libavcodec-dev \
libxmu-dev \
libavformat-dev libswscale-dev


go for GRASS!

  • in our example we used the /usr/local/src directory to store GRASS' source code, so:
cd /usr/local/src/grass_trunk
  • configuration
CFLAGS="-g" ./configure \
--enable-debug \
--enable-64bit \
--with-libs=/usr/lib64 \
--with-cxx \
--with-freetype=yes \
--with-freetype-includes="/usr/include/freetype2/" \
--with-postgres=no \
--with-sqlite=yes \
--enable-largefile=yes \
--with-tcltk-includes="/usr/include/tcl8.4/" \
--with-freetype-includes=/usr/include/freetype2 \
--with-opengl-libs=/usr/include/GL \
--with-readline \
--with-python=yes \
--with-proj-share=/usr/local/share/proj/ \
--with-wxwidgets \
--with-cairo \
--with-ffmpeg=yes \
--with-ffmpeg-includes="/usr/include/mythtv/ffmpeg/ /usr/include/libavcodec /usr/include/libavformat /usr/include/libswscale"
  • compilation
make
  • installation
sudo make install  &&  sudo ldconfig


GDAL-GRASS-PLUGIN

  • clean previous configurations/compilations
make distclean
  • configure ##point to grass installation as needed
./configure \
--prefix=/usr/local \
--with-gdal=/usr/local/bin/gdal-config \
--with-grass=/usr/local/grass-6.5.svn/ \

--with-autoload="/usr/local/lib/gdalplugins/" \

--with-ld-shared="g++ -shared"
  • change to grass_trunk for grass7 if compiling GRASS version 7
  • compile & install
make  &&  sudo make install
  • launch 64-bit GRASS
grass65


Notes

  • in case of errors in future compilation attempts, remember to remove program binaries with
make clean
  • and the files created with the "configuration" from previous compilations with
make distclean