2.4. Installation


De nombreux système d'exploitation possèdent maintenant des paquets pré-compilés pour PostgreSQL/PostGIS. La plupart du temps, la compilation est uniquement nécessaire si vous souhaitez utiliser la toute derinère version ou si vous êtes responsable du paquet.

Le module PostGIS est une extension du serveur principal PostreSQL. En temps que tel, PostGIS 1.4.0 nécessite une accès à l'ensemble des fichiers d'entêtes (.h) du serveur PostgreSQL pour être compilé. Il peut être compilé en utilisant une version 8.2.0 ou supérieure de PostgreSQL. Les version plus ancienne de PostgreSQL ne sont pas supportées.

Référez vous aux guides d'installation de PostgreSQL si vous ne l'avez pas déjà installé http://www.postgresql.org.

Si vous envisagez d'utiliser les fonctionnalités de GEOS, vous pourriez devoir explicitement lier PostgreSQL à la bibliothèque standard C++ :

LDFLAGS=-lstdc++ ./configure [VOS OPTIONS ICI]
C'est la bonne manière de procéder afin d'éviter les exceptions C++ inter-agissant avec les anciens outils de développement. Si vous constatez des erreurs étranges (le serveur principal se ferme de façon inattendue ou ce genre de chose) essayez cette astuce. Cela nécessite évidemment de recompiler PostgreSQL à partir des sources.
Les étapes suivantes présentent la configuration et la compilation des sources de PostGIS. Ils ont été écrit pour les utilisateurs de Linux et ne fonctionneront pas sur Windows et Mac.

 Table des matières

2.4.1. Configuration
2.4.2. Compilation
2.4.3. Tests
2.4.4. Installation

2.4.1. Configuration

Comme pour la plupart des installation Linux, la première étape consiste à générer le fichier Makefile qui sera utilisé pour compiler le code source. Cela est réalisé en lançant le script shell :

./configure

Sans paramètres supplémentaires, cette commande va tenter de localiser automatiquement les composants requis et les librairies nécessaires pour compiler le code source de PostGIS sur votre système. Bien que cela soit la manière standard d'utiliser le script configure, ce script supporte de nombreux paramètres pour ceux qui auraient installé les librairies nécessaires et les programmes dans des répertoires non standard.

La liste suivante présentent seulement les paramètres les plus couramment utilisés. Pour obtenir une liste complète des paramètres existant, utilisez le paramètre --help our --help=short.

--prefix=PREFIX
C'est le répertoire où seront installé les librairies et les scripts SQL de PostGIS. Par défaut, ce répertoire est le même que celui détecté de votre installation de PostgreSQL.
Attention : ce paramètre n'est actuellement pas opérationel, étant donné que le paquet va être installer dans le répertoire de votre installation de PostgreSQL. Consultez cette page : http://trac.osgeo.org/postgis/ticket/160 pour suivre l'état d'avancement de la résolution de ce problème.
--with-pgconfig=FICHIER
PostgreSQL fournit un utilitaire appelé pg_config pour permettre aux extensions comme PostGIS de récupérer le répertoire d'installation de PostgreSQL. Utilisez ce paramètre (--with-pg_config=/chemin/vers/pg_config) pour spécifier manuellement un répertoire d'installation de PostgreSQL spécifique à utiliser pour compiler PostGIS.
--with-geosconfig=FICHIER
GEOS, une librairie géométrique requise, fournit un utilitaire appelé geos-config qui permet au logiciels de récupérer le répertoire d'installation de GEOS. Utilisez ce paramètre (--with-geosconfig=/chemin/vers/geos-config) pour spécifier manuellement le répertoire d'installation de la version spécifique de GEOS avec laquelle vous souhaitez compilet PostGIS.
--with-projdir=RÉPERTOIRE
Proj4 est la librairie de reprojection requise par PostGIS. Utilisez ce paramètre (--with-projdir=/chemin/vers/le_repertoire_de_proj) pour spécifier manuellement le répertoire d'installation de la version de Proj4 spécifique avec laquelle vous souhaitez compiler PostGIS.
description
--with-gui
Compiler l'interface graphique d'inportation de données (nécessite GTK+ 2.0). Cela créera l'interface graphique pour shp2pgsql intitulée : shp2pgsql-gui

Si vous utilisez le code source issue du serveur SVN, la première étape sera de lancer le script

./autogen.sh

Ce script produira le script configure qui sera ensuite utiliser pour paramétrer votre installation de PostGIS.

Au contraire, si vous avez obtenu le code source depuis l'archive, l'exécution du script ./autogen.sh ne sera pas nécessaire étant donné qu'il a déjà été généré.

haut de la page | table des matières

2.4.2. Compilation

