From: Adolf Belka <adolf.belka@ipfire.org>
To: development@lists.ipfire.org
Subject: Failure building collectd when autoconf has been updated to 2.72
Date: Wed, 13 Nov 2024 11:30:20 +0100 [thread overview]
Message-ID: <61df5b92-8aa1-4972-92bc-b3040e203412@ipfire.org> (raw)
[-- Attachment #1: Type: text/plain, Size: 3313 bytes --]
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 :
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.
next reply other threads:[~2024-11-13 10:30 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-13 10:30 Adolf Belka [this message]
2024-11-19 11:41 ` Michael Tremer
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=61df5b92-8aa1-4972-92bc-b3040e203412@ipfire.org \
--to=adolf.belka@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