opensslautomakeautoreconf

possibly undefined macro: AC_MSG_FAILURE


Trying to create an OpenSSL engine based on a demo code which is an example of MD5 engine. The readme file says that i have to use the following commands in order to build the engine:

$ autoreconf -i
$ ./configure
$ make

So far so good. The problem is that when I'm executing autoreconf -i an error is generated:

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

I have to mention that I have installed all the needed tools (autoconf, automake, libtool, pkg-config) and I exhausted all the results on the first page in Google search.
If I'm using the command autoreconf -vi, the error doesn't show up, but the Makefile is not generated so I can't complete the build process.
My OS is Ubuntu 14.04 64-bit, OpenSSL version is 1.0.1f 6 Jan 2014.
What I'm doing wrong? What is the problem?


Solution

  • This is an unfortunately common problem with autoconf, where the error is reported for the wrong macro. The easy thing to do is to look for the most-recent macro called before AC_MSG_FAILURE, which in the linked code would be AX_CHECK_OPENSSL.

    AX_ prefix is used by Autoconf Archive macros, which gives you an idea where to find it.

    I would suggest creating a m4 directory in repository of the engine and copying the right macro file from acarchive into it, then use autoreconf -fi -I m4 to have it look for the macro file there.