lua-users home
lua-l archive

LuaJIT working on 64bit OSX?

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


Hi,

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();
luaL_openlibs(L);
// Now use this class in a lua script
luaL_dostring(L,
"function f(x)\n"
" return x*x\n"
"end\n"
"sum = 0\n"
"for i=1,10000 do\n"
" sum = sum + f(i)\n"
"end\n"
"print (sum)\n"
);
lua_close(L);
}


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?

Thanks

Jonathan

AltStyle によって変換されたページ (->オリジナル) /