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

时间:2018-01-25 22:57:16

标签: linux makefile lua pkg-config

我尝试从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文件移动到另一个目录,该目录列在程序包configure-er路径中,以查看是否有帮助,但相同发生了错误,所以我将它们移回原来的位置。

所以我的主要问题是:为什么包配置者找不到lua50.pc文件,尽管它找到了正确的目录?

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

1 个答案:

答案 0 :(得分:0)

我在构建过程中遗漏了几个步骤。我正确构建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用于我的构建)。

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

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

在不破坏桌面发行版的情况下,您可以轻松触摸它,但它足以满足我的评估需求。