Skip to content

Commit

Permalink
documentation update
Browse files Browse the repository at this point in the history
git-svn-id: http://svn.osgeo.org/qgis/trunk@14468 c8812cc2-4d05-0410-92ff-de0c093fc19c
  • Loading branch information
jef committed Oct 31, 2010
1 parent 49874e1 commit 5740c91
Show file tree
Hide file tree
Showing 5 changed files with 142 additions and 106 deletions.
115 changes: 47 additions & 68 deletions INSTALL
Expand Up @@ -9,16 +9,14 @@ Last change: 20101028
3. Building on GNU/Linux
3.1. Building QGIS with Qt 4.x
3.2. Prepare apt
3.3. Install Qt4
3.4. Install additional software dependencies required by QGIS
3.5. GRASS Specific Steps
3.6. Setup ccache (Optional)
3.7. Prepare your development environment
3.8. Check out the QGIS Source Code
3.9. Starting the compile
3.10. Building Debian packages
3.11. Running QGIS
3.12. A practical case: Building QGIS and GRASS from source on Ubuntu with ECW and MrSID formats support
3.3. Install build dependencies
3.4. Setup ccache (Optional)
3.5. Prepare your development environment
3.6. Check out the QGIS Source Code
3.7. Starting the compile
3.8. Building Debian packages
3.9. Running QGIS
3.10. A practical case: Building QGIS and GRASS from source on Ubuntu with ECW and MrSID formats support
4. Building on Windows
4.1. Building with Microsoft Visual Studio
4.2. Building using MinGW
Expand Down Expand Up @@ -133,6 +131,10 @@ These instructions should work fine if this is a system that has already been
in use for a while, you may need to just skip those steps which are irrelevant
to you.

/!\ Note: Refer to the section ''Building Debian packages'' for building
debian packages. Unless you plan to develop on QGIS, that is probably the
easiest option to compile and install QGIS.


3.2. Prepare apt
================
Expand All @@ -153,14 +155,22 @@ Now update your local sources database:



3.3. Install Qt4
================
3.3. Install build dependencies
===============================


sudo apt-get install libqt4-core libqt4-debug \
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
|| Distribution | install command for packages |
| hardy | ``apt-get install bison cmake fcgi-dev flex grass-dev libexpat1-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libqt4-core libqt4-dev libqt4-gui libqt4-sql libsqlite3-dev proj pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip4 python-sip4-dev sip4`` |
| intrepid | ``apt-get install bison cmake flex grass-dev libexpat1-dev libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libqt4-core libqt4-dev libqt4-gui libqt4-sql libqwt5-qt4-dev libsqlite3-dev proj pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip4 python-sip4-dev sip4`` |
| jaunty | ``apt-get install bison cmake flex grass-dev libexpat1-dev libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libqt4-core libqt4-dev libqt4-gui libqt4-sql libqwt5-qt4-dev libsqlite3-dev proj pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip4 python-sip4-dev sip4`` |
| karmic | ``apt-get install bison cmake flex grass-dev libexpat1-dev libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libqt4-core libqt4-dev libqt4-gui libqt4-sql libqwt5-qt4-dev libsqlite3-dev proj pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip4 python-sip4-dev sip4`` |
| lenny | ``apt-get install bison cmake flex grass-dev libexpat1-dev libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libqt4-dev libqwt5-qt4-dev libsqlite3-dev pkg-config proj pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip4-dev sip4`` |
| lucid | ``apt-get install bison cmake flex grass-dev libexpat1-dev libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libproj-dev libqt4-dev libqwt5-qt4-dev libspatialite-dev libsqlite3-dev pkg-config pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip python-sip-dev`` |
| maverick | ``apt-get install bison cmake flex grass-dev libexpat1-dev libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libproj-dev libqt4-dev libqtwebkit-dev libqwt5-qt4-dev libspatialite-dev libsqlite3-dev pkg-config pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip python-sip-dev`` |
| sid | ``apt-get install bison cmake flex grass-dev libexpat1-dev libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libproj-dev libqt4-dev libqwt5-qt4-dev libspatialite-dev libsqlite3-dev pkg-config pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip python-sip-dev`` |
| squeeze | ``apt-get install bison cmake flex grass-dev libexpat1-dev libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libproj-dev libqt4-dev libqwt5-qt4-dev libspatialite-dev libsqlite3-dev pkg-config pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip python-sip-dev`` |

