=============== gvSIG Educa =============== ------------------------------------------------- Compilación de jgdal para el S.O. OLPC 1.2 ------------------------------------------------- Descripción ============ En este documento describiremos los pasos a seguir para compilar las librerías nativas necesarias para visualizar capas con la librería gdal en los OLPC del plan Ceibal. Requisitos ============ Para la compilación será necesario: * Instalación de *Fedora 11* **i586** ( se pude descargar un LiveCD para hacer mas rápida la instalación de http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/11/ ) La instalación puede ser en una máquina virtual (*virtualBox, paralels, vmware*). * Un OLPC a mano. Ya que los OLPC del *plan Ceibal* no permiten el acceso con permisos de ``root`` necesitaremos saber que librerías ya están instaladas en el sistema y no es necesario empaquetar. Preparación ============= Preparar la máquina virtual ---------------------------- Para instalar Fedora, prepara una máquina virtual con: * Tipo S.O: Fedora **32bits** * Ram: 1 Gb * Disco. 6 Gb * CD: Montar ISO de LiveCD * Red (para descargar paquetes y fuentes) Instalación de Fedora 11 ------------------------- Arrancar la máquina virtual, seleccionar idioma y ejecutar la instalación con las opciones por defecto. Instalación de paquetes del sistema ---------------------------------------- Abrir un terminal y ejecutar:: sudo yum cmake ant subversion wget openjdk-devel gcc gcc-c++ gdal Instalación de Maven ---------------------- Ya que el paquete de maven de la distribución está obsoleto, será recomendable instalar en un directorio de usuario. Descargar la versión 2.2.1 de maven:: cd /tmp wget http://apache.rediris.es/maven/binaries/apache-maven-2.2.1-bin.tar.gz Descomprimir en un directorio del usuario:: mkdir -p ~/software/java cd ~/software/java tar xf /tmp/apache-maven* Ajustar variables de entorno ------------------------------ Editar el fichero *~/.bashrc* y añadir las siguientes lineas al final:: PATH=$PATH:~/software/java/apache-maven-2.2.1/bin export JAVA_HOME=/usr/lib/jvm/java-openjdk Aplicar los cambios al shell actual:: source ~/.bashrc Preparar paquete de librerías de gdal ---------------------------------------- *Este paso puede que no sea necesario si ya está disponible el tar.gz con las librerías de gdal y sus dependencias.* Crear un directorio para el paquete. Por ejemplo:: cd ~ mkdir gdal-1.6.0-fedora-11-i386-dynamic Crear la estrucutura base:: cd gdal-1.6.0-fedora-11-i386-dynamic mkdir -p include data/gdal lib Copiar los fichero básicos:: cp /usr/lib/libgdal.?.* lib cp /usr/include/gdal/* include cp /usr/share/gdal/* data/gdal Crearemos los enlaces simbólicos que gdal basándonos en los que hay en el sistema:: cd lib ln -s libgdal.so.1.13.0 libgdal.so.1 ln -s libgdal.so.1.13.0 libgdal.so Descubrir las dependencias de la librería:: ldd lib/libgdal1.6.0.so.1.13.3 | awk '/.*=>.*/ {print $3}' | sort > dependencies.all.txt cp dependencies.all.txt dependencies.txt Identificar las dependencias a copiar. Para ello editaremos el fichero *dependencies.txt* y eliminaremos aquellos fichero que ya existan en el OLPC de muestra. Una vez hecho esto crearemos un fichero *copy-dependencies.sh* para que nos copie los ficheros que necesitamos. El contenido será este:: #!/bin/sh files=`cat dependencies.txt` for afile in $files do cp "$afile" . done Ejecutaremos el script que acabamos de crear para que copie lo ficheros:: bash copy-dependencies.txt Volvemos al directorio raíz para empaquetar:: cd ~/gdal-1.6.0-fedora-11-i386-dynamic tar czf ../gdal-1.6.0-fedora-11-i386-dynamic.tar.gz * Instalamos el packete en nuestro repositorio de maven local:: mvn install:install-file -Dfile=gdal-1.6.0-fedora-11-i586-dynamic.tar.gz -DgroupId=org.gdal -DartifactId=gdal -Dversion=1.6.0 -Dpackaging=tar.gz -Dclassifier=fedora11-i586-dynamic Para hacer deploy (si tenemos permisos, además de requerir un pom.xml para que cargue el wagon):: mvn2 deploy:deploy-file -Dfile=gdal-1.6.0-fedora11-i586-dynamic.tar.gz -Durl=dav:https://devel.gvsig.org/m2repo/j2se/ -DrepositoryId=gvsig-repository -DgroupId=org.gdal -Dversion=1.6.0 -DartifactId=gdal -Dpackaging=tar.gz -Dclassifier=fedora11-i586-dynamic Compilar jgdal ================ Descargar la versión del repositorio:: cd ~ svn co https://devel.gvsig.org/svn/gvsig-raster/org.gvsig.jgdal/trunk/org.gvsig.jgdal Compilar usando maven:: mvn clean install -Dnative-platform="fedora11" -Dnative-arch="i586" -Dnative-distribution="fedora-11" -Pjni-devel -Dnative-classifier="fedora-11-i386-dynamic" Esto instala el fichero compilado en el repositorio local de maven:: ls ~/.m2/repository/org/gvsig/org.gvsig.jgdal/*/*.tar.gz Para hacer deploy de tar.gz (si se tienen permisos):: mvn deploy:deploy-file -Dfile=org.gvsig.jgdal-2.0.4-SNAPSHOT-fedora11-i586-dynamic.tar.gz -Durl=dav:https://devel.gvsig.org/m2repo/j2se/ -DrepositoryId=gvsig-repository -DgroupId=org.gvsig -Dversion=2.0.4-SNAPSHOT -DartifactId=org.gvsig.jgdal -Dpackaging=tar.gz -Dclassifier=fedora11-i586-dynamic