Revision 119

View differences:

org.gvsig.educa.batovi/trunk/docs/compilar-jgdal-para-olpc.rst
1
===============
2
gvSIG Educa
3
===============
4

  
5
-------------------------------------------------
6
Compilación de jgdal para el S.O. OLPC 1.2
7
-------------------------------------------------
8

  
9

  
10
Descripción
11
============
12

  
13
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.
14

  
15

  
16

  
17
Requisitos
18
============
19

  
20
Para la compilación será necesario:
21

  
22
* 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/ )
23

  
24
  La instalación puede ser en una máquina virtual (*virtualBox, paralels, vmware*).
25

  
26
* 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.
27

  
28

  
29
Preparación
30
=============
31

  
32
Preparar la máquina virtual
33
----------------------------
34

  
35
Para instalar Fedora, prepara una máquina virtual con:
36

  
37
* Tipo S.O: Fedora 32bits
38
* Ram: 1 Gb
39
* Disco. 6 Gb
40
* CD: Montar ISO de LiveCD
41
* Red (para descargar paquetes y fuentes)
42

  
43

  
44
Instalación de Fedora 11
45
-------------------------
46

  
47
Arrancar la máquina virtual, seleccionar idioma y ejecutar la instalación con las opciones por defecto.
48

  
49
Instalación de paquetes del sistema
50
----------------------------------------
51

  
52
Abrir un terminal y ejecutar::
53

  
54
  sudo yum cmake ant subversion wget openjdk-devel gcc gcc-c++ gdal
55

  
56
Instalación de Maven
57
----------------------
58

  
59
Ya que el paquete de maven de la distribución está obsoleto, será recomendable instalar en un directorio de usuario.
60

  
61
Descargar la versión 2.2.1 de maven::
62

  
63
  cd /tmp
64
  wget http://apache.rediris.es/maven/binaries/apache-maven-2.2.1-bin.tar.gz
65

  
66
Descomprimir en un directorio del usuario::
67

  
68
  mkdir -p ~/software/java
69
  cd ~/software/java
70
  tar xf /tmp/apache-maven*
71
  
72
Ajustar variables de entorno
73
------------------------------
74

  
75
Editar el fichero *~/.bashrc* y añadir las siguientes lineas al final::
76

  
77
  PATH=$PATH:~/software/java/apache-maven-2.2.1/bin
78
  export JAVA_HOME=/usr/lib/jvm/java-openjdk
79

  
80

  
81
Aplicar los cambios al shell actual::
82

  
83
  source ~/.bashrc
84

  
85
Preparar paquete de librerías de gdal
86
----------------------------------------
87

  
88
*Este paso puede que no sea necesario si ya está disponible el tar.gz con las librerías de gdal y sus dependencias.*
89

  
90

  
91
Crear un directorio para el paquete. Por ejemplo::
92

  
93
  cd ~
94
  mkdir gdal-1.6.0-OLPC-10.2-dynamic
95

  
96
Crear la estrucutura base::
97

  
98
  cd gdal-1.6.0-OLPC-10.2-dynamic
99
  mkdir -p include data/gdal lib
100

  
101
Copiar los fichero básicos::
102

  
103
  cp /usr/lib/libgdal.?.* lib
104
  cp /usr/include/gdal/* include
105
  cp /usr/share/gdal/* data/gdal
106

  
107
Crearemos los enlaces simbólicos que gdal basándonos en los que hay en el sistema::
108

  
109
  cd lib
110
  ln -s libgdal.so.1.13.0 libgdal.so.1
111
  ln -s libgdal.so.1.13.0 libgdal.so
112

  
113
Descubrir las dependencias de la librería::
114

  
115
  ldd lib/libgdal1.6.0.so.1.13.3 | awk '/.*=>.*/ {print $3}' | sort > dependencies.all.txt
116
  cp dependencies.all.txt dependencies.txt
117

  
118
Identificar las dependencias a copiar. Para ello editaremos el fichero *dependencies.txt* y eliminaremos aquellos fichero que ya existan en el OLPC de muestra.
119

  
120

  
121
Una vez hecho esto crearemos un fichero *copy-dependencies.sh* para que nos copie los ficheros que necesitamos. El contenido será este::
122

  
123
  #!/bin/sh
124

  
125
  files=`cat dependencies.txt`
126
  for afile in $files
127
  do
128
    cp "$afile" .
129
  done
130

  
131
Ejecutaremos el script que acabamos de crear para que copie lo ficheros::
132

  
133
  bash copy-dependencies.txt
134

  
135
Volvemos al directorio raíz para empaquetar::
136

  
137
  cd ~
138
  tar czf gdal-1.6.0-OLPC-10.2-dynamic.tar.gz gdal-1.6.0-OLPC-10.2-dynamic
139

  
140
Instalamos el packete en nuestro repositorio de maven local::
141

  
142
  mvn install:install-file -Dfile=gdal-1.6.0-OLPC-10.2-dynamic.tar.gz -DgroupId=org.gdal -DartifactId=gdal -Dversion=1.6.0 -Dpackaging=tar.gz
143
  mv ~/.m2/repository/org/gdal/gdal/1.6.0/gdal-1.6*.tar.gz ~/.m2/repository/org/gdal/gdal/1.6.0/gdal-1.6.0-OLPC-10.2-dynamic.tar.gz
144

  
145

  
146
Compilar jgdal
147
================
148

  
149
Descargar la versión del repositorio::
150

  
151
  cd ~
152
  svn co https://devel.gvsig.org/svn/gvsig-raster/org.gvsig.jgdal/trunk/org.gvsig.jgdal
153

  
154

  
155
Compilar usando maven::
156

  
157
  mvn clean install -Dnative-platform="linux" -Dnative-arch="i386" -Dnative-distribution="OLPC_OS-10.2" -Pjni-devel -Dnative-classifier="OLPC-10.2-dynamic"
158

  
159
Esto instala el fichero compilado en el repositorio local de maven::
160

  
161

  
162
  ls ~/.m2/repository/org/gvsig/org.gvsig.jgdal/*/*.tar.gz
163

  

Also available in: Unified diff