[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