Bug #41381 5.1.30 build depends on automake 1.10 and autoconf 2.60
Submitted: 10 Dec 2008 23:34 Modified: 11 Dec 2008 20:20
Reporter: Mark Callaghan Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:5.1.30 OS:Any
Assigned to: CPU Architecture:Any
Tags: autoconf, automake, build

[10 Dec 2008 23:34] Mark Callaghan
Description:
The 5.1 build is documented to depend on autoconf 2.58 and automake 1.8.1 at http://dev.mysql.com/doc/refman/5.1/en/installing-source-tree.html. Because of mysql-5.1.30/aclocal.m4, it depends on autoconf 2.60 automake 1.10

From aclocal.m4
AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.10'

m4_ifndef([AC_AUTOCONF_VERSION],
  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(AC_AUTOCONF_VERSION, [2.63],,

Those versions are not available on my server and I get warnings when 'make' is run:
cd . && /bin/sh /export/hda3/sql51a/missing --run aclocal-1.10
/export/hda3/sql51a/missing: line 54: aclocal-1.10: command not found
WARNING: `aclocal-1.10' is missing on your system.  You should only need it if
         you modified `acinclude.m4' or `configure.in'.  You might want
         to install the `Automake' and `Perl' packages.  Grab them from
         any GNU archive site.
 cd . && /bin/sh /export/hda3/sql51a/missing --run automake-1.10 --foreign
/export/hda3/sql51a/missing: line 54: automake-1.10: command not found
WARNING: `automake-1.10' is missing on your system.  You should only need it if
         you modified `Makefile.am', `acinclude.m4' or `configure.in'.
         You might want to install the `Automake' and `Perl' packages.
         Grab them from any GNU archive site.
cd . && /bin/sh /export/hda3/sql51a/missing --run autoconf
aclocal.m4:20: warning: this file was generated for autoconf 2.63.
You have another version of autoconf.  It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.
configure.in:13: error: Autoconf version 2.60 or higher is required
aclocal.m4:7074: AM_INIT_AUTOMAKE is expanded from...
configure.in:13: the top level
autom4te: /usr/bin/m4 failed with exit status: 63
WARNING: `autoconf' is probably too old.  You should only need it if
         you modified `configure.in'.  You might want to install the
         `Autoconf' and `GNU m4' packages.  Grab them from any GNU
         archive site.

How to repeat:
see above

Suggested fix:
I can prevent the warnings locally by running BUILD/autorun.sh
[10 Dec 2008 23:47] Kent Boortz
If you didn't modify any autoconf input files or Makefile.am, this is definitely
a bug. Normal users just compiling from source should not be hit by this
problem.

For developers that modify the source the requirement of very new versions
of GNU auto tools is an inconvenience and should definitely be correctly
documented and also be coded into the specification files as requirement.
While good portability to a wide range of GNU autotools versions is good,
it is not a strong requirement.

Independently of the "aclocal.m4" you would have hit problems if the
"missing" script would try call the specific version of automake/autoconf
used during the build of the source TAR.
[10 Dec 2008 23:50] Mark Callaghan
My source control system doesn't preserve timestamps, so the auto* tools think they need to run. Normal users who build from the official tar files won't have this problem.

The fix might be limited to updating the docs with the new minimum versions for these tools. But was this change needed?
[11 Dec 2008 6:21] Sveta Smirnova
Thank you for the report.

Verified as described.

To repeat in usual environment:

./configure
touch aclocal.m4
make
[11 Dec 2008 20:20] Omer Barnir
To build, you should either use our generated files (configure) or you should generate all files (run aclocal yourself, which will generate an aclocal.m4).
Generating half the files, but relying on others, isn't something we should support.
Regardless, there is a workarownd of touch -t OLD_DATE_STAMP aclocal.m4