On Sun, Sep 27, 2020 at 01:03:03PM -0500, Bob Friesenhahn wrote: > Today I am trying autoconf-2.69c with GraphicsMagick's configure.ac and am > only encountering utter failure. > > A great many macros (still used to provide backward compatibility) are now > declared as obsolete. I ran 'autoupdate' and see that AC_TRY_COMPILE > statements were changed to use new syntax. The problem is that with the > replacement code it inserted I get this m4 error: > > libtoolize: found LT_INIT invocation > m4:configure.ac:1045: recursion limit of 1024 exceeded, use -L<N> to change it > autom4te: error: /usr/gnu/bin/m4 failed with exit status: 1 > aclocal: error: echo failed with exit status: 1 > m4:configure.ac:1045: recursion limit of 1024 exceeded, use -L<N> to change it > autom4te: error: /usr/gnu/bin/m4 failed with exit status: 1 > autoheader: error: '/usr/local/bin/autom4te' failed with exit status: 1 > m4:configure.ac:1045: recursion limit of 1024 exceeded, use -L<N> to change it > autom4te: error: /usr/gnu/bin/m4 failed with exit status: 1 It might help if you could post what the AC_TRY_COMPILE statements were changed into. If I understand correctly the definition in autoconf/general.m4 AU_DEFUN([AC_TRY_COMPILE], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[$1]], [[$2]])], [$3], [$4])]) is used by autoupdate. It would be a question of working out what is wrong with the new construction with AC_COMPILE_IF_ELSE. > I am also concerned that the first active line after executing 'autoupdate' > is this: > > AC_PREREQ([2.69c]) > > Presumably this means that version 2.69c is required to re-autoconf the > configure script. I certainly could not impose this overwhelming burden on > my users. If the resulting output can not be used with the prevailing > version (2.69) then I can not use it! I don't see now a new release can > obviate the stable release which preceded it and is still in primary use! I'm fairly certain that autoupdate is just putting the current version of autoconf in there and it would work OK with an older version, certainly 2.69 but possibly older versions too. Maybe the AC_PREREQ argument is not something that should be set automatically.