PKG_PROG_PKG_CONFIG: command not found 解决方法


问题描述

  • 在ubuntu 18.04 64位系统,安装了mtd-utils相关的依赖库:

    sudo apt-get install zlib1g-dev liblzo2-dev uuid-dev pkg-config automake
    
  • 由于mtd-utils通过pkg-config工具检查各个库是否正常安装,则设置pkg-config工具搜索路径:

    export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/x86_64-linux-gnu/pkgconfig"
    
  • 编译mtd-utils工具时,尝试通过运行: ./autogen.sh 或 autoreconf,报错如下:

    PKG_PROG_PKG_CONFIG: command not found


原因分析:

  • PKG_PROG_PKG_CONFIG 宏定义是引用 pkg.m4 作为 pkg-config 软件包的一部分提供的,因此首先要检查的是 pkg-config 是否已安装,并且要确保该宏文件位于默认位置。具体操作如下:

  • 首先确认 pkg-config 已安装(执行命令若显示相关的版本号,证明已成功安装):

    pkg-config --version
    
  • 再次查找 pkg.m4 所在位置:

    find /usr -name "pkg.m4"
    

    搜索路径如下:

    /usr/share/aclocal/pkg.m4

  • 最后查找 aclocal 所在位置:

    aclocal --print-ac-dir
    

    搜索路径如下:

    /usr/local/share/aclocal

  • 通过以上的查找方法你会发现它们存在的位置并不一致,这就是系统为什么总是提示 PKG_PROG_PKG_CONFIG 找不到的原因,也就表明了在系统上存在一个非标准版本的automake。


解决方案:

-通过以上的原因分析后,我们总算找到了问题发生的原因了。那如何解决该问题呢?解决方法如下:

  • 方法1,将 /usr/share/aclocal/*.m4 文件都拷贝到 /usr/local/share/aclocal/ 目录下(推荐):

    sudo cp /usr/share/aclocal/*.m4 /usr/local/share/aclocal/
    
  • 方法2,手动配置 “aclocal 的安装路径” 到环境变量 ACLOCAL_PATH:

    export ACLOCAL_PATH=/usr/share/aclocal
    
  • 重新运行 ./autogen.sh 就可以编译通过了。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

积步千里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值