Maybe related to: https://github.com/zdevito/terra/issues/6  


On Thu, Dec 12, 2013 at 6:56 PM, James Mortensen <james.mortensen@synclio.com> wrote:
Hello,

I pulled the latest master and ran make lua-reconf and make mod_lua-install.  I shutdown and restarted FreeSWITCH and still see the same output when hitting the require statement.

Here's the version of FreeSWITCH I'm on, for confirmation:

FreeSWITCH Version 1.5.8b+git~20131210T191701Z~9ec1e86574~64bit (git 9ec1e86 2013-12-10 19:17:01Z 64bit)

FreeSWITCH Started
Max Sessions [1000]
Session Rate [30]
SQL [Enabled]


I saw the "link against installed libraries" message after running mod_lua-install, and I'm not 100% sure I understand, but do I need to somehow link the mod_lua module to LuaXml or vice versa?  


Thanks,
James



On Thu, Dec 12, 2013 at 4:26 PM, Anthony Minessale <anthony.minessale@gmail.com> wrote:
try getting latest master and doing make lua-reconf then make mod_lua-install



On Thu, Dec 12, 2013 at 5:51 PM, James Mortensen <james.mortensen@synclio.com> wrote:
Here's what I've since discovered:

- Verified FreeSWITCH uses Lua 5.2.2 - see freeswitch/src/mod/languages/mod_lua/lua/lua.h 
- Manually built and compiled the same Lua 5.2.2 for the system Lua
- Downloaded and compiled from source the latest LibXml using the Lua 5.2.2 development headers.

gcc -shared -fPIC -Wl,-E -o LuaXML_lib.so LuaXML_lib.c -I/mnt/src/lua/lua-5.2.2/src 

- Copied the .so binary to /usr/local/lib/lua/5.2/LuaXML_lib.so.


Afterwards, verify the system Lua can load the library:

test.lua:
  print('hello world from lua')
require('LuaXML')
print(_VERSION)
print("---\nREADY.")

ubuntu@fs#  lua /mnt/scripts/test.lua
hello world from lua
Lua 5.2
---
READY.


The library loads without incident.  But, when we try to run the same test script from the CLI, we get the following:

freeswitch@ip-10-166-245-111> lua test.lua
hello world from lua
2013-12-12 23:21:08.515046 [ERR] mod_lua.cpp:199 error loading module 'LuaXML_lib' from file '/usr/local/lib/lua/5.2/LuaXML_lib.so':
/usr/local/lib/lua/5.2/LuaXML_lib.so: undefined symbol: lua_gettop
stack traceback:
[C]: in ?
[C]: in function 'require'
/usr/local/share/lua/5.2/LuaXML.lua:1: in main chunk
[C]: in function 'require'
/opt/freeswitch-1.5.8-2013-12-11/scripts/test.lua:2: in main chunk

-ERR Cannot execute script

freeswitch@ip-10-166-245-111> 



Now, I'm not sure what the issue is, but if the library compiles and even runs with the same Lua version that's embedded in FreeSWITCH, why would it not work when called from within FreeSWITCH?



James


On Thu, Dec 12, 2013 at 12:02 AM, James Mortensen <james.mortensen@synclio.com> wrote:
Okay, so I figured out that the multiple Lua VMs detected is because the version of Lua was slightly different than the compiled .so file for LuaXML_lib, even though it said it was the right version. So I recompiled it and added it into the /usr/local/lib/lua/5.2 folder, and I put LuaXml.lua into /usr/local/share/lua/5.2.

Now, I'm seeing these undefined symbol errors and will need to tackle this next:

2013-12-12 07:41:53.395054 [ERR] mod_lua.cpp:199 error loading module 'LuaXML_lib' from file '/usr/local/lib/lua/5.2/LuaXML_lib.so':
/usr/local/lib/lua/5.2/LuaXML_lib.so: undefined symbol: lua_gettop
stack traceback:
[C]: in ?
[C]: in function 'require'
/usr/local/share/lua/5.2/LuaXml.lua:1: in main chunk
[C]: in function 'require'
/opt/freeswitch/scripts/parser.lua:2: in main chunk





James



