Paul RAMSEY sur son blog en janvier publiait un billet concernant un GUI pour shp2pgsql en GTK. Or en février celui-ci avoir été committé dans le SVN de PostGIS


Shp2pgsql GUI pour GTK maintenant intégré dans le SVN de PostGIS.

En effet les options de compilation ont laissé apparaître une nouvelle option --enable-gui .

En pré-requis, il faut avoir installer au moins GTK 2.8.0. qui nécessite pango.

Voici comment faire pour tout compiler

Pour éviter tout conflit de dépendances avec mes propres lib' et binaires, j'ai décidé de tout compiler séparemment dans un répertoire /opt/gistools à part.

Les outils habituels: PostgreSQL, Geos et Proj

Comme toujours, on commence par construire un répertoire où poser nos sources

mkdir pgregress
cd pgregress/
  1. PostgreSQL 8.3.6:
    wget http://wwwmaster.postgresql.org/redir/357/h/source/v8.3.6/postgresql-8.3.6.tar.bz2 -O -|tar xjf -
    cd postgresql-8.3.6/
    ./configure --with-pam --with-ldap --with-readline --with-pgport=5433 --prefix=/opt/gistools
    make
    make install
    Pour être en conformité avec le reste de l'installation, on effectue déjà les mises à jours de variables adéquates
    export LD_LIBRARY_PATH=/opt/gistools/lib/:$LD_LIBRARY_PATH
    export PATH=/opt/gistools/bin/:$PATH
  2. Geos 3.0.3
    cd ..
    wget http://download.osgeo.org/geos/geos-3.0.3.tar.bz2 -O - | tar xjf -;
    cd geos-3.0.3 && ./configure --prefix=/opt/gistools/ && make && make install
  3. Proj 4.6.1
    cd ..
    wget http://download.osgeo.org/proj/proj-4.6.1.tar.gz -O - | tar xzf -;
    cd proj-4.6.1 && ./configure --prefix=/opt/gistools/ && make && make install

Il faut maintenant installer pango et GTK

Pango et GTK+ 2.8

On procède ainsi

  1. Pango
     wget ftp://ftp.gtk.org/pub/gtk/v2.8/pango-1.10.4.tar.bz2 -O - | tar xjf -
     cd pango-1.10.4/ && ./configure --prefix=/opt/gistools/&& make && make install
    
  2. GTK2.8. J'ai choisi la toute dernière version. Normalement pkg-config devrait faire son travail proprement si on omet de préciser le répertorie --prefix mais on va ruser un peu. Le configure de GTK débouchera sur un échec afin de trouver la bonne version de pango si on en a une de déjà installée mais vieille. J'ai été confronté à ce problème, j'ai donc préciser mon CFLAGS et mon LDFLAGS comme il faut.
     wget ftp://ftp.gtk.org/pub/gtk/v2.8/gtk+-2.8.9.tar.bz2 -O - | tar xjf -
    cd gtk+-2.8.9/
    CFLAGS=-I/opt/gistools/include/pango-1.0/ LDFLAGS="-L/opt/gistools/lib/ -lpango-1.0" ./configure --prefix=/opt/gistools/
    make
    make install

Il ne reste plus qu'à compiler PostGIS

PostGIS

On récupère le repository trunk de PostGIS

svn checkout http://svn.refractions.net/postgis/trunk postgis-svn

Comme pour GTK, il faut lui préciser la même ligne pour configure en ajoutant l'option --with-gui

cd postgis-svn
CFLAGS=-I/opt/gistools/include/pango-1.0/ LDFLAGS="-L/opt/gistools/lib/ -lpango-1.0" ./configure --prefix=/opt/gistools/ --with-gui
make
make install

Le binaire GUI est postgis-svn/loader/shp2pgsql-gui. Il suffit alors de le copier dans /opt/gistools/bin.

Pour le lancer, on effectuera

LD_LIBRARY_PATH=/opt/gistools/lib/:$LD_LIBRARY_PATH /chemin/vers/shp2pgsql-gui