jeudi 3 juillet 2008
PgRouting 1.02 sous Win32 disponible
Par david techer, jeudi 3 juillet 2008 à 19:21 :: PostGIS et PostgreSQL
J'ai compilé pgRouting 1.02 sous Win32 pour PostgreSQL 8.2.9 et PostgreSQL 8.3.3
Les liens sont
- PostgreSQL 8.2.9: http://www.davidgis.fr/download/pgRouting-1.02_pg-8.2.9.zip
- PostgreSQL 8.3.3: http://www.davidgis.fr/download/pgRouting-1.02_pg-8.3.3.zip
1. INSTALLATION
Une fois votre installation de PostgreSQL effectuée:
- téléchargez la version de pgrouting selon les liens ci-dessus;
- Décompressez l'archive zippée. Elle contient deux répertoires lib et share.
- Faîtes un GROS COPIER-COLLER (pas de race
!) vers le répertoire C:\Program Files\PostgreSQL\8.X (où X=2,3)
cd C:\Program Files\PostgreSQL\8.X\share\contrib createdb -T template_postgis -U postgres testgis psql -U postgres -d testgis -f routing_core.sql psql -U postgres -d testgis -f routing_core_wrapper.sql psql -U postgres -d testgis -f routing_tsp.sql psql -U postgres -d testgis -f routing_ts¯wrapper.sql psql -U postgres -d testgis -f routing_dd.sql psql -U postgres -d testgis -f routing_dd_wrapper.sqlLe fichier routing_tsp.sql générera une erreur sur PG_MAGIC_BLOCK. J'essais pour le moment de le résoudre
2. COMPILATION (NOTES PERSONNELLES PAR RAPPORT A LA COMPILATION DU WIKI)
Pour la compilation, pas de secret, il faut suivre les instructions de http://pgrouting.postlbs.org/wiki/1.x/WindowsInstallationManual. Sauf pour les modifications de la dernière partie concernant pgRouting
Il faut en fait utiliser le ligne de compilation suivante en fonction des versions
2.a PostgreSQL 8.2.9
En pré-requis, il faut installer PostgreSQL 8.2.9 depuis l'installeur proposé sur http://www.postgresql.org La ligne estcmake -G"MSYS Makefiles" -DWITH_TSP=ON -DWITH_DD=ON \ -DBoost_INCLUDE_DIR=/usr/local/include/boost \ -DCGAL_INCLUDE_DIR=/usr/local/cgal/include -DCGAL_LIBRARIES=/usr/local/cgal/lib/libCGAL.a \ -DGAUL_INCLUDE_DIR=/usr/local/include -DGAUL_LIBRARIES=/usr/local/lib/libgaul.a \ -DGAUL_UTIL_LIBRARIES=/usr/local/lib/libgaul_util.aS'assurer aussi d'avoir "C:\Program Files\PostgreSQL\8.2\bin;C:\Program Files\PostgreSQL\8.2\lib" dans le PATH de sa machine
Quelques modifications sont à effectués dans les fichiers C:\Program Files\PostgreSQL\8.2\include\server, notamment pour port.h et pg_config_os.h
ifndef HAVE_GETTIMEOFDAYpar
ifdef HAVE_GETTIMEOFDAYensuite Puis dans A COMPLETER puis dans le fichier
pgrouting\extra\tsp\src\CMakeFiles\routing_tsp.dir\flags.make, Ã la fin de la ligne
CXX_FLAGS = ....ajouter
CXX_FLAGS = ... -DBUILDING_DLLensuite
make make installTout ce qui est généré (.dll et .sql) sera dans
pgrouting\lib
2.b PostgreSQL 8.3.3
En pré-requis, ici il faut compiler soi-même PostgreSQL depuis les sources sous MinGW/Msys car les binaires fournis par l'installeur poseront problème si on compil depuis ces derniers.Donc
tar xvjf postgresql-8.3.3.tar.bz2 cd postgresql-8.3.3 configure && make && make installTout sera installé dans /usr/local/pgsql.
cmake de pgRouting sera alors
cmake -G"MSYS Makefiles" -DWITH_TSP=ON -DWITH_DD=ON \ -DBoost_INCLUDE_DIR=/usr/local/include/boost \ -DCGAL_INCLUDE_DIR=/usr/local/cgal/include -DCGAL_LIBRARIES=/usr/local/cgal/lib/libCGAL.a \ -DGAUL_INCLUDE_DIR=/usr/local/include -DGAUL_LIBRARIES=/usr/local/lib/libgaul.a \ -DGAUL_UTIL_LIBRARIES=/usr/local/lib/libgaul_util.a -DPOSTGRESQL_INCLUDE_DIR=/usr/local/pgsql/include/server/ \ -DPOSTGRESQL_LIBRARIES=/usr/local/pgsql/lib/
- Faire les modifications de port.h et pg_config_os.h comme pour PostgreSQL 8.2.9
- Faire aussi la petite modif pour
pgrouting\extra\tsp\src\CMakeFiles\routing_tsp.dir\flags.make