可能未定义的宏:AC_MSG_FAILURE

possibly undefined macro: AC_MSG_FAILURE

尝试基于作为 MD5 engine 示例的演示代码创建 OpenSSL 引擎。 readme 文件说我必须使用以下命令来构建引擎:

$ autoreconf -i
$ ./configure
$ make

到目前为止一切顺利。问题是当我执行 autoreconf -i 时会生成一个错误:

configure.ac:18: error: possibly undefined macro: AC_MSG_FAILURE
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
autoreconf: /usr/bin/autoconf failed with exit status: 1

我不得不提一下,我已经安装了所有需要的工具(autoconf、automake、libtool、pkg-config),并且我在 Google 搜索的第一页上用尽了所有结果。
如果我使用命令 autoreconf -vi,错误不会出现,但不会生成 Makefile,所以我无法完成构建过程。
我的 OS 是 Ubuntu 14.04 64 位,OpenSSL 版本是 1.0.1f 2014 年 1 月 6 日。
我做错了什么?有什么问题?

不幸的是,这是autoconf的一个常见问题,错误的宏会报错。最简单的方法是查找在 AC_MSG_FAILURE 之前调用的最新宏,在链接代码中为 AX_CHECK_OPENSSL.

AX_ 前缀被 Autoconf Archive 宏使用,这让您知道在哪里可以找到它。

我建议在引擎的存储库中创建一个 m4 目录,并将正确的宏文件从存档复制到其中,然后使用 autoreconf -fi -I m4 让它在那里查找宏文件。