[QGIS Commit] r13060 - in trunk/qgis: . doc

svn_qgis at osgeo.org svn_qgis at osgeo.org
Mon Mar 15 15:49:27 EDT 2010


Author: rblazek
Date: 2010-03-15 15:49:27 -0400 (Mon, 15 Mar 2010)
New Revision: 13060

Modified:
   trunk/qgis/INSTALL
   trunk/qgis/doc/INSTALL.t2t
Log:
GDAL-GRASS driver no more necessary, new requirement: exceptions support for GRASS

Modified: trunk/qgis/INSTALL
===================================================================
--- trunk/qgis/INSTALL	2010-03-15 19:25:02 UTC (rev 13059)
+++ trunk/qgis/INSTALL	2010-03-15 19:49:27 UTC (rev 13060)
@@ -63,8 +63,7 @@
       5.12.3. Step 3: download the MrSID binaries
       5.12.4. Step 4: compile and install the gdal libraries
       5.12.5. Step 5: compile and install GRASS
-      5.12.6. Step 6: compile and install the GDAL-GRASS libraries
-      5.12.7. Step 6: compile and install QGIS
+      5.12.6. Step 6: compile and install QGIS
   6. Creation of MSYS environment for compilation of Quantum GIS
     6.1. Initial setup
       6.1.1. MSYS
@@ -72,14 +71,12 @@
       6.1.3. Flex and Bison
     6.2. Installing dependencies
       6.2.1. Getting ready
-      6.2.2. GDAL level one
-      6.2.3. GRASS
-      6.2.4. GDAL level two
-      6.2.5. GEOS
-      6.2.6. SQLITE
-      6.2.7. GSL
-      6.2.8. EXPAT
-      6.2.9. POSTGRES
+      6.2.2. GRASS
+      6.2.3. GEOS
+      6.2.4. SQLITE
+      6.2.5. GSL
+      6.2.6. EXPAT
+      6.2.7. POSTGRES
     6.3. Cleanup
   7. Building with MS Visual Studio
     7.1. Setup Visual Studio
@@ -190,7 +187,7 @@
 * GDAL/OGR >= 1.4.x
 
 '''Optional dependencies:'''
-* for GRASS plugin - GRASS >= 6.0.0
+* for GRASS plugin - GRASS >= 6.0.0 (libraries compiled with exceptions support)
 * for georeferencer - GSL >= 1.8
 * for postgis support and SPIT plugin - PostgreSQL >= 8.0.x
 * for gps plugin - expat >= 1.95
@@ -1185,12 +1182,10 @@
 Now you can install grass from dapper:
 
 
-  sudo apt-get install grass libgrass-dev libgdal1-1.4.0-grass 
+  sudo apt-get install grass libgrass-dev 
 
 
-/!\ You may need to explicitly state your grass version e.g. libgdal1-1.3.2-grass
 
-
   5.6. Setup ccache (Optional)
   ============================
 
@@ -1524,12 +1519,14 @@
 Uncompress the arquive, enter the newly created folder and run configure with a few specific parameters
 
 
-  ./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
 
 
-then as usual (it will take a while)
+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
 
+Then as usual (it will take a while)
 
+
   make
 
 
@@ -1553,64 +1550,7 @@
 
 
 
-    5.12.6. Step 6: compile and install the GDAL-GRASS libraries
-    ============================================================
-
-Create a plain text file named "grass.conf" inside the folder "/etc/ld.so.conf.d"
-
-
-  sudo gedit /etc/ld.so.conf.d/grass.conf
-
-
-and add the following line
-
-
-  /usr/local/grass-6.4.0RC4/lib/
-
-
-save and exit.
-
-Download the latest version of the gdal-grass library (gdal-grass-1.4.3.tar.gz) from
-http://download.osgeo.org/gdal/
-
-uncompress the arquive and enter the newly created folder
-
-
-  cd /gdal-grass-1.4.3
-
-
-run configure
-
-
-  ./configure --with-grass=/usr/local/grass-6.4.0RC4
-
-
-then as usual
-
-
-  make
-
-
-and
-
-
-  sudo make install
-
-
-and finish the process by creating the necessary links to the most recent shared libraries
-
-
-  sudo ldconfig
-
-
-leave the folder 
-
-
-  cd ..
-
-
-
-    5.12.7. Step 6: compile and install QGIS
+    5.12.6. Step 6: compile and install QGIS
     ========================================
 
 As for GRASS you can obtain the QGIS source code from different sources,
@@ -1747,72 +1687,7 @@
 Unpack the whole package to c:\msys\local
 
 
