I'm wriiting because I can't seem to get Lua from within Freeswitch to load the luasql mysql object. The error on the freeswitch console states that there's a error loading module luasql.mysql' but when i run a script from the shell requiring the same file it works just fine. I did due diligience and researched the issue and seen someone state the proble is due to lua being compiled from C++ code and the mysql module being compiled from C source code. Any help will be greatly appreciated because none of my scripts work because they are all database driven.
FS Cli error:
#########################
2014-01-09 05:36:31.432815 [ERR] mod_lua.cpp:199 error loading module 'luasql.mysql' from file '/usr/local/lib/lua/5.2/luasql/mysql.so':
/usr/local/lib/lua/5.2/luasql/mysql.so: undefined symbol: lua_getfield
stack traceback:
[C]: in ?
[C]: in function 'require'
/cdi/fs157/scripts/cdi_scripts/cdi_main_start.lua:2: in main chunk
First few lines of the script in question:
################################
#!/usr/bin/lua
require "luasql.mysql"
-- I also tried to call module like statement below
-- luasql = require "luasql.mysql"
fs_api = freeswitch.API();
dofile "/cdi/cdi_scripts/vars.lua"
dofile "/cdi/cdi_scripts/maininclude.lua"
Shell test script that works
#######################################
#!/usr/bin/lua
luasql = require "luasql.mysql"
env = assert (luasql.mysql())
con = assert (env:connect("database","username","password","162.21X.XXX.144"))
cur = assert (con:execute"SELECT * FROM xxx_acct_did")
row = cur:fetch ({}, "a")
while true do end
while row do
print(string.format("DID: %s, Route: %s", row.did, row.route))
row = cur:fetch (row, "a")
end
cur:close()
con:close()
Output of the script above:
###################################
luasql file path:
###############################################
[root@rch-vmli ~]# ls -larth /usr/local/lib/lua/5.2/luasql/mysql.so
-rwxr-xr-x 1 root root 18K Jan 6 10:35 /usr/local/lib/lua/5.2/luasql/mysql.so
FS Info:
######################################
FreeSWITCH Version 1.5.8b+git~20140106T145044Z~8d30da28d7~32bi
Lua version 5.2.2