[Ginga-argentina] Ginga 1.2 en Debian 6 (Squeeze)

lisasmendi at lifia.info.unlp.edu.ar lisasmendi at lifia.info.unlp.edu.ar
Sat Apr 30 21:52:44 CEST 2011


Tengo mi ginga.ar 1.2 corriendo en Debian 6, pero no puedo ejecutar  
una aplicación con video en el mismo. Por lo que estuve investigando  
faltaría soporte para mostrar archivos avi por parte de la librería  
libdirectfb-extra (en squeeze). Entonces traté de bajarme las fuentes  
de DirectFB-extras y compilarlas en la máquina virtual. Todavía no  
pude hacerlo funcionar. ¿Alguien de la lista pudo ejecutar una  
aplicación con video en ginga.ar 1.2.0 en debian 6?

El archivo logs contiene el error que me muestra la consola cuando  
ejecuto la aplicación

El archivo ejemplo0.zip contiene la aplicación sin el video. El video  
es un video avi que funciona en la máquina virtual con Kubuntu (LIFIA)  
y en la máquina virtual con Ginga 1.1.0 (LIFIA).

El archivo instalacion.txt son los pasos que seguí para instalar  
Ginga.ar en Debian 6 (despues se podría subir a la wiki y corregirlo)


Saludos leo

-- 
LIFIA - UNLP Proyecto Televisión Digital



----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.

-------------- next part --------------
virtualbox at debian:~/workspace/ejemplo0$ ginga --ncl ejemplo.ncl  
Setting up terminate handler

   --------------------------| Ginga.ar 1.2.0 |--------------------------

[Ginga] processing file: /home/virtualbox/workspace/ejemplo0/ejemplo.ncl
commandline read: ginga

   ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.2.10 |~~~~~~~~~~~~~~~~~~~~~~~~~~
        (c) 2001-2008  The world wide DirectFB Open Source Community
        (c) 2000-2004  Convergence (integrated media) GmbH
      ----------------------------------------------------------------

(*) DirectFB/Core: Single Application Core. (2010-06-30 18:37) 
(*) Direct/Thread: Started 'Joystick Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...
(*) DirectFB/Input: Joystick 0.9 (directfb.org)
 (!!!)  *** WARNING [out of memory] *** [../../../src/core/input.c:1133 in init_axes()]
