Problemas com C API em LUA

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Problemas com C API em LUA

Josenildo Silva
Olá, bom dia a todos!

Estou com um pequeno problema na chamada de função de módulo C em um elementar script LUA.
Ao compilar ele procede normalmente sem erros e ao chamar o script ocorre o erro:
josenildo@josenildo-HP ~/lua_projs/stack_c2lua $ gcc -o stacklook.so -shared -fPIC stacklook.c
josenildo@josenildo-HP ~/lua_projs/stack_c2lua $ lua stacklook.lua
lua: error loading module 'stacklook' from file './stacklook.lua':
        ./stacklook.lua:1: too many C levels (limit is 200) in main function near '"stacklook"'
stack traceback:
        [C]: in ?
        [C]: in function 'require'
        ./stacklook.lua:1: in main chunk
        [C]: in function 'require'
        ./stacklook.lua:1: in main chunk
        [C]: in function 'require'
        ./stacklook.lua:1: in main chunk
        [C]: in function 'require'
        ./stacklook.lua:1: in main chunk
        [C]: in function 'require'
        ...
        [C]: in function 'require'
        ./stacklook.lua:1: in main chunk
        [C]: in function 'require'
        ./stacklook.lua:1: in main chunk
        [C]: in function 'require'
        ./stacklook.lua:1: in main chunk
        [C]: in function 'require'
        ./stacklook.lua:1: in main chunk
        [C]: in function 'require'
        stacklook.lua:1: in main chunk
        [C]: in ?

As variáveis de ambiente configuradas são:
# LUA VARS
export LUA_DIR="/usr/local/lib/lua/5.3"
export LUA_PATH="./?.lua;$HOME/.luarocks/share/lua/5.3/?.lua;/usr/local/share/lua/5.3/?.lua"
export LUA_CPATH="/usr/local/lib/lua/5.3/?.so;/usr/local/lib/lua/5.3/loadall.so;./?.so"

A estação é LInux MInt 18.2(Ubuntu 16.04) com o LUA 5.3.4.

Alguém poderia por gentileza me explicar o que pode estar errado neste material visto ser tão simples e não funcionar?
Será que meu ambiente está bugado ou eu errei alguma coisa? 

Eu usei como referências os LIvros:
1) Programming in LUA 2nd ed(Lua 5.1).
2) Begginning Lua Programming 1nd ed.(Lua 5.1).

E o material constante no link:
http://www.dcc.ufrj.br/~fabiom/lua/

Mesmo com o material não funcionou de jeito nenhum.

MUito obrigado desde já!

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.

stacklook.c (340 bytes) Download Attachment
stacklook.lua (99 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Problemas com C API em LUA

Luiz Henrique de Figueiredo
> josenildo@josenildo-HP ~/lua_projs/stack_c2lua $ gcc -o stacklook.so
> -shared -fPIC stacklook.c
> josenildo@josenildo-HP ~/lua_projs/stack_c2lua $ lua stacklook.lua
> lua: error loading module 'stacklook' from file './stacklook.lua':
>         ./stacklook.lua:1: too many C levels (limit is 200) in main

O require"stacklook" dentro de stacklook.lua está tentando carregar
stacklook.lua e não stacklook.so.

Não dê ao seu programa teste o mesmo nome da sua biblioteca.

Experimente isso:
        mv stacklook.lua test.lua
        lua test.lua

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Visite este grupo em https://groups.google.com/group/lua-br.
Para obter mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Problemas com C API em LUA

Josenildo Silva
In reply to this post by Josenildo Silva
Ok. Realmente um lapso. Imaginei na minha visão que antes de arquivos fontes o lua buscaria as bibliotecas e na verdade estava errado realmente.
Lua realmente é uma linguagem muitro simples basta nos atermos aos detalhes.
Agradeço seu retorno.

Em quinta-feira, 14 de setembro de 2017 10:42:03 UTC-3, Josenildo Silva escreveu:
Olá, bom dia a todos!

Estou com um pequeno problema na chamada de função de módulo C em um elementar script LUA.
Ao compilar ele procede normalmente sem erros e ao chamar o script ocorre o erro:
josenildo@josenildo-HP ~/lua_projs/stack_c2lua $ gcc -o stacklook.so -shared -fPIC stacklook.c
josenildo@josenildo-HP ~/lua_projs/stack_c2lua $ lua stacklook.lua
lua: error loading module 'stacklook' from file './stacklook.lua':
        ./stacklook.lua:1: too many C levels (limit is 200) in main function near '"stacklook"'
stack traceback:
        [C]: in ?
        [C]: in function 'require'
        ./stacklook.lua:1: in main chunk
        [C]: in function 'require'
        ./stacklook.lua:1: in main chunk
        [C]: in function 'require'
        ./stacklook.lua:1: in main chunk
        [C]: in function 'require'
        ./stacklook.lua:1: in main chunk
        [C]: in function 'require'
        ...
        [C]: in function 'require'
        ./stacklook.lua:1: in main chunk
        [C]: in function 'require'
        ./stacklook.lua:1: in main chunk
        [C]: in function 'require'
        ./stacklook.lua:1: in main chunk
        [C]: in function 'require'
        ./stacklook.lua:1: in main chunk
        [C]: in function 'require'
        stacklook.lua:1: in main chunk
        [C]: in ?

As variáveis de ambiente configuradas são:
# LUA VARS
export LUA_DIR="/usr/local/lib/lua/5.3"
export LUA_PATH="./?.lua;$HOME/.luarocks/share/lua/5.3/?.lua;/usr/local/share/lua/5.3/?.lua"
export LUA_CPATH="/usr/local/lib/lua/5.3/?.so;/usr/local/lib/lua/5.3/loadall.so;./?.so"

A estação é LInux MInt 18.2(Ubuntu 16.04) com o LUA 5.3.4.

Alguém poderia por gentileza me explicar o que pode estar errado neste material visto ser tão simples e não funcionar?
Será que meu ambiente está bugado ou eu errei alguma coisa? 

Eu usei como referências os LIvros:
1) Programming in LUA 2nd ed(Lua 5.1).
2) Begginning Lua Programming 1nd ed.(Lua 5.1).

E o material constante no link:
<a href="http://www.dcc.ufrj.br/~fabiom/lua/" target="_blank" rel="nofollow" onmousedown="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fwww.dcc.ufrj.br%2F~fabiom%2Flua%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFGvBE1WPjZVrrn8N3xFUF_QpnPPQ&#39;;return true;" onclick="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fwww.dcc.ufrj.br%2F~fabiom%2Flua%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFGvBE1WPjZVrrn8N3xFUF_QpnPPQ&#39;;return true;">http://www.dcc.ufrj.br/~fabiom/lua/

Mesmo com o material não funcionou de jeito nenhum.

MUito obrigado desde já!

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.