Wpisy otagowane ‘Ubuntu’

W repozytorium Ubuntu znajduje się GDAL 1.7. Chcąc wykorzystać możliwości najnowszej wersji trzeba sobie skompilować program samemu :-).

Przygotowania – pobieranie potrzebnego oprogramowania

Pobieramy najnowsze źródła GDALa ze strony http://www.gdal.org/

W moim przypadku będzie to wersja 1.9.0:

http://download.osgeo.org/gdal/gdal-1.9.0.tar.gz

Do skompilowania wtyczki Oracle’a potrzebny będzie Instant Client.

Ściągamy pliki „zip”. Archiwa te umożliwiają instalację klienta w katalogu domowym – nie trzeba się martwić o uprawnienia.

Instant Client Package – Basic

Instant Client Package – SQL*Plus

Instant Client Package – SDK

Wersje dla innych architektur znajdują się pod adresem: http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html?ssSourceSiteId=ocomen .

Instalacja Instant Clienta

Teraz trzeba rozpakować klienta, np. do katalogu: /home/user/oracle/instantclient_11_2.

UWAGA: W moim przypadku katalog domowy użytkownika to /home/user. Oczywiście w instalacji na swoim komputerze należy posługiwać się własną nazwą użytkownika.

Ustawiamy zmienne systemowe:

export ORACLE_HOME=/home/user/oracle/instantclient_11_2
export NLS_LANG=POLISH_POLAND.EE8ISO8859P2
export NLS_NUMERIC_CHARACTERS=.,
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
export PATH=$PATH:$ORACLE_HOME

W związku ze zmianami linkera od Ubuntu 11.10 trzeba wyeksportować:

export LDFLAGS="-Wl,--no-as-needed"

(więcej: http://osgeo-org.1560.n6.nabble.com/gdal-dev-Configure-error-with-Oracle-instantclient-11-2-0-3-tp4889509p4933492.html)

Warto też dodać sobie te wartości do pliku .bashrc (/home/user/.bashrc), żeby po restarcie komputera zmienne środowiskowe były zachowane.

Po rozpakowaniu klienta tworzymy dowiązania symboliczne (w katalogu klienta instantclient_11_2):

ln -s libclntsh.so.11.1 libclntsh.so
ln -s libocci.so.11.1 libocci.so

Tworzymy dowiązanie symboliczne lib w katalogu klienta (instantclient_11_2) do tego katalogu, aby GDAL znalazł biblioteki. Jest to taki trick – GDAL szuka bibliotek w katalogu lib domyślnie i nie da się tego zmienić. Natomiast przy instalacji instant clienta z plików zip, wszystkie potrzebne pliki oracle’a znajdują się w głównym katalogu instalacyjnym.

ln -s /home/user/oracle/instantclient_11_2/ lib

Instalacja niezbędnych pakietów z repozytorium

Przede wszystkim trzeba zainstalować narzędzia do kompilacji:
sudo apt-get install build-essential

Do wyszukania plików potrzebnych do zainstalowania obsługi WMS i PostgreSQLa (curl-config i pg_config) użyłem narzędzia apt-file

sudo apt-get install apt-file
apt-file update
apt-file find curl-config
apt-file find pg_config

Wyszukane pakiety to m.in. libcurl4-openssl-dev i postgresql-common i takie zainstalujemy:

sudo apt-get install libcurl4-openssl-dev
sudo apt-get install postgresql-common

Do postgresql przyda się jeszcze libpg-dev (dla instalacji klienckiej).

sudo apt-get install libpq-dev

Dygresja: Dla Fedory 16 instalacja przebiega bardzo podobnie. W moim przypadku brakowało mi kompilatora g++. Instalacja pakietu poleceniem:

yum install gcc-c++

uruchamianym jako root.

Kompilacja GDAL

Plik gdal-1.9.0.tar.gz rozpakowujemy poleceniem:

tar xfvz gdal-1.9.0.taz.gz

w dowolnym katalogu.

W katalogu gdal-1.9.0 uruchamiamy komendy:

./configure –with-oci=yes –with-oci=yes --with-curl=/usr/bin/curl-config --with-pg=/usr/bin/pg_config
make
sudo make install
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

Następnie dodać ostatnią linijkę do .bashrc. Ten wpis umożliwia uruchamianie GDALa po restarcie komputera.

Możliwe problemy

– Sqlplus nie uruchamia się.

Trzeba doinstalować brakujący pakiet:

sudo apt-get install libaio1

– configure nie może znaleźć bibliotek.

Można spróbować utworzyć dodatkowe dowiązania do katalogu z instant clientem:

mkdir rdbms
cd rdbms/
ln -s ~/oracle/instantclient_11_2/ demo
ln -s ~/oracle/instantclient_11_2/ public

Poradnik bazuje na: