Autor: Manoel Campos da Silva Filho
Compilando GingaNCL 0.13.5
15 de Junho de 2013, 16:15 - | 1 Pessoa seguindo este artigo.
Visualizado 45 vezes
Pessoal, já compilei o GingaNCL várias vezes, compilando
e instalando cada uma das dependências.
Estou tentando compilar a versão atual (0.13.5)
diretamente dentro do Ginga Virtual STB,
que, em tese, seria mais fácil por já
ter todas as dependências e configurações
prontas.
No entanto, não consegui compilar todos os módulos.
Um dos problemas encontrados foi a falta de um include
no arquivo gingacc-tsparser/src/si/TOT.cpp
Fiz o include abaixo e o módulo gingacc-tsparser compilou:
#include "system/compat/SystemCompat.h"
using namespace ::br::pucrio::telemidia::ginga::core::system::compat;
No entanto, depois de muitos erros de compilação,
notei que, por algum motivo, estavam sendo usados
os headers da versão que já estava instalada na máquina virtual
(0.12.4).
O que fiz foi sair copiando os headers de cada módulo
para o diretório /usr/local/include/ginga/ e sub-diretórios.
Bem, depois disso, muitos problemas de compilação
foram resolvidos, mas, ao chegar na compilação
do gingacc-player, que usa alguns arquivos so
gerados na compilação dos módulos anteriores,
alguns erros foram gerados indicando a
inexistência de determinadas funções
nas bibliotecas so compiladas.
Imagino que o problema só possa
ser devido ao uso de um so da versão que estava instalada
na VM. Aí, saí copiando os so para /usr/local/lib/ginga
mas não resolveu.
Mesmo eu fazendo um make clean && make uninstall em todos os módulos
antes de tentar recompilar tudo novamente, não resolveu.
Imagino que os so's deveriam ser copiados automaticamente para tal diretório.
Tentei fazer um ldconfig para ver se era alguma referência para os módulos
antigos mas nada.
Até crie um projeto para automatizar este processo de compilação
dos módulos do Ginga. O mesmo está em fase inicial,
não checando ou instalando nenhum dependência inda,
mas já automatiza a compilação de todos os módulos
de uma vez só. Se der erro na compilação de algum
módulo, o script para e assim podemos verificar o que
ocorreu. Ao executar o script novamente, ele inicia
do módulo onde parou.
O mesmo está disponível em https://github.com/manoelcampos/gingancl-compile-script
e espero poder melhorá-lo e que seja útil para outros,
como está sendo pra mim.
No entanto, gostaria de ajuda dos colegas para resolver estes problemas
na compilação do GingaNCL, até para poder concluir o script.
22 comentários