我尝试从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.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
文件移动到另一个目录,该目录列在程序包configure-er路径中,以查看是否有帮助,但相同发生了错误,所以我将它们移回原来的位置。
所以我的主要问题是:为什么包配置者找不到lua50.pc
文件,尽管它找到了正确的目录?
编辑:我设法通过简单地将lua50.pc
重命名为lua.pc
来解决错误,这让我相信它无法找到它的原因是因为它实际上是在寻找一个名为lua.pc
的文件而不是一般的lua pc文件。除此之外,我的问题仍然存在,因为我觉得这不是一个长期可行的解决方案。
答案 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处理程序。这可能会有所不同,但在我的机器上,档案处理程序也需要关闭。
在不破坏桌面发行版的情况下,您可以轻松触摸它,但它足以满足我的评估需求。