- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试构建 libpsl来自 GutHub 来源。它需要一个 autoreconf
。 Autotools is failing with :
# Try to reconfigure. Autotools is so broken...
libtoolize --force && aclocal && autoheader && autoreconf --force --install
...
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
configure.ac:62: error: possibly undefined macro: AC_MSG_ERROR
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:68: error: possibly undefined macro: AC_MSG_CHECKING
configure.ac:70: error: possibly undefined macro: AC_MSG_RESULT
configure.ac:87: error: possibly undefined macro: AC_LINK_IFELSE
configure.ac:88: error: possibly undefined macro: AC_LANG_PROGRAM
configure.ac:222: error: possibly undefined macro: AC_SEARCH_LIBS
...
我找到了 Possibly undefined macro: AC_MSG_ERROR和 AS_IF and AC_MSG_ERROR: error: possibly undefined macro ,但猜测并没有解决我的问题。在过去的 4 个小时里,我一直在尝试猜测。
我想停止猜测并解决问题。我遇到的问题是,我找不到有关解决 Autotools 问题的信息或程序。商议,"troubleshoot" autoconf site:gnu.org .
我想出的最好办法是使用 -v
运行命令,但我没有看到复制 general.m4
的尝试。如果我没记错的话,general.m4
提供了 AC_MSG_ERROR
所以我应该看到它被访问了。所以我的程序有明显的漏洞或缺陷。并且文件存在:
$ find /usr/local -name general.m4
/usr/local/share/autoconf/autoconf/general.m4
/usr/local/share/autoconf/autotest/general.m4
如何解决 可能未定义的宏:AC_MSG_ERROR
Autotools 问题?
最佳答案
How does one troubleshoot a Possibly undefined macro:
AC_MSG_ERROR
problem with Autotools?
首先,在可能的情况下,应该通过不重建构建系统 来完全避免这种情况。 Autotools 构建系统旨在不需要将重建作为构建包的先决条件,因此第一步应该始终是尝试 ./configure; make
根本不运行 Autotools。
如果您确实需要重建构建系统,这有时是必要的,因为即使是最好的 Autotools 黑客也无法解释所有可能的当前和 future 构建环境,那么第一步是确保您拥有最新版本的Autotools 并运行 autoreconf --install --force
(我看到你已经在做了)。这可确保为您拥有的 Autotools 版本正确设置所有内容。
这让我们回到了实际问题,关于故障排除,特别是关于引用标准 Autoconf 宏(例如 AC_MSG_ERROR
)的错误故障排除。您可以使用多种工具和方法,其中包括:
查看警告中报告的 configure.ac
行,尤其是最低的行,以及前面的行。这个特定的错误表明文本被发送到输出文件中,看起来像一个未扩展的宏名称,因此问题通常是由不正确的引用或未闭合的宏参数列表引起的。
检查 Autoconf 输出的 configure
脚本。找到它开始出错的地方(在这种情况下,未扩展的宏名称将帮助您找到它),并将它和前面的正确输出与您的 configure.ac
和任何外部的内容相关联它所依赖的宏定义。这可以帮助您查明错误的轨迹。
您可以使用 #
或 dnl
注释掉 Autoconf 源代码行,以应用二分法跟踪错误行。
直接运行 autoconf
,带有额外的面向调试的选项。例如,
autoconf --verbose --force --warnings=all
还有一个 --debug
选项可以保留临时文件,但我怀疑它对您的目的用处不大。
在某些情况下,使用 --trace
选项可能有助于跟踪对一个或多个宏的调用,但我认为这与您询问的特定错误。请注意,跟踪输出取代了 autoconf
通常输出的配置脚本。
关于autotools - 如何解决 "Possibly undefined macro: AC_MSG_ERROR",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48093804/
我在configure.ac中有以下内容: AC_CHECK_PROGS(MAKE,$MAKE make gmake,error) if test "x$MAKE" = "xerror" ;then
我正在尝试构建 libpsl来自 GutHub 来源。它需要一个 autoreconf。 Autotools is failing with : # Try to reconfigure. Autot
我在尝试构建 libnice-0.1.10 时遇到了这样的错误。对于解决方案,我正在关注 possibly undefined macro: AC_MSG_ERROR ,但仍然没有到达那里。 一些程序
我是一名优秀的程序员,十分优秀!