Building TerraGear in Ubuntu 910 (32- or 64-bit)

From FlightGear wiki
Revision as of 23:57, 29 September 2008 by Alfonsodg (talk | contribs) (Install terragear-cs into Ubuntu)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Instalación de terragear-cs


1.Instalación limpia de Ubuntu Hardy 64-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: plib1.8.5,newmat11,gpc 2.32

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 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
       * ./configure && make
       * sudo make install

10.Para continuar debemos cumplir con 2 dependencias: gpc y newmat. Para el caso de la libreria gpc haremos lo siguiente:

       * Crearemos un Makefile según el archivo README.gpc incluido dentro del directorio terragear-cs.
       * Modificaremos el archivo gpc.h cambiando el valor de DBL_EPSILON por 0.000001
   Para el caso de newmat:
       * Seguiremos el procedimiento descrito en README.newmat incluido -también- dentro del directorio terragear-cs

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:
       * ./autogen.sh
       * ./configure && make
       * sudo make install

12.Si queremos emplear el comando photo y de esta manera insertar imágenes en nuestra escena entonces necesitaremos el comando chop.pl que está dentro de terragear-cs/src/Prep/Photo, hay que hacer 2 cosas con éste:

       * Modificarlo cambiando el bucle for por:
       for ( $j = 0; $j < $ydiv; $j++ ) {
               for ( $i = 0; $i < $xdiv; $i++ ) {
                       print "Step $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 "Spliting files...\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 "Convert files...\n";
                       `convert $outputpnm $outputsgi`;
                       printf "Renaming files...\n";
                       rename($outputsgi, $outputrgb);
                       unlink($outputpnm);
               }
       }
       * sudo cp chop.pl /usr/local/bin
       No debemos olvidar instalar estas 2 dependencias:
       * sudo apt-get install imagemagick netpbm

13. Opcionalmente se puede instalar QGIS para mejorar nuestro escenario.

       * sudo apt-get install qgis qgis-plugin-grass