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 # this will generate a tar.gz file contains the gdal-grass plug-in, untar it somewhere # cd in and configure it using : ./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
QGIS
cd /usr/local/src svn co https://svn.osgeo.org/qgis/trunk/qgis qgis cd qgis mkdir build cd build ccmake .. # this command will open a text gui # its usage is simple : # - up/down arrow key to navigate the configurable options # - enter key to modify an option # - c key to configure # - g key to generate makefile # # changes the following var : # ### # # BINDINGS_GLOBAL_INSTALL ON # # CMAKE_BUILD_TYPE Debug # # GRASS_PREFIX /usr/local/grass-7.0.svn # # PEDANTIC ON # ### # press "c" to configure # press "g" to generate makefile make su make install exit
- note : recently qgis has changed build system for grass-plug-in
- it search the Q-Grass modules in a directory named :
- mudules-6.4 / -6.3 , just copy : /usr/local/src/qgis/src/plugins/grass/modules-6.4 to
- /usr/local/src/qgis/src/plugins/grass/modules-6.5
- or modules-7.0 (based on the installed grass-version)
- ... 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 .. # press "c" # press "g" make su make install exit
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 # add : OSSIM_HOME=/usr/local/src/ossim/ossim in the GNUmakefile then : 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
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
# uncommend the GDAL_HOME varible to : # GDAL_HOME=/usr/local # # ctr+x to save and exit from nano editor make make_options make cd ossim make cd ../png make cd ../contrib make cd ../registration make cd ../ossim make
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