(extracted from the respective control files in debian/)

/!\ A Special Note: If you are following this set of instructions on
a system where you already have Qt3 development tools installed, there will
Expand Down Expand Up @@ -198,45 +208,12 @@ applications is used in all cases:
Use the simple command line dialog that appears after running each of the
above commands to select the Qt4 version of the relevant applications.


3.4. Install additional software dependencies required by QGIS
==============================================================


sudo apt-get install gdal-bin libgdal1-dev libgeos-dev proj \
libgdal-doc libhdf4g-dev libhdf4g-run python-dev \
libgsl0-dev g++ libjasper-dev libtiff4-dev subversion \
libsqlite3-dev sqlite3 ccache make libpq-dev flex bison cmake txt2tags \
python-qt4 python-qt4-dev python-sip4 sip4 python-sip4-dev


/!\ Debian users should use libgdal-dev above rather

/!\ Note: For python language bindings SIP >= 4.5 and PyQt4 >= 4.1 is required! Some stable GNU/Linux
distributions (e.g. Debian or SuSE) only provide SIP < 4.5 and PyQt4 < 4.1. To include support for python
language bindings you may need to build and install those packages from source.

If you do not have cmake installed already:


sudo apt-get install cmake



3.5. GRASS Specific Steps
=========================

/!\ Note: If you don't need to build with GRASS support, you can
skip this section.

Now you can install grass from dapper:


sudo apt-get install grass libgrass-dev



3.6. Setup ccache (Optional)
3.4. Setup ccache (Optional)
============================

You should also setup ccache to speed up compile times:
Expand All @@ -248,7 +225,7 @@ You should also setup ccache to speed up compile times:



3.7. Prepare your development environment
3.5. Prepare your development environment
=========================================

As a convention I do all my development work in $HOME/dev/<language>, so in
Expand All @@ -263,7 +240,7 @@ this:
This directory path will be assumed for all instructions that follow.


3.8. Check out the QGIS Source Code
3.6. Check out the QGIS Source Code
===================================

There are two ways the source can be checked out. Use the anonymous method
Expand Down Expand Up @@ -302,11 +279,9 @@ qgis.org certificate. Press 'p' to accept it permanently:



3.9. Starting the compile
3.7. Starting the compile
=========================

/!\ Note: The next section describes howto build debian packages

I compile my development version of QGIS into my ~/apps directory to avoid
conflicts with Ubuntu packages that may be under /usr. This way for example
you can use the binary packages of QGIS on your system along side with your
Expand Down Expand Up @@ -346,8 +321,8 @@ Now on with the build:
It may take a little while to build depending on your platform.


3.10. Building Debian packages
==============================
3.8. Building Debian packages
=============================

Instead of creating a personal installation as in the previous step you can
also create debian package. This is done from the qgis root directory, where
Expand Down Expand Up @@ -386,8 +361,8 @@ Install them using dpkg. E.g.:



3.11. Running QGIS
==================
3.9. Running QGIS
=================

Now you can try to run QGIS:

Expand All @@ -399,7 +374,7 @@ If all has worked properly the QGIS application should start up and appear
on your screen.


3.12. A practical case: Building QGIS and GRASS from source on Ubuntu with ECW and MrSID formats support
3.10. A practical case: Building QGIS and GRASS from source on Ubuntu with ECW and MrSID formats support
========================================================================================================

