[Buildroot] [git commit] package/bird: needs autoreconf

Arnout Vandecappelle (Essensium/Mind) arnout at mind.be
Mon Aug 2 14:00:43 UTC 2021


commit: https://git.buildroot.net/buildroot/commit/?id=03c148c8dec4e8c3fa13fcde4a730b3ab97f3f10
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Since the bump to version 2.0.8 in commit
f5906644b45269b1a5fe109cb64fad837e4fbff2, bird uses a home-grown "GNU Autoconf
2.69e" instead of standard autoconf 2.69 to generate the configure
script. This fork seems to generate incorrect code: it uses

ac_test_CFLAGS=${CFLAGS+y}

to remember if CFLAGS was saved, while standard autoconf uses

ac_test_CFLAGS=${CFLAGS+set}

The configure.ac code itself, however, uses

if test "$ac_test_CFLAGS" != set ; then

to check if CFLAGS was overridden.

Thus, Buildroot's CFLAGS are not taken into account and this leads to
the following build failure:

checking for glob.h... no
configure: error: glob.h not found.

This build failure is raised because -g0 and -g are both passed to gcc:

configure:5207: checking for glob.h
configure:5230: /data/buildroot-autobuilder/instance-0/output-1/host/bin/mips64el-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os -g0  -pthread -fno-strict-aliasing -fno-strict-overflow -flto -Wall -Wextra -Wstrict-prototypes -Wno-parentheses -Wno-pointer-sign -Wno-missing-field-initializers -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -pthread -flto=4 -g conftest.c  >&5
/data/buildroot-autobuilder/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips64el-buildroot-linux-uclibc/8.4.0/../../../../mips64el-buildroot-linux-uclibc/bin/ld: /tmp/ccDboxph.ltrans0.ltrans.o:(.debug_info+0x2a): undefined reference to `conftest.c.0943dc99'
/data/buildroot-autobuilder/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips64el-buildroot-linux-uclibc/8.4.0/../../../../mips64el-buildroot-linux-uclibc/bin/ld: /tmp/ccDboxph.ltrans0.ltrans.o:(.debug_info+0x2f): undefined reference to `conftest.c.0943dc99'

-g0 is passed by buildroot and -g is passed by bird if
$ac_test_CFLAGS" != set (since version 2.0.7 and
https://gitlab.nic.cz/labs/bird/-/commit/cc95b4594ac924b40325a4f1adcae5312179db40)

To fix this, we can simply run autoreconf and generate a correct
configure script.

Fixes:
 - http://autobuild.buildroot.org/results/1d2acc9f6b8830adc8b62d6b2e55837abae561a9

Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
---
 package/bird/bird.mk | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/bird/bird.mk b/package/bird/bird.mk
index a8b9b18b50..7d7002d5f2 100644
--- a/package/bird/bird.mk
+++ b/package/bird/bird.mk
@@ -11,6 +11,7 @@ BIRD_LICENSE_FILES = README
 BIRD_CPE_ID_VENDOR = nic
 BIRD_SELINUX_MODULES = bird
 BIRD_DEPENDENCIES = host-flex host-bison
+BIRD_AUTORECONF = YES
 
 ifeq ($(BR2_PACKAGE_BIRD_CLIENT),y)
 BIRD_CONF_OPTS += --enable-client


More information about the buildroot mailing list