-    6.2.2. GDAL level one
-    =====================
-
-Since Quantum GIS needs GDAL with GRASS support, we need to compile GDAL
-from source - Paul Kelly's package doesn't include GRASS support in GDAL.
-The idea is following:
-
-1. compile GDAL without GRASS
-2. compile GRASS
-3. compile GDAL with GRASS
-
-So, start with downloading GDAL sources:
-
-  http://download.osgeo.org/gdal/gdal141.zip
-
-Unpack it to some directory, preferably c:\msys\local\src.
-
-Start MSYS console, go to gdal-1.4.1 directory and run the commands below.
-You can put them all to a script, e.g. build-gdal.sh and run them at once.
-The recipe is taken from Paul Kelly's instructions - basically they
-just make sure that the library will be created as DLL and the utility
-programs will be dynamically linked to it...
-
-
-  CFLAGS="-O2 -s" CXXFLAGS="-O2 -s" LDFLAGS=-s ./configure --without-libtool --prefix=/usr/local --enable-shared --disable-static --with-libz=/usr/local --with-png=/usr/local
-  make
-  make install
-  rm /usr/local/lib/libgdal.a
-  g++ -s -shared -o ./libgdal.dll -L/usr/local/lib -lz -lpng ./frmts/o/*.o ./gcore/*.o ./port/*.o ./alg/*.o ./ogr/ogrsf_frmts/o/*.o ./ogr/ogrgeometryfactory.o ./ogr/ogrpoint.o ./ogr/ogrcurve.o ./ogr/ogrlinestring.o ./ogr/ogrlinearring.o ./ogr/ogrpolygon.o ./ogr/ogrutils.o ./ogr/ogrgeometry.o ./ogr/ogrgeometrycollection.o ./ogr/ogrmultipolygon.o ./ogr/ogrsurface.o ./ogr/ogrmultipoint.o ./ogr/ogrmultilinestring.o ./ogr/ogr_api.o ./ogr/ogrfeature.o ./ogr/ogrfeaturedefn.o ./ogr/ogrfeaturequery.o ./ogr/ogrfeaturestyle.o ./ogr/ogrfielddefn.o ./ogr/ogrspatialreference.o ./ogr/ogr_srsnode.o ./ogr/ogr_srs_proj4.o ./ogr/ogr_fromepsg.o ./ogr/ogrct.o ./ogr/ogr_opt.o ./ogr/ogr_srs_esri.o ./ogr/ogr_srs_pci.o ./ogr/ogr_srs_usgs.o ./ogr/ogr_srs_dict.o ./ogr/ogr_srs_panorama.o ./ogr/swq.o ./ogr/ogr_srs_validate.o ./ogr/ogr_srs_xml.o ./ogr/ograssemblepolygon.o ./ogr/ogr2gmlgeometry.o ./ogr/gml2ogrgeometry.o
-  install libgdal.dll /usr/local/lib
-  cd ogr
-  g++ -s ogrinfo.o -o ogrinfo.exe -L/usr/local/lib -lpng -lz -lgdal
-  g++ -s ogr2ogr.o -o ogr2ogr.exe -lgdal -L/usr/local/lib -lpng -lz -lgdal
-  g++ -s ogrtindex.o -o ogrtindex.exe -lgdal -L/usr/local/lib -lpng -lz -lgdal
-  install ogrinfo.exe ogr2ogr.exe ogrtindex.exe /usr/local/bin
-  cd ../apps
-  g++ -s gdalinfo.o -o gdalinfo.exe -L/usr/local/lib -lpng -lz -lgdal
-  g++ -s gdal_translate.o -o gdal_translate.exe -L/usr/local/lib -lpng -lz -lgdal
-  g++ -s gdaladdo.o -o gdaladdo.exe -L/usr/local/lib -lpng -lz -lgdal
-  g++ -s gdalwarp.o -o gdalwarp.exe -L/usr/local/lib -lpng -lz -lgdal
-  g++ -s gdal_contour.o -o gdal_contour.exe -L/usr/local/lib -lpng -lz -lgdal
-  g++ -s gdaltindex.o -o gdaltindex.exe -L/usr/local/lib -lpng -lz -lgdal
-  g++ -s gdal_rasterize.o -o gdal_rasterize.exe -L/usr/local/lib -lpng -lz -lgdal
-  install gdalinfo.exe gdal_translate.exe gdaladdo.exe gdalwarp.exe gdal_contour.exe gdaltindex.exe gdal_rasterize.exe /usr/local/bin
-  
-
-
-Finally, manually edit gdal-config in c:\msys\local\bin to replace the static library reference with -lgdal:
-
-
-  CONFIG_LIBS="-L/usr/local/lib -lpng -lz -lgdal"
-
-GDAL build procedure can be greatly simplified to use libtool with a libtool line patch:
-configure gdal as below:
-./configure --with-ngpython --with-xerces=/local/ --with-jasper=/local/ --with-grass=/local/grass-6.3.cvs/ --with-pg=/local/pgsql/bin/pg_config.exe 
-
-Then fix libtool with:
-mv libtool libtool.orig
-cat libtool.orig | sed 's/max_cmd_len=8192/max_cmd_len=32768/g' > libtool
-
-Libtool on windows assumes a line length limit of 8192 for some reason and tries to page the linking and fails miserably. This is a work around.
-
-Make and make install should be hassle free after this.
-
-
-    6.2.3. GRASS
+    6.2.2. GRASS
     ============
 
 Grab sources from CVS or use a weekly snapshot, see:
@@ -1839,31 +1714,7 @@
 - http://geni.ath.cx/grass.html
 
 
-    6.2.4. GDAL level two
-    =====================
-
-At this stage, we'll use GDAL sources we've used before, only the compilation will be a bit different.
-
-But first in order to be able to compile GDAL sources with current GRASS CVS, you need to patch them, here's what you need to change:
-
-  http://trac.osgeo.org/gdal/attachment/ticket/1587/plugin_patch_grass63.diff
-(you can patch it by hand or use patch.exe in c:\msys\bin)
-
-Now in MSYS console go to the GDAL sources directory and run the same commands as in level one, only with these differences:
-
-1. when running ./configure add this argument: --with-grass=/usr/local/grass-6.3.cvs
-2. when calling g++ on line 5 (which creates libgdal.dll), add these arguments: -L/usr/local/grass-6.3.cvs/lib -lgrass_vect -lgrass_dig2 -lgrass_dgl -lgrass_rtree -lgrass_linkm -lgrass_dbmiclient -lgrass_dbmibase -lgrass_I -lgrass_gproj -lgrass_vask -lgrass_gmath -lgrass_gis -lgrass_datetime
-
-Then again, edit gdal-config and change line with CONFIG_LIBS
-
-
-  CONFIG_LIBS="-L/usr/local/lib -lpng -L/usr/local/grass-6.3.cvs/lib -lgrass_vect -lgrass_dig2 -lgrass_dgl -lgrass_rtree -lgrass_linkm -lgrass_dbmiclient -lgrass_dbmibase -lgrass_I -lgrass_gproj -lgrass_vask -lgrass_gmath -lgrass_gis -lgrass_datetime -lz -L/usr/local/lib -lgdal" 
-
-
-Now, GDAL should be able to work also with GRASS raster layers.
-
-
-    6.2.5. GEOS
+    6.2.3. GEOS
     ===========
 
 Download the sources:
@@ -1893,7 +1744,7 @@
 
 
 
-    6.2.6. SQLITE
+    6.2.4. SQLITE
     =============
 
 You can use precompiled DLL, no need to compile from source:
@@ -1911,7 +1762,7 @@
 and copy sqlite3.h to c:\msys\local\include
 
 
-    6.2.7. GSL
+    6.2.5. GSL
     ==========
 
 Download sources:
@@ -1929,7 +1780,7 @@
 
 
 
-    6.2.8. EXPAT
+    6.2.6. EXPAT
     ============
 
 Download sources:
@@ -1947,7 +1798,7 @@
 
 
 
-    6.2.9. POSTGRES
+    6.2.7. POSTGRES
     ===============
 
 We're going to use precompiled binaries. Use the link below for download:

Modified: trunk/qgis/doc/INSTALL.t2t
===================================================================
--- trunk/qgis/doc/INSTALL.t2t	2010-03-15 19:25:02 UTC (rev 13059)
+++ trunk/qgis/doc/INSTALL.t2t	2010-03-15 19:49:27 UTC (rev 13060)
@@ -103,7 +103,7 @@
 * GDAL/OGR >= 1.4.x
 
 '''Optional dependencies:'''
-* for GRASS plugin - GRASS >= 6.0.0
+* for GRASS plugin - GRASS >= 6.0.0 (libraries compiled with exceptions support)
 * for georeferencer - GSL >= 1.8
 * for postgis support and SPIT plugin - PostgreSQL >= 8.0.x
 * for gps plugin - expat >= 1.95
@@ -1041,11 +1041,9 @@
 Now you can install grass from dapper:
 
 ```
-sudo apt-get install grass libgrass-dev libgdal1-1.4.0-grass 
+sudo apt-get install grass libgrass-dev 
 ```
 
-/!\ You may need to explicitly state your grass version e.g. libgdal1-1.3.2-grass
-
 == Setup ccache (Optional) ==
 
 You should also setup ccache to speed up compile times:
@@ -1358,11 +1356,13 @@
 Uncompress the arquive, enter the newly created folder and run configure with a few specific parameters
 
 ``` 
-./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
 ```
 
-then as usual (it will take a while)
+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
 
+Then as usual (it will take a while)
+
 ``` 
 make
 ```
@@ -1386,61 +1386,7 @@
 grass64 -wxpython
 ```
 
-=== Step 6: compile and install the GDAL-GRASS libraries ===
 
-Create a plain text file named "grass.conf" inside the folder "/etc/ld.so.conf.d"
-
-``` 
-sudo gedit /etc/ld.so.conf.d/grass.conf
-```
-
-and add the following line
-
-``` 
-/usr/local/grass-6.4.0RC4/lib/
-```
-
-save and exit.
-
-Download the latest version of the gdal-grass library (gdal-grass-1.4.3.tar.gz) from
-http://download.osgeo.org/gdal/
-
-uncompress the arquive and enter the newly created folder
-
-``` 
-cd /gdal-grass-1.4.3
-```
-
-run configure
-
-``` 
-./configure --with-grass=/usr/local/grass-6.4.0RC4
-```
-
-then as usual
-
-``` 
-make
-```
-
-and
-
-``` 
-sudo make install
-```
-
-and finish the process by creating the necessary links to the most recent shared libraries
-
-``` 
-sudo ldconfig
-```
-
-leave the folder 
-
-``` 
-cd ..
-```
-
 === Step 6: compile and install QGIS ===
 
 As for GRASS you can obtain the QGIS source code from different sources,
@@ -1564,67 +1510,6 @@
 Unpack the whole package to ``c:\msys\local``
 
 
-=== GDAL level one ===
-
-Since Quantum GIS needs GDAL with GRASS support, we need to compile GDAL
-from source - Paul Kelly's package doesn't include GRASS support in GDAL.
-The idea is following:
-+ compile GDAL without GRASS
-+ compile GRASS
-+ compile GDAL with GRASS
-
-
-So, start with downloading GDAL sources:
-	http://download.osgeo.org/gdal/gdal141.zip
-
-Unpack it to some directory, preferably ``c:\msys\local\src``.
-
-Start MSYS console, go to gdal-1.4.1 directory and run the commands below.
-You can put them all to a script, e.g. build-gdal.sh and run them at once.
-The recipe is taken from Paul Kelly's instructions - basically they
-just make sure that the library will be created as DLL and the utility
-programs will be dynamically linked to it...
-
-```
-CFLAGS="-O2 -s" CXXFLAGS="-O2 -s" LDFLAGS=-s ./configure --without-libtool --prefix=/usr/local --enable-shared --disable-static --with-libz=/usr/local --with-png=/usr/local
-make
-make install
-rm /usr/local/lib/libgdal.a
-g++ -s -shared -o ./libgdal.dll -L/usr/local/lib -lz -lpng ./frmts/o/*.o ./gcore/*.o ./port/*.o ./alg/*.o ./ogr/ogrsf_frmts/o/*.o ./ogr/ogrgeometryfactory.o ./ogr/ogrpoint.o ./ogr/ogrcurve.o ./ogr/ogrlinestring.o ./ogr/ogrlinearring.o ./ogr/ogrpolygon.o ./ogr/ogrutils.o ./ogr/ogrgeometry.o ./ogr/ogrgeometrycollection.o ./ogr/ogrmultipolygon.o ./ogr/ogrsurface.o ./ogr/ogrmultipoint.o ./ogr/ogrmultilinestring.o ./ogr/ogr_api.o ./ogr/ogrfeature.o ./ogr/ogrfeaturedefn.o ./ogr/ogrfeaturequery.o ./ogr/ogrfeaturestyle.o ./ogr/ogrfielddefn.o ./ogr/ogrspatialreference.o ./ogr/ogr_srsnode.o ./ogr/ogr_srs_proj4.o ./ogr/ogr_fromepsg.o ./ogr/ogrct.o ./ogr/ogr_opt.o ./ogr/ogr_srs_esri.o ./ogr/ogr_srs_pci.o ./ogr/ogr_srs_usgs.o ./ogr/ogr_srs_dict.o ./ogr/ogr_srs_panorama.o ./ogr/swq.o ./ogr/ogr_srs_validate.o ./ogr/ogr_srs_xml.o ./ogr/ograssemblepolygon.o ./ogr/ogr2gmlgeometry.o ./ogr/gml2ogrgeometry.o
-install libgdal.dll /usr/local/lib
-cd ogr
-g++ -s ogrinfo.o -o ogrinfo.exe -L/usr/local/lib -lpng -lz -lgdal
-g++ -s ogr2ogr.o -o ogr2ogr.exe -lgdal -L/usr/local/lib -lpng -lz -lgdal
-g++ -s ogrtindex.o -o ogrtindex.exe -lgdal -L/usr/local/lib -lpng -lz -lgdal
-install ogrinfo.exe ogr2ogr.exe ogrtindex.exe /usr/local/bin
-cd ../apps
-g++ -s gdalinfo.o -o gdalinfo.exe -L/usr/local/lib -lpng -lz -lgdal
-g++ -s gdal_translate.o -o gdal_translate.exe -L/usr/local/lib -lpng -lz -lgdal
-g++ -s gdaladdo.o -o gdaladdo.exe -L/usr/local/lib -lpng -lz -lgdal
-g++ -s gdalwarp.o -o gdalwarp.exe -L/usr/local/lib -lpng -lz -lgdal
-g++ -s gdal_contour.o -o gdal_contour.exe -L/usr/local/lib -lpng -lz -lgdal
-g++ -s gdaltindex.o -o gdaltindex.exe -L/usr/local/lib -lpng -lz -lgdal
-g++ -s gdal_rasterize.o -o gdal_rasterize.exe -L/usr/local/lib -lpng -lz -lgdal
-install gdalinfo.exe gdal_translate.exe gdaladdo.exe gdalwarp.exe gdal_contour.exe gdaltindex.exe gdal_rasterize.exe /usr/local/bin
-
-```
-
-Finally, manually edit ``gdal-config`` in ``c:\msys\local\bin`` to replace the static library reference with -lgdal:
-```
-CONFIG_LIBS="-L/usr/local/lib -lpng -lz -lgdal"
-```
-GDAL build procedure can be greatly simplified to use libtool with a libtool line patch:
-configure gdal as below:
-./configure --with-ngpython --with-xerces=/local/ --with-jasper=/local/ --with-grass=/local/grass-6.3.cvs/ --with-pg=/local/pgsql/bin/pg_config.exe 
-
-Then fix libtool with:
-mv libtool libtool.orig
-cat libtool.orig | sed 's/max_cmd_len=8192/max_cmd_len=32768/g' > libtool
-
-Libtool on windows assumes a line length limit of 8192 for some reason and tries to page the linking and fails miserably. This is a work around.
-
-Make and make install should be hassle free after this.
-
 === GRASS ===
 
 Grab sources from CVS or use a weekly snapshot, see:
@@ -1648,27 +1533,6 @@
 - http://geni.ath.cx/grass.html
 
 
-=== GDAL level two ===
-
-At this stage, we'll use GDAL sources we've used before, only the compilation will be a bit different.
-
-But first in order to be able to compile GDAL sources with current GRASS CVS, you need to patch them, here's what you need to change:
-	http://trac.osgeo.org/gdal/attachment/ticket/1587/plugin_patch_grass63.diff
-(you can patch it by hand or use patch.exe in ``c:\msys\bin``)
-
-Now in MSYS console go to the GDAL sources directory and run the same commands as in level one, only with these differences:
-
-+ when running ``./configure`` add this argument: ``--with-grass=/usr/local/grass-6.3.cvs``
-+ when calling ``g++`` on line 5 (which creates libgdal.dll), add these arguments: ``-L/usr/local/grass-6.3.cvs/lib -lgrass_vect -lgrass_dig2 -lgrass_dgl -lgrass_rtree -lgrass_linkm -lgrass_dbmiclient -lgrass_dbmibase -lgrass_I -lgrass_gproj -lgrass_vask -lgrass_gmath -lgrass_gis -lgrass_datetime``
-
-
-Then again, edit ``gdal-config`` and change line with CONFIG_LIBS
-```
-CONFIG_LIBS="-L/usr/local/lib -lpng -L/usr/local/grass-6.3.cvs/lib -lgrass_vect -lgrass_dig2 -lgrass_dgl -lgrass_rtree -lgrass_linkm -lgrass_dbmiclient -lgrass_dbmibase -lgrass_I -lgrass_gproj -lgrass_vask -lgrass_gmath -lgrass_gis -lgrass_datetime -lz -L/usr/local/lib -lgdal" 
-```
-
-Now, GDAL should be able to work also with GRASS raster layers.
-
 === GEOS ===
 
 Download the sources:



More information about the QGIS-commit mailing list