From 136c9b2a1e080ff0c285c3ec028f23083f4a9e94 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Thu, 18 Nov 2021 22:06:23 +0100 Subject: [PATCH] package/lighttpd: run autoreconf 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 Signed-off-by: Fabrice Fontaine Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- 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 \