AnsweredAssumed Answered

blackfin 2014R1-RC1 bf609-ezkit_defconfig build fails with toolchain options and speex

Question asked by WillMoore on Jan 8, 2016
Latest reply on May 19, 2016 by Aaronwu

I have been looking at buildroot for blackfin and downloaded and installed blackfin-toolchain-2014R1-RC2.i386.tar.bz2 to the wiki suggested location of /opt and blackfin-buildroot-2014R1-RC1.tar.bz2.  I have the toolchain bin directories in my PATH.

 

Initially:

 

make bf609-ezkit_defconfig

make

 

stops because the toolchain has IPv6 and WCHAR support but I believe bf609-ezkit_defconfig does not describe the toolchain correctly.  After adjusting the configuration using

 

make menuconfig

 

adding IPv6 and WCHAR as supported then buildroot will continue with the build until it gets to speex:

 

>>> speex 1.2rc1 Building

/usr/bin/make -j2  -C /home/vm/blackfin/blackfin-buildroot/output/build/speex-1.2rc1/

make[1]: Entering directory `/home/vm/blackfin/blackfin-buildroot/output/build/speex-1.2rc1'

/usr/bin/make  all-recursive

make[2]: Entering directory `/home/vm/blackfin/blackfin-buildroot/output/build/speex-1.2rc1'

Making all in libspeex

make[3]: Entering directory `/home/vm/blackfin/blackfin-buildroot/output/build/speex-1.2rc1/libspeex'

if /bin/bash ../libtool --mode=compile /home/vm/blackfin/blackfin-buildroot/output/host/usr/bin/bfin-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../include -I.. -I/usr/include   -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -pipe -Os  -D__NOMMU__ -D__uClinux__ -fvisibility=hidden -MT cb_search.lo -MD -MP -MF ".deps/cb_search.Tpo" -c -o cb_search.lo cb_search.c; \

    then mv -f ".deps/cb_search.Tpo" ".deps/cb_search.Plo"; else rm -f ".deps/cb_search.Tpo"; exit 1; fi

if /bin/bash ../libtool --mode=compile /home/vm/blackfin/blackfin-buildroot/output/host/usr/bin/bfin-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../include -I.. -I/usr/include   -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -pipe -Os  -D__NOMMU__ -D__uClinux__ -fvisibility=hidden -MT filters.lo -MD -MP -MF ".deps/filters.Tpo" -c -o filters.lo filters.c; \

    then mv -f ".deps/filters.Tpo" ".deps/filters.Plo"; else rm -f ".deps/filters.Tpo"; exit 1; fi

/home/vm/blackfin/blackfin-buildroot/output/host/usr/bin/bfin-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../include -I.. -I/usr/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -D__NOMMU__ -D__uClinux__ -fvisibility=hidden -MT filters.lo -MD -MP -MF .deps/filters.Tpo -c filters.c  -fPIC -DPIC -o .libs/filters.o

/home/vm/blackfin/blackfin-buildroot/output/host/usr/bin/bfin-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../include -I.. -I/usr/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -D__NOMMU__ -D__uClinux__ -fvisibility=hidden -MT cb_search.lo -MD -MP -MF .deps/cb_search.Tpo -c cb_search.c  -fPIC -DPIC -o .libs/cb_search.o

In file included from /usr/include/math.h:26,

                 from filters.c:42:

/usr/include/features.h:398:23: error: gnu/stubs.h: No such file or directory

In file included from /usr/include/string.h:25,

                 from os_support.h:37,

                 from cb_search.c:42:

/usr/include/features.h:398:23: error: gnu/stubs.h: No such file or directory

--snip--

make[3]: *** [filters.lo] Error 1

make[3]: *** Waiting for unfinished jobs....

make[3]: *** [cb_search.lo] Error 1

make[3]: Leaving directory `/home/vm/blackfin/blackfin-buildroot/output/build/speex-1.2rc1/libspeex'

make[2]: *** [all-recursive] Error 1

make[2]: Leaving directory `/home/vm/blackfin/blackfin-buildroot/output/build/speex-1.2rc1'

make[1]: *** [all] Error 2

make[1]: Leaving directory `/home/vm/blackfin/blackfin-buildroot/output/build/speex-1.2rc1'

make: *** [/home/vm/blackfin/blackfin-buildroot/output/build/speex-1.2rc1/.stamp_built] Error 2

 

I have checked I have all the buildroot mandatory packages installed (https://buildroot.org/downloads/manual/manual.html#requirement-mandatory), and followed the blackfin ucLinux https://blackfin.uclinux.org/doku.php?id=installing_linux apt-get based distributions instructions too (my host is Ubuntu 14.04 LTS 32 bit) although it should be noted that the apt-get base distribution instructions don't quite match the buildroot advice or the feedback I got from running buildroot (it seems subversion is not optional?  I also installed build essentials and g++ though I am not sure they were stopping buildroot from running ...).

 

When I

 

make menuconfig

 

and remove speex it builds.

 

I note that something similar was raised against a previous release of blackfin tools blackfin-buildroot build errors but the "solution (adjusting host c libs) seems odd as a why to fix a target package build problem?  Shouldn't the target package be built against the cross toolchain lib c headers?  Is it possible the buildroot recipe or the toolchain lib c headers are the problem?

 

I am not particularly interested in speex but I wanted to set down the problems I had faced with what should be the easy bit of building the latests released toolchain and buildroot with a default configuration :-(

Outcomes