如何解决“ PKG_PROG_PKG_CONFIG:找不到命令”错误?


13

我有Ubuntu 13.10 32位系统。最近,当我尝试通过运行进行编译时./autogen.sh./configure我得到了

 PKG_PROG_PKG_CONFIG: command not found

错误。我已经libtool安装好了。我有三个aclocal会文件usr/share/一样alocalaclocal-1.13aclocal-1.4

如何解决该本地错误?

编辑:

前一段时间,我从源代码编译并安装了最新版本的automake,因为源代码需要最新版本的automake才能运行配置过程。从那时起,每当我在源目录中运行标准./autogen/configure命令来生成时,makefile我都会得到

  PKG_PROG_PKG_CONFIG: command not found

错误

  find /usr -name "pkg.m4"

给我

  /usr/share/aclocal/pkg.m4

  aclocal --print-ac-dir

给我

  /usr/local/share/aclocal

是否pkg-config安装了软件包?该文件/usr/share/aclocal/pkg.m4在您的系统上是否存在?
钢铁司机

您要编译什么?
Jobin 2014年

@steeldriver find /usr -name "pkg.m4"给了我/usr/share/aclocal/pkg.m4
Kenn 2014年

@Jobin我试图编译这个:codeload.github.com/blazt/submarine/zip/master
KENN

什么aclocal --print-ac-dir发言权?
钢铁司机

Answers:


18

PKG_PROG_PKG_CONFIG变量引用pkg.m4作为pkg-config软件包的一部分提供的宏,因此首先要检查的是已安装pkg-config且该宏文件位于默认位置(当然是可读的)

dpkg -l pkg-config

ls -l /usr/share/aclocal/pkg.m4

如果检查出来,那么问题就变成为什么aclocal找不到它?您可以aclocal使用--print-ac-dir开关检查在何处配置为查找第三方m4文件,即

aclocal --print-ac-dir

如果与上面的位置不同,则表明系统上存在一个非标准版本的automake-如果无法解决该问题,则可能的解决方法是ACLOCAL_PATH在运行autogen之前设置或导出环境变量。 sh脚本

ACLOCAL_PATH=/usr/share/aclocal ./autogen.sh

要么

export ACLOCAL_PATH=/usr/share/aclocal
./autogen.sh
./configure

请参阅GNU automake手册的宏搜索路径部分。


或者,PKG_PROG_PKG_CONFIG可能来自变量分配中的错字,例如PKG_PROG_PKG_CONFIG<space>=...而不是PKG_PROG_PKG_CONFIG=...grep "PKG_PROG_PKG_CONFIG "在您的文件上。
waltinator 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.