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.
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 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 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 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 :
- les binaires de l'importeur et de l'exporteur seront installés dans le répertoire
[prefix]/bin
.
- Les fichiers SQL, comme lwpostgis.sql, seront installés dans le répertoire
[prefix]/share/contrib/
.
- Les librairies PostGIS seront installées dans le répertoire
[prefix]/lib
.
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