pkg-config:PKG_PROG_PKG_CONFIG:找不到命令

Posted

技术标签:

【中文标题】pkg-config:PKG_PROG_PKG_CONFIG:找不到命令【英文标题】:pkg-config: PKG_PROG_PKG_CONFIG: command not found 【发布时间】:2013-06-10 00:04:44 【问题描述】:

我收到以下错误

./configure: line 11162: PKG_PROG_PKG_CONFIG: command not found

当这是代码在 (kivy-ios/tools-build-sdlmixer.sh) 中执行时

if [ ! -f libtremor/tremor/.libs/libvorbisidec.a ]; then
        try cd libtremor/tremor
        echo > asm_arm.h
        CC="$ARM_CC" AR="$ARM_AR" \
        LDFLAGS="$ARM_LDFLAGS" CFLAGS="$ARM_CFLAGS" \
        OGG_CFLAGS="-I../../libogg/include" \
        OGG_LDFLAGS="-L../../libogg/src/.libs" \
        PKG_CONFIG_LIBDIR="../../libogg" \
        ACLOCAL_FLAGS="-I $DESTROOT/share/aclocal -I `aclocal --print-ac-dir`" ./autogen.sh \
            --prefix=$DESTROOT \
                --disable-shared \
                --host=arm-apple-darwin \
                --enable-static=yes \
                --enable-shared=no
        try make
        try make install
        try cd ../..
fi

我的 pkg-config 应用程序位于我的 PATH (/usr/local/bin) 中。我还尝试将命令行上的 PKG_CONFIG_PATH 导出到 /usr/local/bin/pkg-config 和 /usr/local/lib/pkgconfig。我也尝试将 LD_LIBRARY_PATH 导出到各种路径(不确定它应该指向 tbh 的位置),但这似乎也无济于事。

我在我的系统上阅读了有关多个 aclocal 目录的信息,这可能是有问题的,但我不清楚如何解决该问题或确定其问题。

这个 linux 构建新手(在 OSX 上)感谢任何帮助。

【问题讨论】:

【参考方案1】:

当该脚本调用autogen.sh 时,aclocal 无法找到pkg.m4,这是pkg-config 附带并提供PKG_PROG_PKG_CONFIG 宏的M4 宏包。 pkg-config 安装在哪里,aclocal 搜索哪些目录?

【讨论】:

哪个 pkg-config 返回 /usr/local/bin/pkg-config。 echo $PKG_PROG_PKG_CONFIG 未设置。 find /usr -name "pkg.m4" 返回以下内容:/usr/local/share/aclocal/pkg.m4 /usr/X11/share/aclocal/pkg.m4。如何判断 aclocal 正在搜索哪些目录? 所以我在包含 pkg.m4 的目录中添加了另一个 -I,这似乎让我解决了这个问题,尽管我认为这表明存在更深层次的问题。 可以自己设置aclocal路径ACLOCAL_PATH=/usr/local/share/aclocal ./autogen.sh【参考方案2】:

对于 DockerImage 的 linux Alpine 也有同样的问题。

通过安装autoconfautomakepkgconf解决了这个问题:

apk --update add autoconf automake build-base libtool nasm pkgconf

【讨论】:

以上是关于pkg-config:PKG_PROG_PKG_CONFIG:找不到命令的主要内容,如果未能解决你的问题,请参考以下文章

pkg-config

pkg-config

pkg-config:设置 -rpath 的最佳实践?

gcc中pkg-config的意义是啥?

如何将 pkg-config 名称映射到 yum/apt-get

pkg-config 用法