Ola estou tendo dificuldade em usar um codigo lua que carrega uma biblioteca dinamica.
O problema que acontece é o seguinte:O problema acontece quando quero carregar a biblioteca luacrypto (http://luacrypto.luaforge.net/) na máquina virtual fornecida no site do GingaNCL
Quando o player lua do formatador vai carregar esse biblioteca acontece um segmentation fault.
Olhando o trace do gdb o problema acontece quando a luacrypto faz chamada da função luaL_openlib na API do Lua.
Olhando o código da biblioteca lua crypto, ela chama esse função 3 vezes para registrar seus módulos.
Tentei mudar para a função luaL_register, mas acontece o mesmo problema.
Olhando no codigo do formator NCL o arquivo .so do player Lua, vi que ele se usa a biblioteca estática do lua(lua.a) e não a dinâmica(lua5.1) no momento de sua linkagem. Compilei o código do formatador na minha máquina editando o makefile para usar a biblioteca dinâmica na linkagem (-llua5.1) e, com isso, o problema deixou de existir na minha máquina.
Um outro problema que acontece e quando, na hora da compilação da biblioteca em si (luacrypto) mando usar a biblioteca estática do Lua e, com isso, na hora do carregamento do formatador acontence undefined reference para algumas funções da API C do Lua, isso foi resolvido compilando-a com a biblioteca dinâmica (-llua5.1)
Minha inteção é utilizar a biblioteca luacrypt na maquina vitual, ou seja com o o player lua utilizando a biblioteca estática do lua.
Autor: Álan Livio
1Um comentário