Pkg-config 路径在正确的目录中,但找不到 .pc 文件
我正在尝试从 MakeFile 构建 SWUpdater,但在构建时出现以下错误
Package lua was not found in the pkg-config search path.
Perhaps you should add the directory containing `lua.pc'
to the PKG_CONFIG_PATH environment variable
No package 'lua' found
Package lua was not found in the pkg-config search path.
Perhaps you should add the directory containing `lua.pc'
to the PKG_CONFIG_PATH environment variable
No package 'lua' found
Package lua was not found in the pkg-config search path.
Perhaps you should add the directory containing `lua.pc'
to the PKG_CONFIG_PATH environment variable
No package 'lua' found
make: 'Makefile' is up to date.
根据我在网上阅读到的信息,这个错误告诉我,当系统正在查找 SWUpdate 依赖文件时,它无法在 pkg-config 查找的任何地方找到 lua.pc 文件。
我查看了 usr/lib/pkgconfig 中的文件,并在该目录下找到了 lu50.pc 和 lualib50.pc 文件。同时,我也查看了包配置程序查找的位置,使用了以下命令:
pkg-config --variable pc_path pkg-config
它告诉我它正在 /usr/lib/pkgconfig 中查找,以及其他地方。我看到有人提到可以检查 PKG_CONFIG_PATH 变量以查看它设置为什么。我检查后发现它为空,因此我认为我只需要将路径设置为 /usr/lib/pkgconfig 即可,使用以下命令:
export PKG_CONFIG_PATH=/usr/lin/pkgconfig
我检查了路径,再次运行了 make 命令,但出现了相同的错误。
最后我尝试通过将 lua50.pc 和 lualib50.pc 文件移动到其他被列为包配置程序路径的目录中来解决这个问题,但仍然出现相同的错误,因此我将它们移回了原来的位置。
所以我的主要问题是:为什么包配置程序在查找正确的目录中的 lua50.pc 文件时找不到它?
编辑:我已经通过将 lua50.pc 重命名为 lua.pc 来避免这些错误,这让我相信它无法找到它的原因是因为它实际上在查找名为 lua.pc 的文件,而不是一般的 lua pc 文件。尽管如此,我的问题仍然存在,因为我有一种直觉,这不是长期可行的解决方案。
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

我在构建过程中错过了几个步骤。我成功构建SWUpdate的过程是:
sudo apt-get install lua5.2 sudo apt-get install lua-dev sudo apt-get install liblua5.2-dev sudo apt-get install libconfig-dev sudo apt-get install libjson-c-dev sudo apt-get install libcurl4-openssl-dev sudo apt-get install libsystemd-dev sudo apt-get install libssl-dev我需要解释的是,我正在进行的是Ubuntu系统的全新安装,但谨慎起见,最好还是完成上述命令。
接下来,进入SWUpdate目录并运行'make menuconfig'。在这里,将启动加载程序更改为您的发行版中使用的任何项。然后进入“SWUpdate设置”,澄清您使用的Lua版本(我的构建使用的是Lua5.2)。
由于本篇文章涉及在桌面版系统上构建,重要的是要关闭一些无法使用的功能,例如MTD支持。SWUpdate会构建失败,因为桌面版发行版往往没有这些嵌入式工具。
同样适用于处理程序,最好保持MTD和UBI处理程序关闭,除非您想追踪许多不同的包含文件。这可能因机器而异,但在我的机器上,归档处理程序也需要关闭。
如果您开启了某些功能,可能会损坏桌面版发行版。但对于我的评估需求来说,它已经足够好了。