(*) Direct/Thread: Started 'X11 Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...
 (!!!)  *** ONCE [Joystick sends JS_EVENT_INIT events, make sure it has been calibrated using 'jscal -c'
] *** [../../../inputdrivers/joystick/joystick.c:99 in joystick_handle_event()]
(*) DirectFB/Input: X11 Input 0.1 (directfb.org)
(*) DirectFB/Genefx: MMX detected and enabled
(*) DirectFB/Graphics: MMX Software Rasterizer 0.6 (directfb.org)
(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
(*) X11/Window: Creating  720x 576 RGB32 window...
(*) X11/Display: Using XShm.
(#) DirectFBError [gingacc-systemio DFBDeviceScreen TestConfig error: ]: Not supported!
 [PresentationEngineManager] Device screen information, x: 0, y: 0, w: 720, h: 576
PresentationEngineManager::setCurrentPrivateBaseId '-1'
[InputManager] created.
[InputManager] imperative interval time:0.
[InputManager] declarative interval time:200.
[FormatterMediator] screen information, x: 0 y: 0 w: 720 h: 576
[PresentationEngineManager] EC dispatcher working!
BroadcastSocketService::discoverBroadcastAddress Warning! can't discover broadcast address
MulticastSocketService::addToGroup msdR: No such device
MulticastSocketService::addToGroup msdR: No such device
[PresentationContext] initialize system values.
SystemInfo::getSystemLanguage can't find 'system.language, return por
FormatterFocusManager::setKeyHandler(0x8df4b48) isHandler '1' this->isHandler '0' parentManager '0'
[FormatterMediator] created. 
PrivateBaseContext::addDocument id='ejemplo' url='/home/virtualbox/workspace/ejemplo0/ejemplo.ncl' all done
FormatterMultiDevice::addActiveUris activeBaseUri=/home/virtualbox/workspace/ejemplo0/
[PresentationEngineManager] Document ID: ejemplo
FormatterMediator::startDocument docId: 'ejemplo', interfaceId: ''.
/home/lifia/src/gingacc-system/src/io/interface/content/video/DFBVideoProvider.cpp <83>:
	(!) [ 1134:    0.000] --> Caught signal 11 (at 0x14, invalid address) <--
 (!!!)  *** WARNING [still objects in 'Window Pool'] *** [../../../lib/fusion/object.c:241 in fusion_object_pool_destroy()]
 (!!!)  *** WARNING [still objects in 'Layer Region Pool'] *** [../../../lib/fusion/object.c:241 in fusion_object_pool_destroy()]
 (!!!)  *** WARNING [still objects in 'Layer Context Pool'] *** [../../../lib/fusion/object.c:241 in fusion_object_pool_destroy()]
 (!!!)  *** WARNING [still objects in 'Surface Pool'] *** [../../../lib/fusion/object.c:241 in fusion_object_pool_destroy()]
Abortado

-------------- next part --------------
A non-text attachment was scrubbed...
Name: ejemplo0.zip
Type: application/zip
Size: 619 bytes
Desc: not available
Url : https://lists.ourproject.org/pipermail/ginga-argentina/attachments/20110430/704a9e39/attachment-0001.zip 
-------------- next part --------------
Instalar la base solamente de Debian 6.0


Cuando iniciamos por primera vez no tenemos el /dev/fb0 (framebuffer activado)
entonces editamos  
# nano /etc/default/grub 
modificamos 
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
por
GRUB_CMDLINE_LINUX_DEFAULT="vga=788 spash quiet"

ejecutamos 
# update-grub
y reiniciamos

instalamos los paquetes
# apt-get install libtool autoconf make automake g++ libssl-dev pkg-config libpng12-dev libdirectfb-dev cmake libavformat-dev libxine-dev liblua5.1-0-dev liblua5.1-socket2 libcurl4-openssl-dev libxerces-c-dev libboost-dev libdb4.7-dev libboost-thread-dev libboost-filesystem-dev libboost-regex1.40-dev libavcodec-dev libxine1-ffmpeg libgtest-dev

Esta lista la saqué de la wiki de la comunidad, pero para debian 6.0 hay que realizarle algunas modificaciones.
Le agregamos make , y cambiamos libboost-regex1.40-dev por libboost-regex1.42-dev


instalamos para bajar las fuentes 
# apt-get install subversion git

bajamos las fuentes de fusionsound
# git clone git://git.directfb.org/git/directfb/core/FusionSound.git

Una vez que tenemos los fuentes, simplemente los compilamos. Hay que tener en cuenta que el proceso de configuración (que usualmente se hace con ./configure) se hace con ./autogen.sh. 
# cd FusionSound
# ./autogen.sh
# make
# make install

bajo la versión 1.2.0 de ginga.ar
# svn checkout svn://scm.ourproject.org/svnroot/ginga/middleware/ginga.ar/tags/release/1.2.0


Se puede crear un directorio /home/lifia/build/ para que queden los resultados intermedios de la compilación

 Definir la variable de entorno DEPOT para que punta a /home/lifia/
# export DEPOT=/home/lifia/

11- Construcción de 'telemidia-links'
Definir PREFIX 

# export PREFIX=/usr
Entrar al directorio de telemidia-links y construirlo 

# cd /home/lifia/src/telemidia-links
# ../build_telemidia-links.sh 
# make
# make install

12- Construcción del resto
Editar /home/lifia/config/SetupUser.cmake para que los binarios se generen en /home/lifia/ginga. Modificar las siguientes lineas
 set(CMAKE_INSTALL_PREFIX /tmp/ginga)
 set(CMAKE_CONFIG_INSTALL_PREFIX /tmp/ginga)
 Para que digan:
 set(CMAKE_INSTALL_PREFIX /home/lifia/ginga)
 set(CMAKE_CONFIG_INSTALL_PREFIX /home/lifia/ginga)
Editar /home/lifia/config/SetupGlobal.cmake para desactivar los tests. Modificar la línea:
 set(COMPILE_TESTS 1)
 Para que diga:
 set(COMPILE_TESTS 0)
Ir al directorio de build y construir ginga 

# cd /home/lifia/build 
# ../src/ginga.sh PC
Esperar a que termine la compilación

13- Configuración final
Verificar que el archivo /etc/ld.so.conf.d/ginga.conf tenga las siguientes líneas, agregar las que sean necesarias:
 /usr/lib/ginga
 /home/lifia/ginga/lib/lifia
Actualizar el linker dinámico
# ldconfig
Copiar /home/lifia/ginga/share/lua/5.1/tcp_event.lua a /usr/share/lua/5.1/tcp_event.lua

falta agregar al .bashrc para ejecutar ginga desde cualquier lugar
# export PATH="$PATH:/home/lifia/ginga/sbin"

...y listo. Tenemos Ginga 1.2.0 funcionando.

Le falta agregar soporte para mostrar videos avi.


































More information about the Ginga-argentina mailing list