Une fois que le fichier Makefile a été produit, compiler PostGIS est aussi simple que de lancer la commande suivante :
make
La dernière ligne affichée devrait être "PostGIS was built successfully. Ready to install".
Depuis la version 1.4.0 de PostGIS, toutes les fonctions ont des commentaires générés à partir de la documentation. Si vous souhaitez installer ces commentaires dans votre base de données plus tard, utilsez la commande suivante :
make comments

haut de la page | table des matières

2.4.3. Tests

Si vous souhaitez tester votre compilation de PostGIS, lancez la commande suivante

make check

La commande ci-dessus va exécuter de nombreuses vérification et des tests de régressions en utilisant la librairie compilée avec la base PostgreSQL actuelle.

Si vous avez compilé PostGIS en utilisant des répertoires non standard pour PostgreSQL, GEOS ou Proj4, vous pourriez avoir besoin de définir la variable d'environnement LD_LIBRARY_PATH.
Actuellement, la commande make check utilise les variables d'environnement PATH et PGPORT pour réaliser ses vérification - il n'utilise pas la version de PostgreSQL qui aurait pût être spécifiée comme option (--with-pgconfig) au script configure. Donc assurez-vous que votre variable PATH coïncide bien avec l'installation de PostgreSQL utilisée lors de la configuration ou préparez-vous a avoir des mots de têtes. Consultez cette page http://trac.osgeo.org/postgis/ticket/186 pour suivre l'évolution de la résolution de ce problème.

Si tout s'est bien passé, la sortie des vérifications devrait ressembler à ceci :

        CUnit - A Unit testing framework for C - Version 2.1-0
        http://cunit.sourceforge.net/



Suite: PostGIS Computational Geometry Suite
    Test: test_lw_segment_side() ... passed
    Test: test_lw_segment_intersects() ... passed
    Test: test_lwline_crossing_short_lines() ... passed
    Test: test_lwline_crossing_long_lines() ... passed
    Test: test_lwpoint_set_ordinate() ... passed
    Test: test_lwpoint_get_ordinate() ... passed
    Test: test_lwpoint_interpolate() ... passed
    Test: test_lwline_clip() ... passed
    Test: test_lwline_clip_big() ... passed
    Test: test_lwmline_clip() ... passed
    Test: test_geohash_point() ... passed
    Test: test_geohash_precision() ... passed
    Test: test_geohash() ... passed
Suite: PostGIS Measures Suite
    Test: test_mindistance2d_recursive_tolerance() ... passed

--Run Summary: Type Total Ran Passed Failed
               suites   2   2    n/a      0
               tests   14  14     14      0
               asserts 84  84     84      0


Creating spatial db postgis_reg
TMPDIR is /tmp/pgis_reg_15328


  PostgreSQL 8.3.7 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-44)
  Postgis 1.4.0SVN - 2009-05-25 20:21:55
    GEOS: 3.1.0-CAPI-1.5.0
    PROJ: Rel. 4.6.1, 21 August 2008

Running tests

   loader/Point.............. ok
   loader/PointM.............. ok
   loader/PointZ.............. ok
   loader/MultiPoint.............. ok
   loader/MultiPointM.............. ok
   loader/MultiPointZ.............. ok
   loader/Arc.............. ok
   loader/ArcM.............. ok
   loader/ArcZ.......... ok
   loader/Polygon.............. ok
   loader/PolygonM.............. ok
   loader/PolygonZ.............. ok
   regress. ok
   regress_index. ok
   regress_index_nulls. ok
   lwgeom_regress. ok
   regress_lrs. ok
   removepoint. ok
   setpoint. ok
   simplify. ok
   snaptogrid. ok
   affine. ok
   wkt. ok
   measures. ok
   long_xact. ok
   ctors. ok
   sql-mm-serialize. ok
   sql-mm-circularstring. ok
   sql-mm-compoundcurve. ok
   sql-mm-curvepoly. ok
   sql-mm-general. ok
   sql-mm-multicurve. ok
   sql-mm-multisurface. ok
   geojson. ok
   gml. ok
   svg. ok
   kml. ok
   regress_ogc. ok
   regress_bdpoly. ok
   regress_proj. ok
   regress_ogc_cover. ok
   regress_ogc_prep. ok

Run tests: 42
Failed: 0

haut de la page | table des matières

2.4.4. Installation

Pour installer PostGIS, lancez la commande suivante :

make install

Cela va copier les fichiers d'installation de PostGIS dans leur répertoires respectifs par rapport au paramètre --prefix spécifié lors de la configuration. En particulier :

Si vous aviez précédemment lancer la commande make comments pour générer le fichier postgis_comments.sql, installez le fichier en lançant la commande :

make comments-install
Le fichier postgis_comments.sql a été séparé du processus de compilation et d'installation par défaut car il implique une dépendance supplémentaire : xsltproc.

haut de la page | table des matières