The following procedure has been tested on Ubuntu 8.04, 8.10 and 9.04 32bit. If you want
Expand All @@ -408,7 +383,7 @@ necessary adjustments to the following code. This guide assumes that you don't h
installed any previous version of gdal, grass and qgis.


3.12.1. Step 1: install base packages
3.10.1. Step 1: install base packages
=====================================

First you need to install the necessary packages required to download the source
Expand All @@ -419,7 +394,7 @@ code and compile it. Open the terminal and issue the following command:



3.12.2. Step 2: compile and install the ecw libraries
3.10.2. Step 2: compile and install the ecw libraries
=====================================================

Go to the ERDAS web site http://www.erdas.com/ and follow the links
Expand Down Expand Up @@ -460,7 +435,7 @@ leave the folder



3.12.3. Step 3: download the MrSID binaries
3.10.3. Step 3: download the MrSID binaries
===========================================

Go to the LIZARDTECH web site http://www.lizardtech.com/ and follow the links
Expand All @@ -471,7 +446,7 @@ then download the "'''GeoExpress SDK for Linux (x86) - gcc 4.1 32-bit'''"
Uncompress the downloaded file. The resulting directory name should be similar to "Geo_DSDK-7.0.0.2167"


3.12.4. Step 4: compile and install the gdal libraries
3.10.4. Step 4: compile and install the gdal libraries
======================================================

Download the latest gdal source code
Expand Down Expand Up @@ -548,7 +523,7 @@ leave the folder



3.12.5. Step 5: compile and install GRASS
3.10.5. Step 5: compile and install GRASS
=========================================

Before downloading and compile GRASS source code you need to install a few
Expand All @@ -570,7 +545,8 @@ For example the GRASS 6.4rc4 is available at http://grass.itc.it/grass64/source/
Uncompress the arquive, enter the newly created folder and run configure with a few specific parameters


CFLAGS="-fexceptions" ./configure --with-tcltk-includes=/usr/include/tcl8.4 --with-proj-share=/usr/share/proj --with-gdal=/usr/local/bin/gdal-config --with-python=/usr/bin/python2.5-config
CFLAGS="-fexceptions" ./configure --with-tcltk-includes=/usr/include/tcl8.4 --with-proj-share=/usr/share/proj --with-gdal=/usr/local/bin/gdal-config \
--with-python=/usr/bin/python2.5-config


The additional gcc option -fexceptions is necessary to enable exceptions support in GRASS libraries. It is currently the only way to avoid QGIS crashes if a fatal error happens in GRASS library. See also http://trac.osgeo.org/grass/ticket/869
Expand Down Expand Up @@ -601,7 +577,7 @@ may want to give it a try



3.12.6. Step 6: compile and install QGIS
3.10.6. Step 6: compile and install QGIS
========================================

As for GRASS you can obtain the QGIS source code from different sources,
Expand Down Expand Up @@ -712,7 +688,7 @@ Advanced Installation):
- expat
- fcgi
- gdal17
- grass-devel-vc
- grass
- gsl-devel
- iconv
- pyqt4
Expand Down Expand Up @@ -1147,7 +1123,10 @@ Run these commands:


export PATH="/usr/local/bin:/usr/local/lib:$PATH"
./configure --prefix=/usr/local --bindir=/usr/local --with-includes=/usr/local/include --with-libs=/usr/local/lib --with-cxx --without-jpeg --without-tiff --with-postgres=yes --with-postgres-includes=/local/pgsql/include --with-pgsql-libs=/local/pgsql/lib --with-opengl=windows --with-fftw --with-freetype --with-freetype-includes=/mingw/include/freetype2 --without-x --without-tcltk --enable-x11=no --enable-shared=yes --with-proj-share=/usr/local/share/proj
./configure --prefix=/usr/local --bindir=/usr/local --with-includes=/usr/local/include --with-libs=/usr/local/lib --with-cxx --without-jpeg \
--without-tiff --with-postgres=yes --with-postgres-includes=/local/pgsql/include --with-pgsql-libs=/local/pgsql/lib --with-opengl=windows --with-fftw \
--with-freetype --with-freetype-includes=/mingw/include/freetype2 --without-x --without-tcltk --enable-x11=no --enable-shared=yes \
--with-proj-share=/usr/local/share/proj
make
make install

