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
La instalación de GDAL, GRASS y QGIS se realizará utilizando una interfaz de línea de comandos (generalmente llamada Terminal). En Ubuntu, el terminal puede ser llamado desde el menú Aplicaciones -> Accesorios -> Terminal.
Esta guía asume que todos los ficheros de instalación serán colocados en un directorio temporal (temp) en la carpeta raíz de vuestro usuario (/home/usuario). En el caso de que este directorio no exista, puede generarse de la siguiente manera:
mkdir ~/temp
Para empezar, accederemos al directorio que acabamos de generar (p.e /home/usuario/temp)
cd ~/temp
Instalación de las herramientas necesarias y compilación del programa
Para empezar será necesario instalar algunos paquetes que nos vana a permitir obtener y compilar el código fuente de las aplicaciones que pretendemos instalar:
build-essential, g++ y también el software subversion.
En el terminal el comando a utilizar será:
sudo apt-get install build-essential g++ subversion
Instalación de las librerías ECW
Encontraremos el código fuente en el sitio web de ER Mapper[5], en la sección Downloads (para poder obtenerlo deberemos registrarnos en el mismo sitio web). Seguimos los enlaces "Products & Downloads -> Image Compression SDK" y a continuación descargaremos el archivo "Image Compression SDK Source Code 3.3".
De forma alternativas, caso que no fuera posible la descarga o el acceso al sitio web de Er Mapper, podemos descargar el ECW SDK desde el siguiente enlace [6].
Descomprimimos el archivo dentro del directorio ~/temp y accedemos a la carpeta que acabamos de crear mediante el comando:
cd libecwj2-3.3
Configuramos los archivos para la compilación:
./configure
Compilamos el código fuente:
make
Y como superusuario o administrador, instalamos las librerías:
sudo make install
Salimos de la carpeta hasta el nivel superior:
cd ..
Preparación de las librerías MrSID
Encontraremos el código fuente en el sitio web de Lizardtech[7], en la sección Download (para poder obtener el código fuente es necesario registrarse en el sitio web). Seguimos los enlaces "Download --> Developer SDKs" y a continuación aceptamos los términos de licencia presentes en el "LizardTech Software License Agreement" seleccionando el botón "I agree", y finalmente, descargamos el fichero "GeoExpress SDK for Linux (x86) - gcc 4.1 32-bit"
Descomprimimos el archivo dentro del directorio ~/temp. Las librerías MrSID no precisan de una instalación directa, aunque los archivos contenidos en esta carpeta serán necesarios en siguientes fases.
Instalación de las librerías de GDAL
Descargamos el código fuente con el programa subversion:
svn checkout https://svn.osgeo.org/gdal/trunk/gdal gdal
A continuación copiamos algunos ficheros que se encuentran en la carpeta del SDK de MrSID a la carpeta que contiene el código fuente de las librerías de GDAL:
cp ~/temp/Geo_DSDK-7.0.0.2167/include/*.* ~/temp/gdal/frmts/mrsid/
Accedemos a la carpeta que contiene el código fuente:
cd gdal
Configuramos los archivos para la compilación, en esta primera fase *sin* soporte para GRASS, *con* soporte para MrSID y *sin* soporte de lectura para el formato JP2MrSID (en caso contrario obtendremos un error durante la fase de compilación) a través del MrSID SDK. Recodemos a especificar la posición de las librearías MrSID de forma *relativa* en lugar de absoluta:
./configure --without-grass --with-mrsid=../Geo_DSDK-7.0.0.2167 --without-jp2mrsid
Al termino de la configuración, deberemos obtener, entre otras, las siguientes informaciones:
... GRASS support: no ... ... ... ECW support: yes MrSID support yes ...
Compilamos el código fuente:
make
Y como superusuario o administrador, instalamos las librerías:
sudo make install
Sin salir de la carpeta donde acabamos de compilar GDAL, ejecutamos el comando:
sudo ldconfig
A continuación, podemos verificar que la instalación de GDAL ha sido correcta, con soporte para ECW y MrSID con los siguientes comandos:
gdalinfo --formats | grep 'ECW'
o bien,
gdalinfo --formats | grep 'SID'
Salimos de la carpeta hasta el nivel superior:
cd ..
Instalación de 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.