使用lua时加载模块时出错

我刚接触Lua并学习Torch。 我只是按照说明安装了Torch:http://torch.ch/docs/getting-started.html#_并使用luarocks install添加了一些包。然后我写了一个测试文件:

require 'torch'
require 'nn'

--[[做一些事情]]

当我使用 lua test.lua(Ubuntu 14.04)运行时,它会出现以下错误:

从文件中加载模块'libpaths'时出错 '/home/user1/torch/install/lib/lua/5.1/libpaths.so': /home/user1/torch/install/lib/lua/5.1/libpaths.so:未定义符号: luaL_register

它似乎是路径设置或其他问题。但是,当我使用命令th运行测试时,它可以正常工作。 我搜索并检查了这些答案:加载模块错误(Lua) Torch7 Lua,加载模块'libpaths'出错(Linux),然而它们并没有完全回答我的问题。

所以我想知道错误到底来自哪里,以及如何修复它。即使我可以使用th来运行我的文件。

添加: 我发现原因可能是API luaL_register在我正在使用的版本5.2中不受支持,而th调用的是5.1版本的Lua shell?这是否意味着我只能使用th来运行我的文件?

点赞
用户1442917
用户1442917

你可能正在使用操作系统自带的 Lua(很可能是 5.2 版本),但 Torch 需要使用附带的 LuaJIT。请将你的脚本运行为 luajit test.lua(该命令很可能在 /home/user1/torch/install/bin/luajit 中)。

2016-04-13 14:25:01