On Wed, Feb 18, 2026, at 12:27 AM, Emily Ammundsen wrote:
> The warning for STDC_HEADERS seems to get inserted directly into the
> `configure` script, namely the following text without any quoting:
>
> The preprocessor macro 'STDC_HEADERS' is obsolete.
> Except in unusual embedded environments, you can safely include all
> C89 headers unconditionally.)# Autoupdate added the next two lines to
> ensure that your configure
I tried to reproduce this problem and could not. When I run autoconf on
a simple configure.ac that uses one of the two macros that trigger the
warning above, like this
AC_INIT([demo], [1.0])
AC_HEADER_STDC
AC_OUTPUT
or like this
AC_INIT([demo], [1.0])
AC_STDC_HEADERS
AC_OUTPUT
the resulting configure script does not have the above message embedded
in it at all, and it's syntactically well formed. Autoconf does print a
warning message:
configure.ac:2: warning: The macro 'AC_HEADER_STDC' is obsolete.
configure.ac:2: You should run autoupdate.
../lib/autoconf/headers.m4:664: AC_HEADER_STDC is expanded from...
configure.ac:2: the top level
If I then run autoupdate as suggested, what I get is this (same in both cases):
AC_INIT([demo],[1.0])
m4_warn([obsolete],
[The preprocessor macro 'STDC_HEADERS' is obsolete.
Except in unusual embedded environments, you can safely include all
C89 headers unconditionally.])dnl
# Autoupdate added the next two lines to ensure that your configure
# script's behavior did not change. They are probably safe to remove.
AC_CHECK_INCLUDES_DEFAULT
AC_PROG_EGREP
AC_OUTPUT
Running autoconf on _this_ prints the warning message about STDC_HEADERS
but the resulting configure script, again, doesn't embed the warning message
and it runs fine.
...
> I ran `autoreconf -f -i` on a very old code base from around 2003
Ok, so that *probably* means it's being sloppy about M4 quotation and that's
*probably* the problem. M4 quotation errors can easily cause bizarre syntax
errors like this in the generated configure script, and, unfortunately,
autoupdate cannot correct those errors. I advise you to read through all
the subsections of
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.72/html_node/M4-Quotation.html
(it says "autoconf users can skip this" at the top but that's wrong)
and then try to edit your old configure.ac (or possibly it's so old that
it's named configure.in?) to quote things more carefully, and see if that
makes the problem go away.
If you can show me your very old code base (just a URL for a source code
repository is fine), I may be able to give more specific advice.
> I considered trying my hand at writing a patch, but following the
> instructions in README-hacking and executing ./bootstrap confusingly gives
> me the error that an autoconf version 2.69 or higher is required, despite
> my system version being 2.72 and README-hacking suggesting that I
> shouldn't need autoconf installed already at all.
Indeed, you should not. You need *automake* installed, but not autoconf.
This is what I see when I run `./bootstrap -v` in a fresh git checkout of
autoconf:
bootstrap: creating
/home/zack/projects/gnu/autoconf/acboot.dFel9PwCCx/lib/Autom4te
bootstrap: creating
/home/zack/projects/gnu/autoconf/acboot.dFel9PwCCx/lib/autoconf
bootstrap: creating
/home/zack/projects/gnu/autoconf/acboot.dFel9PwCCx/lib/m4sugar
bootstrap: creating
/home/zack/projects/gnu/autoconf/acboot.dFel9PwCCx/bin/autoconf
bootstrap: creating
/home/zack/projects/gnu/autoconf/acboot.dFel9PwCCx/bin/autom4te
bootstrap: creating
/home/zack/projects/gnu/autoconf/acboot.dFel9PwCCx/lib/autom4te.cfg
bootstrap: creating
/home/zack/projects/gnu/autoconf/acboot.dFel9PwCCx/lib/autoconf_version.m4
bootstrap: running aclocal -I m4 -Wall -Werror
bootstrap: running
/home/zack/projects/gnu/autoconf/acboot.dFel9PwCCx/bin/autoconf -Wall -Werror
bootstrap: running automake --add-missing --copy -Wall -Werror
configure.ac:37: installing 'build-aux/missing'
Makefile.am: installing './INSTALL'
doc/local.mk:27: installing 'build-aux/mdate-sh'
Makefile.am:138: 'doc/local.mk' included from here
Can you please run that same command, `./bootstrap -v`, yourself, in a fresh
git checkout
(right after cloning it) and send us the complete and unedited output?
zw