【问题标题】:Using Luasec produces "module 'ssl.core' not found"使用 Luasec 会产生“找不到模块‘ssl.core’”
【发布时间】:2016-12-03 18:46:01
【问题描述】:

我在 Ubuntu 16.04 上运行 Lua 5.1

我的openssl版本是根据dpkg -l | grep openssl1.0.2g-1ubuntu4.5.

我已经下载了 Luasec 0.5.1 的源代码

INSTALL 说要运行 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。它在这里寻找什么?

【问题讨论】:

    标签: linux ssl lua


    【解决方案1】:

    ssl.coressl.so 中定义,参见luaopen_ssl_core

    但是,ssl.so 安装在 /usr/lib/lua/5.1 中,在错误消息中列出的默认路径中找不到。

    将其移至/usr/local/lib/lua/5.1/ssl.so 或更改LUA_CPATHpackage.cpath 以包含/usr/lib/lua/5.1/

    INSTALL 告诉您在顶级 Makefile 中调整 LUAPATHLUACPATH

    【讨论】:

      猜你喜欢
      • 2012-02-14
      • 2020-09-28
      • 2021-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-26
      • 2018-04-05
      • 2020-04-08
      相关资源
      最近更新 更多