03c148c8dec4e8c3fa13fcde4a730b3ab97f3f10
Since the bump to version 2.0.8 in commit
f5906644b4, 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@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. The documentation can be found in docs/manual. You can generate a text document with 'make manual-text' and read output/docs/manual/manual.text. Online documentation can be found at http://buildroot.org/docs.html To build and use the buildroot stuff, do the following: 1) run 'make menuconfig' 2) select the target architecture and the packages you wish to compile 3) run 'make' 4) wait while it compiles 5) find the kernel, bootloader, root filesystem, etc. in output/images You do not need to be root to build or run buildroot. Have fun! Buildroot comes with a basic configuration for a number of boards. Run 'make list-defconfigs' to view the list of provided configurations. Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org You can also find us on #buildroot on OFTC IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches
Languages
Makefile
62.9%
Python
18.3%
C
8.6%
Shell
6.2%
PHP
1.4%
Other
2.2%