GFOSS.it Live DVD Install

Steps for configuring and installing. Based on SIDUX Linux platform. (this note works on Debian too, and everytime you do an upgrade see what you are updating ... because it can break the source installation ;-) )

Update Distribution
If this is a new SIDUX install, you likely need to upgrade a bunch of stuff.
 * exit desktop GUI, shutdown gdm using command:
 * init 3
 * sudo apt-get update
 * sudo apt-get dist-upgrade
 * restart desktop whenever you want:
 * init 5 && exit

Add Main Dependencies
This is all one loooong line su apt-get install subversion build-essential python-dev lesstif2 libfftw3-3 libgeos-3.1.0 libgeos-c1 libhdf4g libhdf5-serial-1.6.6-0 libicu40 libmysqlclient15off libnetcdf4 libogdi3.2 libpq5 libproj-dev libproj0 libwxbase2.8-0 libwxgtk2.8-0 libxerces-c28 libxp6 mysql-common odbcinst1debian1 proj-data tk8.5 unixodbc comerr-dev libaudio2  libcurl4-gnutls-dev libgcrypt11-dev libgeos-dev libgif-dev libgnutls-dev libgpg-error-dev libgssrpc4 libhdf4g-dev libhdf5-serial-dev libidn11-dev libjasper-dev libjpeg62-dev  libkadm5srv6 libkdb5-4 libkrb5-dev libldap2-dev libltdl-dev libmysqlclient15-dev libnetcdf-dev libodbcinstq1c2 libpng12-dev libpq-dev libqt3-mt libsqlite3-dev libssl-dev  libtasn1-3-dev libtiff4-dev libtiffxx0c2 libxerces-c2-dev pkg-config unixodbc-dev zlib1g-dev libqt4-core libqt4-dev libqt4-gui libqt4-qt3support libqt4-sql lsb-qt4 qt4-designer  qt4-dev-tools qt4-doc qt4-qtconfig uim-qt gcc libapt-pkg-perl resolvconf libgsl0-dev g++ ccache make flex bison cmake txt2tags python-qt4 python-qt4-dev python-sip4 sip4  python-sip4-dev postgresql-8.3-postgis osm2pgsql phppgadmin libexpat1-dev libspatialite-dev spatialite-bin tk8.5-dev tcl8.5-dev libreadline5-dev libfreetype6-dev libcairo2-dev  ffmpeg libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libswscale-dev libglu1-mesa-dev libgl1-mesa-dev mesa-common-dev libcoin40c2 libgeotiff-dev geotiff-bin  nano cmake-curses-gui libfftw3-dev python-wxgtk2.8 libwxbase2.8-dev libwxgtk2.8-dev python-opengl swig  libxmu-dev libavdevice-dev libxmu-dev libavdevice-dev libgnutls-dev  libqt4-opengl-dev python-pygame python-serial python-psycopg2 python-simplejson python-qwt5-qt4 python-qwt3d-qt4 python-pysqlite2 python-scipy python-matplotlib  python-simpleparse python-qt4-sql r-base-dev python-rpy2 paraview gedit ipython jam doxygen pommed apt-get clean

Here it is split but only for display purposes: su apt-get install subversion build-essential python-dev lesstif2 libfftw3-3 libgeos-3.1.0 \ libgeos-c1 libhdf4g libhdf5-serial-1.6.6-0 libicu40 libmysqlclient15off libnetcdf4 \ libogdi3.2 libpq5 libproj-dev libproj0 libwxbase2.8-0 libwxgtk2.8-0 libxerces-c28 \ libxp6 mysql-common odbcinst1debian1 proj-data tk8.5 unixodbc comerr-dev libaudio2 \ libcurl4-gnutls-dev libgcrypt11-dev libgeos-dev libgif-dev libgnutls-dev \ libgpg-error-dev libgssrpc4 libhdf4g-dev libhdf5-serial-dev libidn11-dev \ libjasper-dev libjpeg62-dev libkadm5srv6 libkdb5-4 libkrb5-dev libldap2-dev \ libltdl-dev libmysqlclient15-dev libnetcdf-dev libodbcinstq1c2 libpng12-dev \ libpq-dev libqt3-mt libsqlite3-dev libssl-dev libtasn1-3-dev libtiff4-dev \ libtiffxx0c2 libxerces-c2-dev pkg-config unixodbc-dev zlib1g-dev libqt4-core \ libqt4-dev libqt4-gui libqt4-qt3support libqt4-sql lsb-qt4 qt4-designer \ qt4-dev-tools qt4-doc qt4-qtconfig uim-qt gcc libapt-pkg-perl resolvconf libgsl0-dev \ g++ ccache make flex bison cmake txt2tags python-qt4 python-qt4-dev python-sip4 sip4 \ python-sip4-dev postgresql-8.3-postgis osm2pgsql phppgadmin libexpat1-dev libspatialite-dev \ spatialite-bin tk8.5-dev tcl8.5-dev libreadline5-dev libfreetype6-dev libcairo2-dev \ ffmpeg libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libswscale-dev \ libglu1-mesa-dev libgl1-mesa-dev mesa-common-dev libcoin40c2 libgeotiff-dev geotiff-bin \ nano cmake-curses-gui libfftw3-dev python-wxgtk2.8 libwxbase2.8-dev libwxgtk2.8-dev python-opengl \ swig libxmu-dev libavdevice-dev libxmu-dev libavdevice-dev libgnutls-dev libqt4-opengl-dev \ python-pygame python-serial python-psycopg2 python-simplejson python-qwt5-qt4 python-qwt3d-qt4 \ python-pysqlite2 python-scipy python-matplotlib python-simpleparse python-qt4-sql r-base-dev \ python-rpy2 paraview gedit ipython pommed

