PKG_CHECK_MODULES 宏没有正确扩展,而我确实安装了 pkg-config 并且可以正常工作

Posted

技术标签:

【中文标题】PKG_CHECK_MODULES 宏没有正确扩展,而我确实安装了 pkg-config 并且可以正常工作【英文标题】:PKG_CHECK_MODULES macro not properly expanding, while i do have pkg-config installed and working 【发布时间】:2020-06-30 13:21:48 【问题描述】:

在您链接到之前:Using the pkg-config macro PKG_CHECK_MODULES failing

这并不能解决我的解决方案。我确实安装了 pkg-config。当我输入aclocal --print 时,它给出的第一件事是main::scan_file() called too early to check prototype at /usr/local/bin/aclocal line 618。在./bootstrap 中也是如此。 然后它给出目录/usr/local/share/aclocal

由于某种原因,宏仍然不起作用。我在 Artix linux(类似 Arch 的发行版)上,使用 automake 1.16.2-3 和 pkg-conf 1.7.3-1。 ./configure、config.log 和 ./bootstrap 的输出为:https://pastebin.com/NY1GgtFF (configure)、https://pastebin.com/iDAUXRv3 (config.log) 和 https://pastebin.com/aRVw00Ex (bootstrap)

无论如何,宏扩展都会失败。你有什么想法?我将如何设置 m4_pattern_allow 标志?此错误发生在 openbox 和 lxterminal 上。我还没有尝试过遇到此错误的任何其他程序,但我认为它发生在哪个程序上并不重要

我真的希望我提供了足够的信息,这是我的第一篇文章,所以我希望我做的一切都正确

【问题讨论】:

所以我想您正在尝试构建 openbox,但是哪个版本或存储库? @IanAbbott 我正在克隆github.com/danakj/openbox 你所有的 autoconf/automake 东西都安装在 /usr/local 下。你自己建造的吗? Artix Linux 肯定有这类东西的软件包吗? @IanAbbott 不,这一切都来自 artix 的回购。 我只是想知道为什么它在 /usr/local 而不是 /usr。我已经很久没有使用 Arch,但它肯定并没有偏离 Linux Standard Base 规范那么大。 【参考方案1】:

pkg-confpkg-config 不同——前者是低深度的重新实现,不附带您需要安装宏的 pkg.m4 文件。

如果您尝试构建的软件带有捆绑在存储库和/或压缩包中的pkg.m4 的副本,您可能只需将-I m4 添加到@ 的调用中987654326@,否则需要从pkg-config 分发中获取pkg.m4 文件。

【讨论】:

谢谢,我切换到 void linux,但是 -I m4 正是我需要的,因为它是捆绑的!

以上是关于PKG_CHECK_MODULES 宏没有正确扩展,而我确实安装了 pkg-config 并且可以正常工作的主要内容,如果未能解决你的问题,请参考以下文章

PKG_CHECK_MODULES 认为有害吗?

SWIG 不扩展嵌套宏“错误:输入中的语法错误 (3)”

有没有一种方法可以将宏名称作为参数传递给嵌套宏,而不会在扩展最外层的宏时扩展它们?

使自定义 Airflow 宏扩展其他宏

扩展宏进行调试?

扩展宏以进行调试?