On Wed, Dec 11, 2013 at 6:26 PM, James Mortensen <james.mortensen@synclio.com> wrote:
Just to update this thread, I created the following Lua script:

 print('hello world from lua')^M
print(_VERSION)
print("---\nREADY.")

and then ran it from the CLI.  The output was: 

freeswitch@fs> lua test.lua
hello world from lua
Lua 5.2
---
READY.

Also, I found part of the answer to my problem. FreeSWITCH Lua was updated to 5.2 on Nov 12th, 2771498707c194c70cf25ad9473be66ef59cfb46, so I went ahead and grabbed the corresponding LuaXml library for version 5.2 not 5.1.


2013-12-12 02:12:42.615049 [ERR] mod_lua.cpp:199 multiple Lua VMs detected
stack traceback:
[C]: in ?
[C]: in function 'require'
/usr/local/share/lua/5.2/LuaXml.lua:1: in main chunk
[C]: in function 'require'
/opt/freeswitch/scripts/parser.lua:2: in main chunk

So now it's a matter of tracing down this error, which is where this mailing list post left off:  http://freeswitch-users.2379917.n2.nabble.com/Not-really-a-Freeswitch-issue-but-td7595250.html

I'll keep pounding away at this and update the list once I figure it out.


James


On Wed, Dec 11, 2013 at 4:05 PM, James Mortensen <james.mortensen@synclio.com> wrote:
Hello,

I just ran git pull and rebuilt FreeSWITCH, and now Lua is unable to locate the LuaXml library.

module 'LuaXml' not found:
no field package.preload['LuaXml']
no file '/usr/local/lib/lua/5.2/LuaXml.so'
no file '/usr/local/lib/lua/5.2/loadall.so'
no file './LuaXml.so'

and another:

module 'LuaXml' not found:
no field package.preload['LuaXml']
no file './LuaXml.so'
no file '/usr/local/lib/lua/5.1/LuaXml.so'
no file '/usr/lib/x86_64-linux-gnu/lua/5.1/LuaXml.so'
no file '/usr/lib/lua/5.1/LuaXml.so'
no file '/usr/local/lib/lua/5.1/loadall.so'

Note that in /usr/local/lib/lua/5.1 there is a LuaXML_lib.so, but no LuaXml.so.  

Those are example of one of the many error messages the system has been spitting out at me.  Tt's complaining about not finding a LuaXml.so despite none actually existing on the box and despite following the instructions in the wiki.

I already followed the instructions in http://wiki.freeswitch.org/wiki/Mod_lua for installing LuaXml via the luarocks package manager, so since that didn't work I tried including the library manually from the luaxml website.  Although the lua on the box can run the test.lua script successfully, I am not having luck in FreeSWITCH.

I also tried recompiling from scratch running the bootstrap and configure scripts.  No luck.

I've also tried installing both Lua 5.1 and Lua 5.2.  I realize the wiki shows 5.1 being used, but I already tried that and moved onto trying other things.  Still working on trying to figure out what happened, but wanted to see if anyone else is having any trouble with this as well.  I realize Lua is embedded in FreeSWITCH, so I'm a bit confused about why it can't find the library.

Using lua 5.2 on the box, I can run the test.lua script that users the library, what version of Lua does FreeSWITCH use?  I'm not convinced it's using an embedded version of Lua based on the fact that I see it trying to use the paths from the Lua installed from apt-get.


James






_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com

FreeSWITCH-powered IP PBX: The CudaTel Communication Server
http://www.cudatel.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org




--
Anthony Minessale II       ♬ @anthmfs  ♬ @FreeSWITCH  ♬

_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com

FreeSWITCH-powered IP PBX: The CudaTel Communication Server
http://www.cudatel.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org



_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com

FreeSWITCH-powered IP PBX: The CudaTel Communication Server
http://www.cudatel.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org




--
Anthony Minessale II       ♬ @anthmfs  ♬ @FreeSWITCH  ♬

☞ http://freeswitch.org/  ☞ http://cluecon.com/  ☞ http://twitter.com/FreeSWITCH
☞ irc.freenode.net #freeswitch ☞ http://freeswitch.org/g+

ClueCon Weekly Development Call 
☎ sip:888@conference.freeswitch.org  ☎ +19193869900