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
|