[Buildroot] [PATCH 1/1] package/lighttpd: run autoreconf
Arnout Vandecappelle
arnout at mind.be
Mon Nov 22 20:42:39 UTC 2021
On 18/11/2021 22:06, Fabrice Fontaine wrote:
> For an unknown reason, the build fails since bump to version 1.4.60 in
> commit d62b7f54f00291a50274409fb5510527fd725ffe on:
>
> array.c:140:2: error: 'for' loop initial declarations are only allowed in C99 mode
> for (uint32_t i = 0; i < sz; ++i) {
> ^
>
> Running autoreconf fixes the build.
>
> Fixes:
> - http://autobuild.buildroot.org/results/0349d8fed35b0766796dd9ba3b8de6ff8bd68fe7
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
After reading this thread and the upstream bug report, I did a bunch more
analysis and drilled it down to the real issue. See the bug report and the
updated commit message:
Since upstream commit bb1d35dc1767 [1] (which is part of the bump to
version 1.4.60), configure.ac no longer checks for a specific C
standard. It will therefore use the "default" standard. With autoconf
2.69 (which is what is used to generate the configure script in the
tarball), the default standard is C89, which requires no option to be
passed to the compiler. However, that means that older compilers, e.g.
GCC 4.8, will indeed use C89 and not C99. This leads to the following
error.
array.c:140:2: error: 'for' loop initial declarations are only allowed in
C99 mode
for (uint32_t i = 0; i < sz; ++i) {
^
In autoconf 2.71 (which is used by Buildroot), the default standard has
changed: it is now C11 if available, C99 failing that, and finally fall
back to C89. Since GCC 4.8 (and later) support C11, that's what will be
selected, so C99 is allowed as well. Thus, running autoreconf fixes the
build.
The issue was reported upstream [2].
Fixes:
-
http://autobuild.buildroot.org/results/0349d8fed35b0766796dd9ba3b8de6ff8bd68fe7
[1]
https://redmine.lighttpd.net/projects/lighttpd/repository/14/revisions/bb1d35dc17671bc308e25651b4f5fa0c3008cc69
[2] https://redmine.lighttpd.net/issues/3116
Applied to master, thanks.
Regards,
Arnout
> ---
> package/lighttpd/lighttpd.mk | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/package/lighttpd/lighttpd.mk b/package/lighttpd/lighttpd.mk
> index 9c18a6038e..c39a5db20f 100644
> --- a/package/lighttpd/lighttpd.mk
> +++ b/package/lighttpd/lighttpd.mk
> @@ -12,6 +12,8 @@ LIGHTTPD_LICENSE = BSD-3-Clause
> LIGHTTPD_LICENSE_FILES = COPYING
> LIGHTTPD_CPE_ID_VENDOR = lighttpd
> LIGHTTPD_DEPENDENCIES = host-pkgconf
> +# Issue in configure script provided in tarball
> +LIGHTTPD_AUTORECONF = YES
> LIGHTTPD_CONF_OPTS = \
> --without-wolfssl \
> --libdir=/usr/lib/lighttpd \
>
More information about the buildroot
mailing list