Es/Building TerraGear in Ubuntu 64
Instalación básica
1.Empezar con una instalación limpia de Ubuntu Hardy 64-bits (también funciona en 32 bits).
2.Configurar correctamente la tarjeta de video, es altamente recomendable que sea una NVIDIA o ATI. (Las pruebas se han hecho sobre la primera, es decir NVIDIA).
a) Instalar envyng para obtener el último driver de video y sus respectivas dependencias:
* sudo apt-get install envyng-gtk
b) En caso de presentarse problemas con la resolución (usualmente se nos puede presentar una de 640*480), se debe corregir la resolución del monitor.
Para esto, abrir un terminal y escribir:
* sudo displayconfig-gtk
3.Instalar los paquetes básicos para acceso cvs y de desarrollo:
* sudo apt-get install cvs git-core curl automake g++ gcc
4.Ubicar algún directorio donde procederemos a realizar la compilación de todas las aplicaciones y la descarga de las fuentes respectivas
(Este es un procedimiento de orden más que necesario).
5.Descargar los paquetes en el directorio creado (ejemplo: Scenery_Creator): plib 1.8.5,newmat 11,gpc 2.32:
* wget [http://plib.sourceforge.net/dist/plib-1.8.5.tar.gz] * wget [http://www.robertnz.net/ftp/newmat11.tar.gz] * wget [ftp://ftp.cs.man.ac.uk/pub/toby/gpc/gpc232.zip]
6.En simultáneo y abriendo otras sesiones de terminal se puede ir descargando el código de simgear y terragear-cs:
* cvs -d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 login
(clave: guest)
* cvs -d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 co source
* git-clone http://mapserver.flightgear.org/git/terragear-cs/
7.Antes de proceder a compilar los paquetes principales debemos entender que el terragear depende del simgear y este a su vez tiene varias dependencias que satisfacer.
La más complicada es plib que requiere de diversos paquetes y -posiblemente- una modificación en su archivo configure.
* sudo apt-get install xlibmesa-gl-dev freeglut3-dev glutg3-dev libglut3-dev xorg-dev
a) Descomprimir el archivo plib y dirigirse al sub-directorio creado.
b) Opcionalmente: En la linea 6749 del archivo configure debemos quitar el -lXi, cuidando los espacios del caso.
c) Proceder a la compilación del caso con:
* ./configure && make
d) Para instalar la libreria no olvidar que se necesita permisos de administrador:
* sudo make install
8.Como paso previo a compilar simgear no debemos olvidar instalar los siguientes paquetes:
* sudo apt-get install libopenal-dev libalut-dev openscenegraph zlib1g-dev libopenscenegraph-dev
9.Nos vamos al directorio donde hemos descargado simgear y ahora lo compilaremos, no sin antes saber que cuando uno emplea un cvs para descargar el código fuente
se debe generar el archivo configure y esto se hace con:
* ./autogen.sh
El archivo configure está creado ahora.
* ./configure && make
* sudo make install
10.Para continuar debemos cumplir con 2 dependencias: gpc y newmat. Debemos descomprimir ambos paquetes y dentro de cada directorio:
a) GPC:
- Crearemos un Makefile según el archivo README.gpc incluido dentro del directorio terragear-cs. Puedes también copiar y pegar las líneas siguientes:
# Unix/Linux makefile for GPC 2.32
#
# Riley Rainey (riley.rainey@websimulations.com)
CFLAGS = -O -g
libgenpolyclip.a: gpc.o
rm -f $@
ar cr $@ $<
ranlib $@
clean:
rm -f libgenpolyclip.a *.o core *~
install: libgenpolyclip.a
-mkdir -p /usr/local/lib
-mkdir -p /usr/local/include
install libgenpolyclip.a /usr/local/lib/libgenpolyclip.a
install gpc.h /usr/local/include/gpc.h
- Modificaremos el archivo gpc.h, buscando y cambiando el valor de DBL_EPSILON por 0.000001
- Y falta, obviamente, compilar con make e instalar con sudo make install. Hecho!!!
b) NEWMAT:
* make -f nm_gnu.mak
* sudo cp libnewmat.a /usr/local/lib
* sudo mkdir /usr/local/include/newmat
* sudo cp *.h /usr/local/include/newmat
11.Finalmente, y antes de proceder con la compilación en sí del terragear-cs, debemos instalar algunos paquetes adicionales con:
* sudo apt-get install libwxgtk2.8-dev libcurl4-openssl-dev
Para luego, dentro de su directorio:
* ./autogen.sh
* ./configure && make
* sudo make install
12.Listo, ya podemos hacer uso de terragear.
Pasos opcionales
13.Si queremos emplear el comando photo y de esta manera poder insertar imágenes en nuestra escena, entonces necesitaremos el comando chop.pl:
* sudo gedit /usr/local/bin/chop.pl:
Copiar el código siguiente:
#!/usr/bin/perl
die "Usage: $0 file xdiv ydiv res\n" if ( $#ARGV != 3 );
$file = shift @ARGV;
$xdiv = shift @ARGV;
$ydiv = shift @ARGV;
$res = shift @ARGV;
die "Must start with a .png file\n" if ( $file !~ m/\.png$/ );
# extract image dimensions
$info = `file $file`;
$info =~ s/,//g;
($junk, $type, $junk, $junk, $width, $junk, $height, $junk)
= split(/\s+/, $info, 8);
print "$width - $height\n";
$basename = $file;
$basename =~ s/\.png$//;
# convert source image to pnm
`pngtopnm $basename.png > $basename.pnm`;
$dx = $width / $xdiv;
$dy = $height / $ydiv;
for ( $j = 0; $j < $ydiv; $j++ ) {
for ( $i = 0; $i < $xdiv; $i++ ) {
print "Paso $i $j\n";
$x = $dx * $i;
$y = $height - $dy * ($j + 1);
$outputpnm = sprintf("$basename%X%X.pnm", $i, $j);
$outputsgi = sprintf("$basename%X%X.sgi", $i, $j);
$outputrgb = sprintf("$basename%X%X.rgb", $i, $j);
printf "Diviendo archivos...\n";
printf "pnmcut $x $y $dx $dy $basename.pnm | pnmscale -xysize $res $res > $outputpnm\n";
`pnmcut $x $y $dx $dy $basename.pnm | pnmscale -xsize $res -ysize $res > $outputpnm`;
printf "Convirtiendo archivos...\n";
`convert $outputpnm $outputsgi`;
printf "Renombrando archivos...\n";
rename($outputsgi, $outputrgb);
unlink($outputpnm);
}
}
Guardar el archivo.
Instalar unas últimas 2 dependencias que permiten manipular en sí las imágenes:
* sudo apt-get install imagemagick netpbm
14. Instalar QGIS para mejorar nuestro escenario.
* sudo gedit /etc/apt/source.list
Agregar al final:
deb http://ppa.launchpad.net/qgis/ubuntu hardy main
Luego no olvidar de:
* sudo apt-get update
* sudo apt-get install qgis qgis-plugin-grass
| |||||