public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
From: Michael Tremer <michael.tremer@ipfire.org>
To: development@lists.ipfire.org
Subject: Re: Failure building collectd when autoconf has been updated to 2.72
Date: Tue, 19 Nov 2024 11:41:16 +0000	[thread overview]
Message-ID: <7FF4003D-1ECC-4A48-8C4E-43B085EF0BD3@ipfire.org> (raw)
In-Reply-To: <61df5b92-8aa1-4972-92bc-b3040e203412@ipfire.org>

[-- Attachment #1: Type: text/plain, Size: 3898 bytes --]

Hello Adolf,

In the build script we are running autoreconf which will regenerate the configure script:

  https://git.ipfire.org/?p=ipfire-2.x.git;a=blob;f=lfs/collectd;h=d1d4ea721386803c31599315de956373417c2dcf;hb=HEAD#l119

Is there any output of that command? There should be some warnings which might help us to find out what we need to change.

> On 13 Nov 2024, at 10:30, Adolf Belka <adolf.belka(a)ipfire.org> wrote:
> 
> Hi All,
> 
> I did an update run with autoconf taking it from 2.71 to 2.72
> 
> autoconf built without any problems, however collectd then failed for a syntax error in the configure file.
> 
> Confirmed that this was due to autoconf by changing the versions back and forward and the problem went away and then came back again.
> 
> The collectd build error message is
> 
> checking for size_t... yes
> checking for uid_t... yes
> checking for gid_t... yes
> ./configure: line 18710: syntax error near unexpected token `newline'
> ./configure: line 18710: `yes:'
> make: *** [collectd:120: /usr/src/log/collectd-4.10.9] Error 2
> 
> The section around line 18710 in the configure file is
> 
> 18707    do :
> 18708       as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
> 18709    ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
> 18710    if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :

There is an extra : here which is probably what causes the syntax error.

> 18711      cat >>confdefs.h <<_ACEOF
> 18712    #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
> 18713    _ACEOF
> 18714
> 18715    else
> 18716      with_libiptc="no (header file missing)"
> 18717    fi
> 
> However there are 15 occurrences of the exact same text as line 18710 in the configure file so I am not convinced if that line is the root cause for the syntax error but some other earlier error that causes a knock-on effect.
> 
> However, my knowledge of the coding syntax is definitely not enough to figure out what needs to be fixed/changed.
> 
> As collectd is a very old version it is likely that some structural coding or syntax was fine in the past but now with the change from autoconf-2.71 to 2.72 it is no longer allowed, or is flagged up when in the past it was just ignored.
> 
> There are quite a few changes in autoconf-2.72 with some being marked as backwards compatibilities. All of them except one say that existing configure scripts will continue working. The one that doesn't mention that is the following change:-
> 
>   Configure scripts no longer support pre-1989 C compilers.
>   Specifically, compilers that *only* implement the original “K&R”
>   function definition syntax, and not the newer “prototyped” syntax,
>   will not be able to parse the test programs now emitted by
>   AC_CHECK_FUNC, AC_LANG_CALL, and similar macros.  AC_PROG_CC still
>   accepts such compilers, but this may change in the near future.
> 
>   This change was necessary in order to support the upcoming 2024
>   edition of the C standard (often referred to as “C23”), which will
>   officially remove the function declaration syntax used by
>   AC_CHECK_FUNC in Autoconf 2.71 and earlier.  We feel that support
>   for compilers that support only C 2024 is more useful, nowadays,
>   than support for compilers that don’t implement a core feature of
>   C 1989.
> 
> However I am unable to figure out from this if the problem I am experiencing is related to this or not. I would not have thought so as I don't believe we are using a pre-1989 C compiler.
> 
> Any ideas from anyone on how to fix this issue?
> 
> There is nothing critical from a security or other vulnerability aspect in autoconf-2.72 but it would be nice to figure this out before we get to a stage where it has to be made to work.
> 
> 
> Regards,
> 
> Adolf.
> 


  reply	other threads:[~2024-11-19 11:41 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-13 10:30 Adolf Belka
2024-11-19 11:41 ` Michael Tremer [this message]
2024-11-19 13:20   ` Adolf Belka
2024-11-19 13:43   ` Adolf Belka
2024-11-19 13:55     ` Adolf Belka
2024-11-20 18:25       ` Michael Tremer
2024-11-22 17:01         ` Adolf Belka
2024-11-23  9:12           ` Michael Tremer
2024-11-23 12:09             ` Adolf Belka
2024-11-25 18:25               ` Adolf Belka
2024-11-29 19:24                 ` Adolf Belka
2024-12-03 17:44                   ` Michael Tremer
2024-12-03 18:43                     ` Adolf Belka
2024-12-04 10:50                       ` Michael Tremer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7FF4003D-1ECC-4A48-8C4E-43B085EF0BD3@ipfire.org \
    --to=michael.tremer@ipfire.org \
    --cc=development@lists.ipfire.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox