Pkg-config 路径在正确的目录中查找,但未找到 .pc 文件

Pkg-config path looks in the correct directory, but isn't finding the .pc file

我正在尝试从 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 所依赖的所有文件时,它无法在任何文件中找到 lua.pc 文件pkg-config 看起来的地方。

我查看了 usr/lib/pkgconfig 并在该目录中找到了 lu50.pclualib50.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.pclualib50.pc 文件移动到另一个目录中,该目录在包配置路径中列出,以查看是否有任何帮助,但是出现同样的错误,所以我把它们移回原来的位置。

所以我的主要问题是:为什么软件包配置器在正确的目录中查找 lua50.pc 文件?

编辑:我设法通过简单地将 lua50.pc 重命名为 lua.pc 来绕过错误,这让我相信它可以的原因找不到它是因为它实际上是在寻找一个名为 lua.pc 的文件,而不是一般的 lua pc 文件。除此之外,我的问题仍然存在,因为我直觉认为这不是一个长期可行的解决方案。

我在构建过程中遗漏了几个步骤。我遵循的正确构建 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 Settings" 并说明您使用的 Lua 版本(Lua5.2 用于我的构建)。

由于此 post 涉及在桌面 ditro 上构建,关闭一些我们无法使用的功能很重要,例如 MTD 支持。 SWUpdate 将无法构建,因为桌面发行版往往没有这些嵌入式工具。

处理程序也是如此,最好关闭 MTD 和 UBI 处理程序,除非您想追踪很多不同的包含。这可能会有所不同,但在我的机器上也需要关闭归档处理程序。

在不破坏此桌面发行版的情况下,您可以随意打开它,但它足以满足我的评估需求。