lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

On 8 January 2011 23:16, Jonathan Shore <> wrote:

I'm relatively new to Lua and looking to use it as a scripting extension in a high frequency real-time application.   I hope to use LuaJIT as opposed to the interpreter to get the extra performance I need.

I am using Snow Leopard (64 bit mode) on a Xeon with gcc 4.2.1.   I've been unable to get luajit to work properly when embedded, receiving a SEGV on either LuaJit-2.0.0-beta5 or a build off of the git HEAD.

The test program is as follows:

#include <stdio.h>
#include <lua.hpp>
int main(int argc, char** argv) 
        // Create a new lua state
        lua_State *L = lua_open();
        // Now use this class in a lua script
                "function f(x)\n"
                "       return x*x\n"
                "sum = 0\n"
                "for i=1,10000 do\n"
                "       sum = sum + f(i)\n"
                "print (sum)\n"

Building with the interpreted 
g++ -g -I../../lib/include/ -I../../lib/include/lua -L../../lib/macos -L/usr/local/lib -llua5.1 basic.cpp -o basic

Building with LuaJIT
g++ -g -I../../lib/include/ -I../../lib/include/lua -L../../lib/macos /usr/local/lib/libluajit-5.1.a  basic.cpp -o basic 

The former executes as expected and the later (with LuaJIT) consistently fails with a SEGV.  Running in gdb indicates:

Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000004
0x00000001000370d8 in lj_alloc_malloc ()

Ideas?   I don't believe I can use LuaJIT-1.1.6 as does not appear to have 64bit support?



Jonathan on Mac Osx x86-64 you have to rebase the executable, see the last section on the installation page.