Expand Down
55 changes: 19 additions & 36 deletions doc/linux.t2t
Expand Up @@ -19,6 +19,10 @@ These instructions should work fine if this is a system that has already been
in use for a while, you may need to just skip those steps which are irrelevant
to you.

/!\ **Note:** Refer to the section ''Building Debian packages'' for building
debian packages. Unless you plan to develop on QGIS, that is probably the
easiest option to compile and install QGIS.

== Prepare apt ==

The packages qgis depends on to build are available in the "universe" component
Expand All @@ -37,13 +41,20 @@ sudo apt-get update
```


== Install Qt4 ==
== Install build dependencies ==

```
sudo apt-get install libqt4-core libqt4-debug \
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
```
|| Distribution | install command for packages |
| hardy | ``apt-get install bison cmake fcgi-dev flex grass-dev libexpat1-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libqt4-core libqt4-dev libqt4-gui libqt4-sql libsqlite3-dev proj pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip4 python-sip4-dev sip4`` |
| intrepid | ``apt-get install bison cmake flex grass-dev libexpat1-dev libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libqt4-core libqt4-dev libqt4-gui libqt4-sql libqwt5-qt4-dev libsqlite3-dev proj pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip4 python-sip4-dev sip4`` |
| jaunty | ``apt-get install bison cmake flex grass-dev libexpat1-dev libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libqt4-core libqt4-dev libqt4-gui libqt4-sql libqwt5-qt4-dev libsqlite3-dev proj pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip4 python-sip4-dev sip4`` |
| karmic | ``apt-get install bison cmake flex grass-dev libexpat1-dev libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libqt4-core libqt4-dev libqt4-gui libqt4-sql libqwt5-qt4-dev libsqlite3-dev proj pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip4 python-sip4-dev sip4`` |
| lenny | ``apt-get install bison cmake flex grass-dev libexpat1-dev libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libqt4-dev libqwt5-qt4-dev libsqlite3-dev pkg-config proj pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip4-dev sip4`` |
| lucid | ``apt-get install bison cmake flex grass-dev libexpat1-dev libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libproj-dev libqt4-dev libqwt5-qt4-dev libspatialite-dev libsqlite3-dev pkg-config pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip python-sip-dev`` |
| maverick | ``apt-get install bison cmake flex grass-dev libexpat1-dev libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libproj-dev libqt4-dev libqtwebkit-dev libqwt5-qt4-dev libspatialite-dev libsqlite3-dev pkg-config pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip python-sip-dev`` |
| sid | ``apt-get install bison cmake flex grass-dev libexpat1-dev libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libproj-dev libqt4-dev libqwt5-qt4-dev libspatialite-dev libsqlite3-dev pkg-config pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip python-sip-dev`` |
| squeeze | ``apt-get install bison cmake flex grass-dev libexpat1-dev libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libproj-dev libqt4-dev libqwt5-qt4-dev libspatialite-dev libsqlite3-dev pkg-config pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip python-sip-dev`` |

(extracted from the respective control files in ``debian/``)

/!\ **A Special Note:** If you are following this set of instructions on
a system where you already have Qt3 development tools installed, there will
Expand Down Expand Up @@ -81,37 +92,10 @@ sudo update-alternatives --config linguist
Use the simple command line dialog that appears after running each of the
above commands to select the Qt4 version of the relevant applications.

== Install additional software dependencies required by QGIS ==

```
sudo apt-get install gdal-bin libgdal1-dev libgeos-dev proj \
libgdal-doc libhdf4g-dev libhdf4g-run python-dev \
libgsl0-dev g++ libjasper-dev libtiff4-dev subversion \
libsqlite3-dev sqlite3 ccache make libpq-dev flex bison cmake txt2tags \
python-qt4 python-qt4-dev python-sip4 sip4 python-sip4-dev
```

/!\ Debian users should use libgdal-dev above rather

/!\ **Note:** For python language bindings SIP >= 4.5 and PyQt4 >= 4.1 is required! Some stable GNU/Linux
distributions (e.g. Debian or SuSE) only provide SIP < 4.5 and PyQt4 < 4.1. To include support for python
language bindings you may need to build and install those packages from source.

If you do not have cmake installed already:
```
sudo apt-get install cmake
```

== GRASS Specific Steps ==

/!\ **Note:** If you don't need to build with GRASS support, you can
skip this section.

Now you can install grass from dapper:

```
sudo apt-get install grass libgrass-dev
```

== Setup ccache (Optional) ==

Expand Down Expand Up @@ -176,8 +160,6 @@ Error validating server certificate for 'https://svn.qgis.org:443':

== Starting the compile ==

/!\ **Note:** The next section describes howto build debian packages

I compile my development version of QGIS into my ~/apps directory to avoid
conflicts with Ubuntu packages that may be under /usr. This way for example
you can use the binary packages of QGIS on your system along side with your
Expand Down Expand Up @@ -426,7 +408,8 @@ For example the GRASS 6.4rc4 is available at http://grass.itc.it/grass64/source/
Uncompress the arquive, enter the newly created folder and run configure with a few specific parameters

```
CFLAGS="-fexceptions" ./configure --with-tcltk-includes=/usr/include/tcl8.4 --with-proj-share=/usr/share/proj --with-gdal=/usr/local/bin/gdal-config --with-python=/usr/bin/python2.5-config
CFLAGS="-fexceptions" ./configure --with-tcltk-includes=/usr/include/tcl8.4 --with-proj-share=/usr/share/proj --with-gdal=/usr/local/bin/gdal-config \
--with-python=/usr/bin/python2.5-config
```

The additional gcc option -fexceptions is necessary to enable exceptions support in GRASS libraries. It is currently the only way to avoid QGIS crashes if a fatal error happens in GRASS library. See also http://trac.osgeo.org/grass/ticket/869
Expand Down
2 changes: 1 addition & 1 deletion doc/msvc.t2t
Expand Up @@ -44,7 +44,7 @@ For the QGIS build you need to install following packages from OSGeo4W (select
- expat
- fcgi
- gdal17
- grass-devel-vc
- grass
- gsl-devel
- iconv
- pyqt4
Expand Down
5 changes: 4 additions & 1 deletion doc/msys.t2t
Expand Up @@ -289,7 +289,10 @@ In MSYS console go to the directory where you've unpacked or checked out sources
Run these commands:
```
export PATH="/usr/local/bin:/usr/local/lib:$PATH"
./configure --prefix=/usr/local --bindir=/usr/local --with-includes=/usr/local/include --with-libs=/usr/local/lib --with-cxx --without-jpeg --without-tiff --with-postgres=yes --with-postgres-includes=/local/pgsql/include --with-pgsql-libs=/local/pgsql/lib --with-opengl=windows --with-fftw --with-freetype --with-freetype-includes=/mingw/include/freetype2 --without-x --without-tcltk --enable-x11=no --enable-shared=yes --with-proj-share=/usr/local/share/proj
./configure --prefix=/usr/local --bindir=/usr/local --with-includes=/usr/local/include --with-libs=/usr/local/lib --with-cxx --without-jpeg \
--without-tiff --with-postgres=yes --with-postgres-includes=/local/pgsql/include --with-pgsql-libs=/local/pgsql/lib --with-opengl=windows --with-fftw \
--with-freetype --with-freetype-includes=/mingw/include/freetype2 --without-x --without-tcltk --enable-x11=no --enable-shared=yes \
--with-proj-share=/usr/local/share/proj
make
make install
```
Expand Down

0 comments on commit 5740c91

Please sign in to comment.