The ffmpeg install include files in a non standard place so a symbolic link for each include file is needed :

mkdir /usr/include/ffmpeg ln -s /usr/include/libavcodec/avcodec.h /usr/include/libavcodec/opt.h /usr/include/libavcodec/vdpau.h /usr/include/libavcodec/xvmc.h /usr/include/libavdevice/avdevice.h /usr/include/libavfilter/avfilter.h /usr/include/libavformat/avformat.h /usr/include/libavformat/avio.h /usr/include/libavutil/adler32.h /usr/include/libavutil/avstring.h /usr/include/libavutil/avutil.h /usr/include/libavutil/base64.h /usr/include/libavutil/common.h /usr/include/libavutil/crc.h /usr/include/libavutil/fifo.h /usr/include/libavutil/intfloat_readwrite.h /usr/include/libavutil/log.h /usr/include/libavutil/lzo.h /usr/include/libavutil/mathematics.h /usr/include/libavutil/md5.h /usr/include/libavutil/mem.h /usr/include/libavutil/pixfmt.h /usr/include/libavutil/random.h /usr/include/libavutil/rational.h /usr/include/libavutil/sha1.h /usr/include/libswscale/swscale.h /usr/include/ffmpeg/

to have linked the libraries in /usr/local/lib and the files we'll install from source, we need to add configuration files in /etc/ld.so.conf.d/, so in a terminal :

su touch /etc/ld.so.conf.d/local.conf echo "/usr/local/lib" >> /etc/ld.so.conf.d/local.conf echo "/usr/local/lib64" >> /etc/ld.so.conf.d/local.conf touch /etc/ld.so.conf.d/grass.conf echo "/usr/local/grass-7.0.svn/lib" >> /etc/ld.so.conf.d/grass.conf ldconfig exit

Checkout GFOSS Apps
Downloading the code from SVN repositories for GRASS, GDAL/OGR, QGIS, OpenSceneGraph (to support OssimPlanet), OSSIM

GDAL/OGR
cd /usr/local/src svn checkout https://svn.osgeo.org/gdal/trunk/gdal gdal cd gdal ./configure --with-python --with-geos=/usr/bin/geos-config --with-libtiff=internal --with-mysql --with-ogdi make su make install exit

GRASS GIS
You can chose to build *one of* the 6.5-devel versions or the latest dev-release 7.0. (adapt the file: "etc/ld.so.conf.d/grass.conf" to match your grass version - [7.0] : /usr/local/grass-7.0.svn/lib - [6.5]: /usr/local/grass-6.5.svn/lib )

- version : 6.5 svn checkout https://svn.osgeo.org/grass/grass/branches/develbranch_6 grass6_devel ./configure --with-tcltk-includes=/usr/include/tcl8.5/ --with-freetype-includes=/usr/include/freetype2/ --with-cxx --enable-64bit --with-geos --with-ffmpeg --with-mysql --with-postgres --with-postgres-includes=/usr/include/postgresql/ --with-mysql-includes=/usr/include/mysql/ --with-ffmpeg-includes=/usr/include/ffmpeg/ --with-odbc --with-python --with-sqlite --with-wxwidgets=/usr/bin/wx-config --with-readline --enable-largefile --with-proj-share=/usr/share/proj make su make install exit

- version : 7.0 cd /usr/local/src svn checkout https://svn.osgeo.org/grass/grass/trunk grass_trunk ./configure --with-tcltk-includes=/usr/include/tcl8.5/ --with-freetype-includes=/usr/include/freetype2/ --with-cxx --enable-64bit --with-geos --with-ffmpeg --with-mysql --with-postgres --with-postgres-includes=/usr/include/postgresql/ --with-mysql-includes=/usr/include/mysql/ --with-ffmpeg-includes=/usr/include/ffmpeg/ --with-odbc --with-python --with-sqlite --with-wxwidgets=/usr/bin/wx-config --with-pthread --with-readline --enable-largefile make su make install exit

GDAL-GRASS Plug-In
cd /usr/local/src/gdal/frmts/grass make dist ./configure --with-gdal=/usr/local/bin/gdal-config --with-grass=/usr/local/grass-7.0.svn/ # (check the version match) make su make install exit
 * 1) this will generate a tar.gz file contains the gdal-grass plug-in, untar it somewhere
 * 2) cd in and configure it using :

