Compilación de GRASS en Ubuntu 9.10
índice
Esta guía es una versión adaptada para la versión 9.10 (Karmic Koala) del sistema operativo GNU/Linux Ubuntu, basada en una guía anterior para la versión 8.04 (Hardy Heron): Instalar Grass e Qgis em Ubuntu 8.04 (com ECW e MrSID). Se han actualizado algunos comandos y corregidos algunos pequeños pormenores.
Para la versión 9.10 de Ubuntu, el programa SIG QuantumGIS (QGIS) continúa ausente de los repositorios oficiales y por tanto no puede ser instalado desde el gestor de paquetes a menos que se utilicen repositorios de terceros.
- Para el procedimiento de instalación de QGIs y GRASS a través de los repositorios, puede consultarse la guía existente para la versión 8.04 de Ubuntu: Instalar_Grass_e_Qgis_em_Ubuntu_8.04_através_repositorios.
Una de las características de QGIS/GRASS (cuando se encuentran en repositorios de terceros) es que no tiene soporte (a través de las librerías GDAL, Geospatial Data Abstraction Library) para algunos formatos de uso común, como por ejemplo, el formato ECW[1] (Enhanced Compression Wavelet) e MrSID[2] (MultiResolution Seamless Image Database). Esta situación se debe a las licencias poco claras bajo las cuales se distribuyen las librerías ECW y MrSID, que convierte en muy complicada, la posibilidad de incluirlas libremente en paquetes presentes en los repositorios de muchas de las distribuciones GNU/Linux.
En cualquier caso, las librerías ECW y MrSID pueden ser descargadas libremente de los sitios web de ER Mapper[3] y LizardTech[4] (responsables de las respectivas patentes y licencias de uso) y en el caso que comprendamos y aceptemos sus respectivas licencias, será posible utilizarlas con el fin de conseguir unas instalaciones de QGIS y GRASS con soporte para estos formatos. Este proceso implica la compilación e instalación manual de varios componentes: librerías ECW, MrSID, GDAL y obviamente, de GRASS y QGIS.
Preparación
A instalação do conjunto de programas GDAL, GRASS e QGis é feita usando uma interface de linha de comandos (usualmente chamada de shell). No Ubuntu esta interface pode ser chamada pelos menus "Applications" -> "Accessories" -> "Terminal".
Este guia assume que todos os ficheiros de instalação são colocados num directório temporário - temp - na raiz da área do utilizador. Caso esse directório não exista poderá criá-lo da seguinte forma:
mkdir ~/temp
Para começar entre nesse directório:
cd ~/temp
Instalação das ferramentas necessárias à compilação do software
Para começar será necesário instalar alguns pacotes que permitiraão obter e compilar o código fonte das aplicações pretendidas: build-essential, g++ e também o software subversion.
Na shell o comando será:
sudo apt-get install build-essential g++ subversion
Instalação das livrarias ECW
Encontramos o código fonte no site da ER Mapper[5] na secção downloads (para o poder obter precisamos de efectuar um registo no mesmo site). Seguimos os links "products and downloads --> Image Compression SDK" e a seguir descarregamos o "Image Compression SDK Source Code 3.3".
Em alternativa, se não for possível o acesso ao site da ER Mapper, podemos retirar o ECW SDK neste link[6].
Descompactamos o arquivo dentro do directório ~/temp e entramos na pasta que acabámos de criar com o comando:
cd libecwj2-3.3
Configuramos os ficheiros para a compilação:
./configure
Compilamos o código fonte:
make
E como utilizador com permissões de administração instalamos as livrarias:
sudo make install
Voltamos ao nível superior
cd ..
Preparação das livrarias MrSID
Encontramos o código fonte no site da Lizardtech[7] na secção download (para o poder obter precisamos de efectuar um registo no mesmo site). Seguimos os links "download --> Developer SDKs" e a seguir aceitamos a "LizardTech Software License Agreement" ao carregar o botão "I agree" e finalmente descarregamos o "GeoExpress SDK for Linux (x86) - gcc 4.1 32-bit"
Descompactamos o arquivo dentro do directório ~/temp. As livrarias MrSID não precisam de uma instalação directa mas os ficheiros contidos nesta pasta serão necessários nas fases seguintes.
Instalação das livrarias GDAL
Descarregamos o código fonte com o programa subversion:
svn checkout https://svn.osgeo.org/gdal/trunk/gdal gdal
A seguir copiamos alguns ficheiros que estão na pasta do SDK MrSID para a pasta com o código fonte das livrarias GDAL
cp ~/temp/Geo_DSDK-7.0.0.2167/include/*.* ~/temp/gdal/frmts/mrsid/
Entramos na pasta que contém o código fonte:
cd gdal
Configuramos os ficheiros para compilação, nesta primeira fase *sem* o suporte para Grass, com suporte para MrSID e sem o suporte em leitura para o formato JP2MrSID (em caso contrário iremos ter um erro em fase de compilação) através do MrSID SDK. Lembramos de especificar a posição das livrarias MrSID usando o percurso *relativo* e não absoluto:
./configure --without-grass --with-mrsid=../Geo_DSDK-7.0.0.2167 --without-jp2mrsid
No fim da configuração deveremos obter, entre outras, as seguintes informações:
... GRASS support: no ... ... ... ECW support: yes MrSID support yes ...
Compilamos o código fonte:
make
E como utilizador com permissões de administração instalamos as livrarias:
sudo make install
Sem sair da pasta onde acabámos de compilar GDAL damos o comando
sudo ldconfig
A seguir podemos verificar a correcta instalação de GDAL e o correcto suporte para ECW e MrSID atraves dos seguintes comandos
gdalinfo --formats | grep 'ECW'
ou
gdalinfo --formats | grep 'SID'
Voltamos ao nível superior
cd ..
Instalação do GRASS
Preparamos a instalação do GRASS (e sucessivamente do QGis) com a instalação de um número considerável de livrarias e programas necessários para a compilação/instalação das duas applicações SIG Desktop.
A forma mais simples de instalar estes programas é executar um comando único através da shell, mais especificamente:
sudo apt-get install flex bison libreadline5-dev libncurses5-dev lesstif2-dev debhelper dpatch libtiff4-dev tcl8.4-dev tk8.4-dev fftw-dev xlibmesa-gl-dev libfreetype6-dev autoconf2.13 autotools-dev libgdal1-dev proj libjpeg62-dev libpng12-dev libpq-dev unixodbc-dev doxygen fakeroot cmake python-dev python-qt4-dev python-sip4 python2.5-dev sip4 libglew1.5-dev libxmu6 libqt4-dev libgsl0-dev swig pyqt4-dev-tools cmake-curses-gui
Agora podemos descarregar o código fonte de Grass do site http://grass.itc.it/, actualmente o pacote mais recente é grass-6.4.0RC5.tar.gz.
Descompactamos o arquivo e entramos na pasta que acabámos de criar com o comando:
cd grass-6.4.0RC5
e configuramos os ficheiros pela compilação com o comando:
./configure --with-tcltk-includes=/usr/include/tcl8.4 --with-proj-share=/usr/share/proj --with-gdal=/usr/local/bin/gdal-config --with-python=/usr/bin/python2.5-config
Compilamos o código fonte:
make
E como utilizador com permissões de administração instalamos as Grass:
sudo make install
Voltamos ao nível superior
cd ..
Instalação das livrarias GDAL-GRASS
Como primeiro passo é necessario criar um ficheiro que podemos chamar "grass.conf" dentro da pasta /etc/ld.so.conf.d. Para tal chamar um editor de texto como o gedit em modo administrador:
sudo gedit /etc/ld.so.conf.d/grass.conf
O ficheiro em questão deverá conter uma referência ao percurso onde se encontram as livrarias de Grass, no nosso caso deve-se incluir o seguinte caminho:
/usr/local/grass-6.4.0RC5/lib/
Gravar o ficheiro e abandonar o gedit.
A seguir descarregamos o código das livrarias do site http://download.osgeo.org/gdal/, actualmente o pacote mais recente é gdal-grass-1.4.3.tar.gz
Descompactamos o arquivo e entramos na pasta que acabámos de criar com o comando:
cd gdal-grass-1.4.3
e configuramos os ficheiros pela compilação com o comando:
./configure --with-grass=/usr/local/grass-6.4.0RC5
Compilamos o código fonte:
make
E como utilizador com permissões de administração instalamos as Grass:
sudo make install
Sem sair da pasta onde acabámos de compilar Gdal-Grass damos o comando
sudo ldconfig
e confirmamos que tudo está a funcionar bem, com o comando:
gdalinfo --formats | grep 'ECW'
deveríamos obter um resultado como:
ECW (rw): ERMapper Compressed Wavelets JP2ECW (rw+): ERMapper JPEG2000
Voltamos ao nível superior
cd ..
Instalação do QGis
Antes de se começar a instalação do QGis há que garantir que todos os pacotes dos quais depende são previamente instalados. Para tal há primeiro que actualizar a lista de repositórios; dar o seguinte comando:
sudo gedit /etc/apt/sources.list
No final deste ficheiro acrestar as seguintes linhas:
deb http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu karmic main deb-src http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu karmic main
Gravar e fechar a janela do gedit. A seguir corre-se o apt-get para actualizar a lista (que também necessita de permissões de administrador):
sudo apt-get update
E para terminar este passo, ha que forçar a verificaçao de dependências:
sudo apt-get build-dep qgis
Finalmente podemos avançar com QGis, primeiro há que descarregar com o subversion a última versão do código fonte:
svn co https://svn.osgeo.org/qgis/trunk/qgis qgis_unstable
Quando o subversion terminar de descarregar o código entramos na pasta que acabámos de criar com o comando:
cd qgis_unstable
Agora é necessário configurar os ficheiros para compilação, com o comando:
ccmake .
E entramos na interface de texto do ccmake. Aqui carregamos na tecla "c" para configurar e logo a seguir irá aparecer uma janela com as dependências necessárias; deve estar tudo correcto, menos o parâmetro
GRASS_PREFIX
que tem de se configurar à mão, de forma a que aponte para o directório de instalação do Grass, nomeadamente:
GRASS_PREFIX /usr/local/grass-6.4.0RC5
Voltamos a carregar na tecla "c" para forçar a configuração e a seguir a tecla "g" para gerar os ficheiros de configuração. Se tudo correu bem o programa ccmake levar-nos-á de volta para a shell.
Agora falta só dar os comandos:
make
E a seguir - como utilizador com permissões de administração - instalamos o Qgis:
sudo make install
Correr o QGis
Para correr o QGis basta dar o comando na shell:
qgis &
O caracter "&" indica ao sistema que o processo do QGis deve correr em fundo (background), libertando assim a shell para outros comandos.
Por fim é possível adicionar um ícone aos menus do Gnome, clicando com o botão direito do rato sobre o menu "Applications" e seleccionando "Edit Menus". Aparece assim uma nova janela onde poderá ser adicionado um novo item. Um novo item para o QGis deverá ser preenchido com "qgis" no campo "Command". O ícone do QGis encontra-se no seguinte caminho:
/usr/local/share/qgis/doc/images/qgis_new_80pct.png
Conclusões
No fim deste procedimento iremos obter uma instalação do Grass e uma do Qgis com suporte para os formatos ECW e MrSID com suporte para Python e com o Grass Plugin.