Compilación de GRASS en Ubuntu 9.10

From OSGeo
Revision as of 05:25, 22 October 2010 by Lluís (Talk | contribs) (Instalación de GRASS)

Jump to: navigation, search

í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.

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 la instalación de GRASS (y posteriormente de QGis) con la instalación de un número considerable de librerías y programas necesarios para la compilación e instalación de las dos aplicaciones SIG de escritorio.

la forma más simple de instalar estos programas es ejecutar un único comando a través del terminal del siguiente modo:

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.6-dev sip4 libglew1.5-dev libxmu6 libqt4-dev libgsl0-dev swig pyqt4-dev-tools cmake-curses-gui

Una vez finalizado el proceso, podemos descargar el código fuente desde el sitio web de GRASS[8]. En el momento de crear este tutorial el paquete más nuevo era grass-6.4.0RC5.tar.gz. Es por ello que a lo largo de las siguientes líneas se va a utilizar este nombre. En el caso de que el código fuente sea más nuevo que el aquí mencionado (p.e grass-6.4.0RC7.tar.gz), deberá tenerse en cuenta sustituir el nombre aquí utilizado por el que se haya descargado desde el sitio web de GRASS.

Descomprimimos el archivo y accedemos a la carpeta que acabamos de crear mediante el comando:

cd grass-6.4.0RC5

Configuramos los archivos para la compilación con el 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 el código fuente:

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.