QGIS
cd /usr/local/src svn co https://svn.osgeo.org/qgis/trunk/qgis qgis cd qgis mkdir build cd build ccmake .. # # ### # # # # # ### make su make install exit
 * 1) this command will open a text gui
 * 2) its usage is simple :
 * 3) - up/down arrow key to navigate the configurable options
 * 4) - enter key  to modify an option
 * 5) - c key to configure
 * 6) - g key to generate makefile
 * 1) changes the following var :
 * 1) BINDINGS_GLOBAL_INSTALL          ON
 * 1) CMAKE_BUILD_TYPE                 Debug
 * 1) GRASS_PREFIX                     /usr/local/grass-7.0.svn
 * 1) PEDANTIC                         ON
 * 1) press "c" to configure
 * 2) press "g" to generate makefile


 * 1) note : recently qgis has changed build system for grass-plug-in
 * 2)         it search the Q-Grass modules in a directory named :
 * 3)         mudules-6.4 / -6.3 , just copy : /usr/local/src/qgis/src/plugins/grass/modules-6.4 to
 * 4)         /usr/local/src/qgis/src/plugins/grass/modules-6.5
 * 5)         or modules-7.0 (based on the installed grass-version)
 * 6)         ... and test it, feedback to the qgis/grass lists is welcome

OpenSceneGraph
cd /usr/local/src svn co http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-2.8.2 OpenSceneGraph cd OpenSceneGraph mkdir build cd build ccmake .. make su make install exit
 * 1) press "c"
 * 2) press "g"

GPS Toolkit "GPSTK"
cd /usr/local/src svn checkout https://gpstk.svn.sourceforge.net/svnroot/gpstk cd gpstk/dev/ jam doxygen su jam install exit

OSSIM
First set some environmental variables needed for the build :

cd echo "export OSSIM_DEV_HOME=/usr/local/src/ossim" >> .bashrc echo "export OSSIM_HOME=/usr/local/src/ossim/ossim" >> .bashrc echo "export OSSIM_QT_HOME=/usr/local/src/ossim/ossim_qt" >> .bashrc echo "export OSSIM_LIB_DIR=/usr/local/src/ossim/ossim/lib/ossim" >> .bashrc echo "export OSSIM_INC_DIR=/usr/local/src/ossim/ossim/include" >> .bashrc

Download the source code :

cd /usr/local/src/ mkdir ossim cd ossim svn co http://svn.osgeo.org/ossim/trunk.

Install Ossim Core libraries :

cd ossim ./configure make su make install exit

Install libwms :

cd ../libwms make su make install exit

Install OssimPredator :

cd ../ossimPredator mkdir lib cd src OSSIM_HOME=/usr/local/src/ossim/ossim/ export OSSIM_HOME OSSIM_DEV_HOME=/usr/local/src/ossim/ export OSSIM_DEV_HOME make su make install exit
 * 1) add :  OSSIM_HOME=/usr/local/src/ossim/ossim  in the GNUmakefile then :

Install Ossim_Qt4 :

cd /usr/local/src/ossim/ossim_qt4 qmake ossim_qt4.pro make su make install exit

Install OssimPlanet : cd /usr/local/src/ossim/ossimPlanet make su make install exit

Install OssimPlanetQt :

cd ../ossimPlanetQt qmake ossimPlanetQt.pro make su make install exit

Install ossim_plugins : cd /usr/local/src/ossim_plugins nano make_opt.in

# GDAL_HOME=/usr/local # make make_options make cd ossim make cd ../png make cd ../contrib make cd ../registration make cd ../ossim make
 * 1) uncommend the GDAL_HOME varible to :
 * 1) ctr+x to save and exit from nano editor

Now ready to setup an ossim preference directory where we can store some local data :

cd mkdir .ossim cp -r $OSSIM_DEV_HOME/ossim_package_support/fonts .ossim/fonts cp -r $OSSIM_DEV_HOME/ossim_package_support/geoids .ossim/geoids cp -r $OSSIM_DEV_HOME/ossim_package_support/images .ossim/images cp -r $OSSIM_DEV_HOME/ossim_plugins/lib .ossim/plugins

Create a file called "ossim_preference" : Ossim_Preference is a file like :

plugin.file1: /usr/local/src/ossim/ossim_plugins/lib/libossimreg_plugin.so plugin.file2: /usr/local/src/ossim/ossim_plugins/lib/libossimgdal_plugin.so plugin.file3: /usr/local/src/ossim/ossim_plugins/lib/libossimcontrib_plugin.so plugin.file4: /usr/local/src/ossim/ossim_plugins/lib/libossim_plugin.so plugin.file5: /usr/local/src/ossim/ossim_plugins/lib/libossimpng_plugin.so

export it :

OSSIM_PREFS_FILE=/path/to/ossim_preference export OSSIM_PREFS_FILE