Bug 459392

Summary: warning: The macro `AC_PROG_CC_C99' is obsolete
Product: [Developer tools] valgrind Reporter: Alexandra Hajkova <ahajkova>
Component: generalAssignee: Julian Seward <jseward>
Status: RESOLVED FIXED    
Severity: normal CC: afraid-splicer-0l, ldhacker, mark, omerusta
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Alexandra Hajkova 2022-09-19 13:04:30 UTC
SUMMARY
running ./autogen.sh for valgrind on Fedora 37 leads to:
warning: The macro `AC_PROG_CC_C99' is obsolete
It is possible to run configure and compile valgrind despite this warning.
But running autoupdate as autogen.sh suggests leads to errors when
runnning configure.

STEPS TO REPRODUCE
1. ./autogen.sh 
running: aclocal
running: autoheader
running: automake -a
running: autoconf
configure.ac:140: warning: The macro `AC_PROG_CC_C99' is obsolete.
configure.ac:140: You should run autoupdate.
./lib/autoconf/c.m4:1659: AC_PROG_CC_C99 is expanded from...
configure.ac:140: the top level
Comment 1 Ömer Fadıl USTA 2022-09-22 06:50:35 UTC
With autoconf 2.70 AC_PROG_CC_C99 became obsolete
so this commit has to reverted/removed :
https://sourceware.org/git/?p=valgrind.git;a=blobdiff;f=configure.ac;h=901c59502114b5b0b74b09ff0899993e5339e531;hp=3cc9732eca3fa2a999df5b16041bb487f34472cc;hb=29cc9fc0ed871d8347a9e5f8194473efa870231b;hpb=190c93d45400a4e5ede34e45fef4133683be31a4

or needs to use something like m4_version_prereq(2.70, [AC_PROG_CC], [AC_PROG_CC_C99])
[ps : i have 0 knowledge about autoconf things]
Comment 2 Dustin Hacker 2023-04-08 03:36:16 UTC
I was able to correct this and run autogen.sh completely by changing

'AC_PROG_CC_C99'

to

'AC_PROG_CC'

in the configure.ac file on the line mentioned by @Ömer Fadıl USTA in comment 1.

This is correct in accordance with https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.71/html_node/C-Compiler.html#AC_005fPROG_005fCC because AC_PROG_CC replaced the obsolete AC_PROG_CC_C99 autoconf macro.
Comment 3 Dustin Hacker 2023-04-08 03:40:05 UTC
(In reply to Dustin Hacker from comment #2)
> I was able to correct this and run autogen.sh completely by changing
> 
> 'AC_PROG_CC_C99'
> 
> to
> 
> 'AC_PROG_CC'
> 
> in the configure.ac file on the line mentioned by @Ömer Fadıl USTA in
> comment 1.
> 
> This is correct in accordance with
> https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.71/
> html_node/C-Compiler.html#AC_005fPROG_005fCC because AC_PROG_CC replaced the
> obsolete AC_PROG_CC_C99 autoconf macro.

Forgot to mention that I found this solution here https://gitlab.com/openconnect/openconnect/-/issues/413
Comment 4 Mark Wielaard 2023-04-14 21:14:21 UTC
This has been fixed by:

commit 092d9085442a2519d7b1bdbc79334a307ad55574
Author: Mark Wielaard <mark@klomp.org>
Date:   Sat Jan 28 21:11:35 2023 +0100

    configure.ac: Update AC_PROG_CC checks
    
    AM_PROG_CC_C_O has been obsolete since automake 1.14.
    AC_PROG_CC does the same check. With autoconf 2.70 we
    must use AC_PROG_CC (which will check for c11 and c99),
    for earlier versions we'll use AC_PROG_CC_C99.