User Tools

Site Tools


tecnica:gps_cartografia_gis:gdal_oracle

This is an old revision of the document!


GDAL/OGR su Debian GNU/Linux con supporto ad Oracle Spatial

Installazione di Oracle Instantclient

Scaricare dalla pagina Oracle i seguenti archivi rpm:

  • oracle-instantclient11.1-basiclite
  • oracle-instantclient11.1-devel

Si tratta della libreria OCI vera e propria e dei file header per compilare programmi contro questa libreria.

Con alien (pacchetto da installare) convertire i pacchetti .rpm in .deb, quindi installare i pacchetti .deb (per eseguire alien come utente non privilegiato è possibile utilizzare fakeroot):

alien oracle-instantclient11.1-basiclite-*.rpm
alien oracle-instantclient11.1-devel-*.rpm
dpkg -i oracle-instantclient11.1-*.deb

Con dpkg -L pacchetto si scopre il percorso di installazione di libreria e header.

Aggiungere il path della libreria Oracle alla configurazione di ldconfig e aggiornare la cache di ldconfig:

echo /usr/lib/oracle/11.1/client/lib > /etc/ld.so.conf.d/oci.conf
ldconfig

Compilare GDAL/OGR

Installare i pacchetti di sviluppo Debian, una selezione minima potrebbe essere:

  • dpkg-dev
  • build-essential
  • fakeroot

Scaricare i sorgenti della libreria GDAL:

mkdir -p /usr/local/src/gdal
cd /usr/local/src/gdal
apt-get source gdal
cd gdal-1.5.2

Modificare il file debian/rules, in modo da includere nella fase di configure anche le librerie OCI, in pratica oltre ai vari --with-mysql, --with-pg, --with-sqlite si deve aggiungere due righe (attenzione a mettere anche il backslash a fine riga):

--with-oci-include=/usr/include/oracle/11.1/client \
--with-oci-lib=/usr/lib/oracle/11.1/client/lib \

Le Debian rules (gdal 1.5.2-3) cercano la libreria Oracle nnz10, mentre attualmente esiste la libreria nnz11; sistemare con un link simbolico:

ln -s libnnz11.so /usr/lib/oracle/11.1/client/lib/libnnz10.so

Infine lanciare la compilazione del pacchetto (l'opzione -rfakeroot è richiesta solo se non si è utente root):

dpkg-buildpackage -rfakeroor

La libreria GDAL richiede la presenza di molte librerie e per la sua compilazione sono richiesti i rispettivi header file. Per fortuna dpkg-buildpackage elenca tutti i pacchetti necessari (le build dependencies) non appena viene lanciato. Si deve provvedere ad installare tutti i pacchetti richiesti.

Al termine della compilazione, nella directory padre si trovano i pacchetti:

  • gdal-bin
  • libgdal1-1.5.0
  • libgdal1-dev
  • libgdal-doc
  • libgdal-perl
  • libgdal-ruby
  • libgdal-ruby1.8
  • python-gdal

Si installano almeno i pacchetti gdal-bin e libgdal1-1.5.0. Conviene metterli on-hold per evitare che vengano aggiornati:



Per verificare che la libreria installata abbia il supporto Oracle:

ldd /usr/lib/libgdal1.5.0.so | grep oracle
ogrinfo --formats
tecnica/gps_cartografia_gis/gdal_oracle.1242656551.txt.gz · Last modified: 2009/05/18 16:22 by niccolo