2014-06-05 21 views
5

Tôi đang sử dụng lua 5.1 trong linux system.I cài đặt luasocket 2.0.2 sử dụng này manual .Nhưng khi tôi thực thi mã dưới đây của tập tin test.lualỗi khi cài đặt lua ổ cắm

socket = require("socket") 
print(socket._VERSION) 

tôi nhận được các lỗi sau đây:

lua: ./usr/local/share/lua/5.1/socket.lua:14: loop or previous error loading module 'socket' 

stack traceback: 

    [C]: in function 'require' 

    ./usr/local/share/lua/5.1/socket.lua:14: in main chunk 

    [C]: in function 'require' 

    test.lua:1: in main chunk 

    [C]: ? 

Nhưng tôi đã bao gồm các biến môi trường như sau:

LUA_PATH=/usr/local/share/lua/5.1/?.lua;?.lua 

LUA_CPATH=/usr/local/lib/lua/5.1/?.so;?.so 

Trả lời

2

Bạn thường gặp lỗi này khi bạn có vòng lặp trong các cuộc gọi require của mình, ví dụ: khi bạn thực hiện require "socket" và từ mô-đun đó bạn thực hiện lại require "socket", trước khi cuộc gọi require đầu tiên kết thúc.

Kiểm tra dòng 14 trong socket.lua tệp. Nó có lẽ nên có một cái gì đó như local socket = require("socket.core") (và không require("socket")). Để kiểm tra xem sự cố có đang xảy ra với việc tải socket.core hay không, hãy thử thực hiện require "socket.core" trong tập lệnh của riêng bạn vì nó có thể cung cấp cho bạn thông báo lỗi tốt hơn.

+1

bt hiện tại có lỗi "mô-đun tải lỗi 'socket.core' từ tệp '/usr/local/lib/lua/5.1/socket/core.so': \t/usr/local/lib/lua/5.1/socket/core.so: biểu tượng không xác định: luaL_getmetatable " –

+1

Bạn có thể muốn kiểm tra câu hỏi SO này và câu trả lời đầu tiên: http://stackoverflow.com/questions/8361437/linker-error-lunatic-python-lua-requiresocket -undefined-symbol-lua-getme –