Installation de JTS et création de l'utilitaire jts-config


Maintenant que nous avons compiler les classes java, généré les fichiers d'entêtes et les librairies dynamique, il ne reste plus qu'à installer JTS dans notre système afin que nous souyons capable de compiler PostGIS en utilisant JTS à la place de GEOS.

Pour ce faire, rien de plus simple, il suffit d'installer les archives binaires jar où vous les installez d'habitude ($JAR_ DIR dans notre exemple) puis d'installer les fichier d'entêtes et le librairies dynamiques.

Comme d'habitude nous respecterons le standard FHS et nous installerons donc les librairies dans /usr/lib (sur un système x86, ou encore lib64 dans le cas d'une architecture amd64 ...) et le fichiers d'entêtes dans le répertoire /usr/include.

Voici les quelques commandes qui vous permettrons d'installer JTS dans l'arborescence de votre système :

machine jts-1.7.2 # mkdir /usr/share/doc/jts-1.7.2
machine jts-1.7.2 # cp -r ./test /usr/share/doc/jts-1.7.2/
machine jts-1.7.2 # cp -r doc/javadoc/ /usr/share/doc/jts-1.7.2/
machine jts-1.7.2 # cp *so /usr/lib/
machine jts-1.7.2 # cp -r include/* /usr/include/
machine jts-1.7.2 # cp -r src/ /usr/share/doc/jts-1.7.2/
machine jts-1.7.2 # cp *jar lib/JTS_Test.jar lib/acme.jar ${JAR_DIR}
Notez que JAR_DIR est une variable d'environnement que nous avons déjà utilisé et qui permet de savoir où sont installé les archives binaires jar sur votre système. Voilà tout est en ordre, vous devriez même être capable d'exécuter les binaires que nous avons généré lors de nos tests (cf section précédente) sans avoir à utiliser la variable d'environnement LD_LIBRARY_PATH que nous utilisions du fait que les librairies dynamiques que nous utilisions n'étaient pas encore installées. Comme vous le savez déjà, PostGIS lors de l'exécution du script condigure cherche un utilitaire du doux nom de jts-config, vous savez de plus que la librairie GEOS fournie un tel outils. Nous allons donc le copier dans notre répertoire courant (jts-1.7.2 dans notre exemple) afin de le modifier pour qu'il fournisse les informations nécessaire au bon déroulement de la compilation de PostGIS.
  1. Copie de geos-config et renomage en jts-config :
    machine jts-1.7.2 # cp $(type -P geos-config) ./jts-config
    
  2. Éditez le fichier pour qu'il fournisse les bonnes informations lors de la compilation de PostGIS, ili devrait donc contenir les informations suivantes :
    #!/bin/sh
    prefix=/usr
    exec_prefix=${prefix}
    libdir=${exec_prefix}/lib
    
    usage()
    {
        cat <&2
    fi
    while test $# -gt 0; do
    case "$1" in
        -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
        *) optarg= ;;
    esac
    case $1 in
        --prefix)
        echo ${prefix}
         ;;
        --version)
        echo 1.7.2
         ;;
        --libdir)
          echo ${libdir}
          ;;
        --includedir)
          echo ${prefix}/include
          ;;
        *)
          usage 1 1>&2
          ;;
      esac
      shift
    done
    
  3. Copiez ce fichier dans le répertoire /usr/bin puis donnez lui les droits nécessaires à son exécution :
    machine jts-1.7.2 # cp jts-config /usr/bin
    machine jts-1.7.2 # chmod 755 /usr/bin/jts-config
    
Voilà, si tout déroulé correctement vous devriez maintenant être capable de lancer la commande jts-config.