2014-04-03 1 views
3

내가 luajit 2.0.3를 사용하고, 나는 myproject.When에 luasocket를 사용 jit에 소켓을 필요로 할, 내가 lua5으로 debian 5.0luasocket 3.0을 컴파일luasocket 3.0, 정의되지 않은 심볼 : lua_callk

"error loading module 'socket.core' from file '/usr/local/lib/lua/5.1/socket/core.so': /usr/local/lib/lua/5.1/socket/core.so: undefined symbol: lua_callk. 

오류를보고했습니다. 1. 많은 답변을 검색했지만 아무도 도움이되지 않았습니다. 나는 lua5.1과 함께 debian 5.0에서 luasocket 3.0을 컴파일했다.

답변

1

LuaJIT는 Lua 5.1과 ABI 호환되므로 표준 Lua 헤더에 대해 C 모듈을 컴파일하고 Lua 또는 LuaJIT에서로드 할 수 있습니다.

오류 메시지에서 알 수 있듯이 LuaSocket에는 lua_callk 함수가 필요하지만 오늘은이 함수가 LuaJIT에 구현되어 있지 않습니다. 이 기능을 구현하는 요청은 lua_pcallklua_yieldk이지만 Lua 5.2가 Aua [1]로 전환하려면 LuaJIT가 필요합니다.

LuaSocket (예 : 2.0.2)의 이전 버전으로 전환하거나 5.1 ABI 호환성을 유지하면서 LuaSocket을 컴파일 할 수 있는지 확인하십시오.

[1] http://www.freelists.org/post/luajit/Yielding-across-C-boundaries,3

관련 문제