[Buildroot] Bash failing

Hinko Kocevar hinko.kocevar at cetrtapot.si
Tue Jul 29 07:34:07 UTC 2008

Jonathan and Caroline Moore wrote:
> Below are the last few lines of output after make and the results of
> the find command.
> The entire log generated by the command
> make >log 2>&1 can be downloaded here
> http://jandcmoore.googlepages.com/buildroot20080727.make.log.txt

I see you are using external (precompiled) toolchain, right? I don't know 
if that might be the case for missing header locations...

The compilation lines that fail are the same in my and your case, 
but you are using libc based instead of uclibc based compiler and 
I suspect that my compiler looks for headers in STAGING_DIR/usr/include
without the -I switch added. 

Can we see the output of failed compile with '-v' option added?

Here is mine:
$ cd /tmp//buildroot/build_arm/bash-3.2/lib/readline
/tmp/buildroot/build_arm/staging_dir/usr/bin/arm-linux-uclibc-gcc -c -DHAVE_CONFIG_H -DSHELL   -I. -I/tmp/buildroot/build_arm/bash-3.2 -I../.. -I../../lib  -g -O2 display.c -v
Using built-in specs.
Target: arm-linux-uclibc
Configured with: /tmp/buildroot/toolchain_build_arm/gcc-4.2.4/configure --prefix=/usr --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu --target=arm-linux-uclibc --enable-languages=c --with-sysroot=/tmp/buildroot/build_arm/staging_dir --with-build-time-tools=/tmp/buildroot/build_arm/staging_dir/usr/arm-linux-uclibc/bin --disable-__cxa_atexit --enable-target-optspace --with-gnu-ld --enable-shared --with-gmp=/tmp/buildroot/toolchain_build_arm/gmp --with-mpfr=/tmp/buildroot/toolchain_build_arm/mpfr --disable-nls --enable-threads --disable-multilib
Thread model: posix
gcc version 4.2.4
 /tmp/buildroot/build_arm/staging_dir/usr/bin/../libexec/gcc/arm-linux-uclibc/4.2.4/cc1 -quiet -v -I. -I/tmp/buildroot/build_arm/bash-3.2 -I../.. -I../../lib -iprefix /tmp/buildroot/build_arm/staging_dir/usr/bin/../lib/gcc/arm-linux-uclibc/4.2.4/ -DHAVE_CONFIG_H -DSHELL display.c -quiet -dumpbase display.c -auxbase display -g -O2 -version -o /tmp/ccQNsOEA.s
ignoring nonexistent directory "/tmp/buildroot/build_arm/staging_dir/usr/bin/../lib/gcc/arm-linux-uclibc/4.2.4/../../../../arm-linux-uclibc/include"
ignoring nonexistent directory "/tmp/buildroot/build_arm/staging_dir/usr/local/include"
ignoring nonexistent directory "/usr/lib/gcc/arm-linux-uclibc/4.2.4/include"
ignoring nonexistent directory "/usr/lib/gcc/../../arm-linux-uclibc/include"
ignoring duplicate directory "../.."
#include "..." search starts here:
#include <...> search starts here:
End of search list.
GNU C version 4.2.4 (arm-linux-uclibc)
	compiled by GNU C version 4.1.2 (Gentoo 4.1.2 p1.1).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: f2f3758be9e267946c957c7de1fa7038
display.c: In function 'rl_character_len':
display.c:1961: warning: comparison is always true due to limited range of data type
 /tmp/buildroot/build_arm/staging_dir/usr/bin/../lib/gcc/arm-linux-uclibc/4.2.4/../../../../arm-linux-uclibc/bin/as -o display.o /tmp/ccQNsOEA.s

It can be seen that my compiler looks in '/tmp/buildroot/build_arm/staging_dir/usr/include' for headers, 
where termcap.h is located - does compiler search there too?

> Hinko can you send me your buildroot config file please? Mine is here
> http://jandcmoore.googlepages.com/config

Here you go:

> WS867:Mon 28:1614:buildroot-20080727:$ !find
> find build_arm -name termcap.h
> build_arm/ncurses-5.6/include/termcap.h
> build_arm/staging_dir/usr/include/termcap.h
> build_arm/bash-3.2/lib/termcap/termcap.h

Fine, the header seems to be in place. But does the compiler know where to look?


ČETRTA POT, d.o.o., Kranj
Planina 3
4000 Kranj
Slovenia, Europe
Tel. +386 (0) 4 280 66 03
E-mail: hinko.kocevar at cetrtapot.si
Http: www.cetrtapot.si

More information about the buildroot mailing list