Ginga-NCL versão C++ é uma implementação de alto desempenho, um protótipo ideal para embarque em set-top boxes comerciais, caracterizados por baixas capacidades de processamento e armazenamento. O objetivo deste artigo é mostrar pontos chave para concluir com sucesso a instalação do Ginga-NCL.
Como o meu objetivo é apenas preparar o Ubuntu para a instalação e mostrar soluções de possíveis erros que podem aparecer, recomendo que sigam o tutorial passando os parâmetros corretamente:
Solução de possíveis erros durante instalação Ginga-NCL
gingacc-cpp/gingacc-system
Erro:
from ../../../../../include/io/interface/content/video/XineVideoProvider.h:69,
from XineVideoProvider.cpp:52:
/usr/local/include/xine/scratch.h:36: error: expected "," or "..." before "this"
/usr/local/include/xine/scratch.h:36: error: format string argument not a string type
/usr/local/include/xine/scratch.h:38: error: expected "," or "..." before "this"
/usr/local/include/xine/scratch.h:40: error: expected "," or "..." before "this"
In file included from /usr/local/include/xine/xine_internal.h:67,
from ../../../../../include/io/interface/content/video/XineVideoProvider.h:69,
from XineVideoProvider.cpp:52:
/usr/local/include/xine/broadcaster.h:33: error: expected "," or "..." before "this"
/usr/local/include/xine/broadcaster.h:34: error: expected "," or "..." before "this"
In file included from ../../../../../include/io/interface/content/video/XineVideoProvider.h:69,
from XineVideoProvider.cpp:52:
/usr/local/include/xine/xine_internal.h:486: error: expected "," or "..." before "this"
make[2]: ** [XineVideoProvider.o] Erro 1
make[2]: Saindo do diretório `/home/leonardo/Ginga/gingacc-cpp/gingacc-
system/src/io/interface/content/video'
make[1]: ** [all-recursive] Erro 1
make[1]: Saindo do diretório `/home/leonardo/Ginga/gingacc-cpp/gingacc-system'
make: ** [all] Erro 2
../include/IPlayer.h:94: error: "int64_t" does not name a type.
Solução:
No arquivo gingacc-player/include/IPlayer.h inclua a seguinte linha no cabeçalho:
#include <stdint.h>
Erro:
...../usr/include/bits/fcntl2.h:51: error: call to "__open_missing_mode" declared with attribute error:
open with O_CREAT in second argument needs 3 arguments
// Modifique a seguinte linha no arquivo v4l/.config
Antes:
CONFIG_DVB_FIREDTV=m
Depois:
CONFIG_DVB_FIREDTV=n
make
$ sudo make install
$ sudo cp linux/include/linux/dvb/* /usr/include/linux/dvb
Obs.: O mesmo erro pode acontecer em outros pacotes e a solução será a mesma.
Considerações finais
Neste artigo encontram-se passos para concluir com sucesso a instalação do Ginga-NCL no Ubuntu, coloquei também as soluções de todos os erros que aconteceram comigo.
Por eu ter ficado exatamente 15 dias pelejando para conseguir instalar o Ginga, achei interessante compartilhar.
[1] Comentário enviado por martin_riggs em 21/10/2010 - 12:57h
Gostei bastante do seu artigo, eu estou terminando meu TCC agora, com uma aplicação toda em NCL. Utilizo o Linux Ubuntu e nele instalei o VMware para usar a máquina virtual Fedora com o Ginga. Para executar os comandos via terminal utilizo o Putty, e para copiar os arquivos utilizo o Gigolo. Para desenvolver uso o Eclipse.
Pelo que vi, seguindo o seu artigo, podemos ter o Ginga rodando direto no OS instalado, sem necessidade da VM, e uso do SSH e SFTP, isso seria bastante útil, e agilizaria o processo de desenvolvimento. Estou no trabalho e não deu para ler minuciosamente, mas assim que eu puder vou realizar estes passos para testar.
Parabéns pelo artigo, e se já desenvolve para TV Digital podemos trocar umas idéias.
[2] Comentário enviado por fredim em 22/10/2010 - 11:23h
- martin_riggs
Eu tive a necessidade de parar de fazer todo este processo que você citou, e é exatamente isso que este artigo explica, como instalar o Ginga-NCL no próprio OS.
Lembrando que o Ginga pode ser instalado em qualquer distribuição Linux.
[3] Comentário enviado por martin_riggs em 22/10/2010 - 11:40h
Fredim
Por experiência, você sabe se ocupa muito espaço no HD, e se demanda muita memória? Pergunto isso por que possuo dois equipamentos em casa, sendo um antigo.
[4] Comentário enviado por fredim em 23/10/2010 - 13:54h
- martin_riggs
Se tiver com problema de disco recomendo utilizar o ubuntu-server (não chegará a 1Gb), e em relação à demanda de memória, isso vai depender do aplicativo.
Aplicativos com stream, videos HD etc ... vai exigir um pouco mais.
[7] Comentário enviado por fredim em 29/12/2010 - 01:53h
Jotadao_sd
Você está no diretório certo? passou os parâmetros corretamente?
*ffmpeg ( ./configure --enable-shared --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaad --enable-postproc )
[8] Comentário enviado por clebermoterani em 09/02/2011 - 14:09h
Olá Fredim,
Adicionei o parametro vga = 0×0323 já que a resolução que utilizo é 1024x768. Reiniciei a máquina normalmente.
Como eu sei que o framebuffer está ativado?
[12] Comentário enviado por clebermoterani em 18/02/2011 - 14:56h
Verifiquei a libtool, era a versão 2.2.6.
Então removi e instalei a versão 1.5.
No entanto, agora quando vou compilar o pacote telemidia-util-cpp,
depois de executar o make, ele reclama da versão da libtool, olha só:
Entrando no diretório `/media/dados/CTC/Ginga/telemidia-util-cpp/src'
/bin/bash ../libtool --tag=CXX --mode=link g++ -fPIC -g -O2 -Wl,-soname,libtelemidiautil.so -shared -o libtelemidiautil.so Color.o functions.o
../libtool: line 463: CDPATH: command not found
../libtool: line 1141: func_opt_split: command not found
libtool: Version mismatch error. This is libtool 2.2.6b Debian-2.2.6b-2ubuntu1, but the
libtool: definition of this LT_INIT comes from an older release.
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6b Debian-2.2.6b-2ubuntu1
libtool: and run autoconf again.
tenho que alterar a versão da libtool em algum lugar?