我在Ubuntu 16.04上运行Lua 5.1
我所拥有的openssl版本符合dpkg -l | grep openssl
1.0.2g-1ubuntu4.5
。
我已经取消了Luasec 0.5.1的来源
安装说要跑
lua options.lua -g /usr/include/openssl/ssl.h > options.h
针对您的ssl版本生成新的options.h。
我已经完成了这项工作,然后使用make linux
构建而没有错误。
sudo make install
然后
install -d //usr/share/lua/5.1/ssl //usr/lib/lua/5.1
install -D ssl.so //usr/lib/lua/5.1
install -m644 -D ssl.lua //usr/share/lua/5.1
install -m644 -D https.lua //usr/share/lua/5.1/ssl
在我的代码中,我从
开始local socket = require("socket")
local smtp = require("socket.smtp")
local ssl = require("ssl")
在运行它时,ssl行产生:
lua: /usr/local/share/lua/5.1/ssl.lua:7: module 'ssl.core' not found:
no field package.preload['ssl.core']
no file 'ssl/core.lua'
no file '/usr/local/share/lua/5.1/ssl/core.lua'
no file '/usr/local/share/lua/5.1/ssl/core/init.lua'
no file '/usr/local/luajit/share/luajit-2.1.0-beta2/ssl/core.lua'
no file './ssl/core.so'
no file '/usr/local/lib/lua/5.1/ssl/core.so'
no file '/usr/local/lib/lua/5.1/loadall.so'
no file './ssl.so'
no file '/usr/local/lib/lua/5.1/ssl.so'
no file '/usr/local/lib/lua/5.1/loadall.so'
我在源代码中找不到core.lua
。它在这里寻找什么?
答案 0 :(得分:1)
ssl.core
在ssl.so
中定义,请参阅luaopen_ssl_core
。
但是,ssl.so
中安装了/usr/lib/lua/5.1
,但未在错误消息中列出的默认路径中找到。
将其移至/usr/local/lib/lua/5.1/ssl.so
或更改LUA_CPATH
或package.cpath
以包含/usr/lib/lua/5.1/
。
INSTALL告诉您调整顶级Makefile中的LUAPATH
和LUACPATH
。