Statistics
| Revision:

root / org.gvsig.educa.batovi / trunk / docs / compilar-jgdal-para-olpc.rst @ 145

History | View | Annotate | Download (5.12 KB)

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-fedora-11-i386-dynamic
95

    
96
Crear la estrucutura base::
97

    
98
  cd gdal-1.6.0-fedora-11-i386-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 ~/gdal-1.6.0-fedora-11-i386-dynamic
138
  tar czf ../gdal-1.6.0-fedora-11-i386-dynamic.tar.gz *
139

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

    
142
  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
143

    
144
Para hacer deploy (si tenemos permisos, además de requerir un pom.xml para que cargue el wagon)::
145

    
146
  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
147

    
148
Compilar jgdal
149
================
150

    
151
Descargar la versión del repositorio::
152

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

    
156

    
157
Compilar usando maven::
158

    
159
  mvn clean install -Dnative-platform="fedora11" -Dnative-arch="i586" -Dnative-distribution="fedora-11" -Pjni-devel -Dnative-classifier="fedora-11-i386-dynamic"
160

    
161
Esto instala el fichero compilado en el repositorio local de maven::
162

    
163

    
164
  ls ~/.m2/repository/org/gvsig/org.gvsig.jgdal/*/*.tar.gz
165

    
166

    
167
Para hacer deploy de tar.gz (si se tienen permisos)::
168

    
169
   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