Fórum Ubuntu Linux - PT
Suporte Técnico => Programação e Scripts => Tópico iniciado por: bred81 em 26 de Maio de 2012, 13:23
-
Então, to precisando fazer meu script em lua acessar o bd (MySQL).
O que já fiz até agora (O banco já está instalado):
sudo aptitude install luarocks libmysqlclient-dev
sudo luarocks install luasql-mysql MYSQL_INCDIR=/usr/include/mysql
sudo aptitude install liblua5.1-sql-mysql-2 liblua5.1-sql-mysql-dev
O que fiz no script:
require "luasql/mysql"
env = assert(luasql.mysql())
O que ele me retorna:
fred@Pangolin:~/Ubuntu One/Teste$ lua bd.lua
lua: error loading module 'luasql/mysql' from file '/usr/local/lib/lua/5.1/luasql/mysql.so':
/usr/local/lib/lua/5.1/luasql/mysql.so: undefined symbol: luaopen_luasql/mysql
stack traceback:
[C]: ?
[C]: in function 'require'
bd.lua:1: in main chunk
[C]: ?
Alguém tem alguma ideia de onde estou errando?
-
Bom, de ontem pra hoje não lembro se instalei alguma coisa a mais, mas, o que sei que fez diferença:
driver = require "luasql.mysql"
envv = assert(driver.mysql())
con = assert (envv:connect("nome_banco", "usario", "senha"))
Não retornou nenhum erro.
Só para garantir:
sudo aptitude install liblua5.1-sql-mysql-2 liblua5.1-sql-mysql-dev luarocks libmysqlclient-dev
sudo luarocks install luasql-mysql MYSQL_INCDIR=/usr/include/mysql
====================================
Funciona. Fiz estes passos num outro computador agora a pouco e foi. Só vale ressaltar que é para a versão 5.1 do lua. Antes, nesse novo computador, estava ocorrendo erro porque estava instalada a versão 5.2