gpt4 book ai didi

linux - Lua:找不到加载模块文件时出错

转载 作者:太空狗 更新时间:2023-10-29 12:13:12 24 4
gpt4 key购买 nike

我正在尝试设置 Lighttpd + lua + fastcgi 以在嵌入式 MIPS 板上运行 Web 界面。但这里的重要部分,我想是 Lua。尝试运行/usr/local/bin/wsapi.fcgi(这是 lua 脚本)时出现此错误:

/usr/bin/lua: error loading module 'lfcgi' from file '/usr/local/lib/lua/5.1/lfcgi.so':
File not found
stack traceback:
[C]: ?
[C]: in function 'require'
/usr/local/share/lua/5.1/wsapi/fastcgi.lua:9: in main chunk
[C]: in function 'require'
/usr/local/bin/wsapi.fcgi:9: in main chunk
[C]: ?

这真的很奇怪,因为 ls 显示文件在那里并且所有权限都正常:

# ls -l /usr/local/lib/lua/5.1/lfcgi.so
-rwxr-xr-x 1 0 0 21152 /usr/local/lib/lua/5.1/lfcgi.so

更令人沮丧的是,如果我真的删除了文件,lua 会显示不同的错误,这意味着第一个错误并不是真正由 lua 无法正确定位文件引起的。所以我在这里有点迷路,看起来错误消息具有误导性,问题不在于找不到文件,而是...

附言错误来自文件 wsapi/fastcgi.lua,第 9 行如下所示:

local lfcgi = require"lfcgi"

- 也许 require 语法有问题?我不是 lua 方面的专家,所以我不知道。

最佳答案

好的,我想通了。正如@Ctx 所建议的那样,它原来是一个缺失的依赖项。

readelf -d lfcgi.so | grep NEEDED 

显示它需要 libfcgi.so.0,它是 libfcgi.so 的符号链接(symbolic link),我只有最后一个,没有符号链接(symbolic link)。创建符号链接(symbolic link)后,它现在可以工作了(实际上它伴随着另一个错误,但这是一个不同的故事 :P)。

顺便说一下 - 错误消息真的很困惑 - 看起来文件 lfcgi.so 丢失了,而实际上它是导致问题的依赖项之一。

关于linux - Lua:找不到加载模块文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34336943/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com