[yocto] Trying to build tools for Cortex A9 Dora failure on Ubuntu 15 using gcc 5.2

Philip Balister philip at balister.org
Wed Nov 4 12:08:01 PST 2015


On 11/04/2015 01:08 PM, Jeff Waller wrote:
> There are probably a number of things wrong including some configuration errors I’ve made being that
> I’m just getting started.  My ultimate goal is to cross-compile tools to augment the OS running on a
> 3DR Solo drone, here’s the doc on linux binary builds as you can see it’s minimal, but I’ve read elsewhere
> that the processor is Cortex-A9 based at least, and it looks like it’s poky 1.5 which I think is
> Dora

Only recently could we do builds on gcc5 machines. The -native recipes
are built with host gcc and not everything would build without patches.

I'd build a vm with an "older" Linux distro and build there.

Philip

> 
> http://dev.3dr.com/advanced-linux.html <http://dev.3dr.com/advanced-linux.html>
> 
> Like I said, I’m just getting started and totally new at this, so I’m pretty much following the Yocto
> Linux guide
> 
> http://www.yoctoproject.org/docs/1.8/mega-manual/mega-manual.html <http://www.yoctoproject.org/docs/1.8/mega-manual/mega-manual.html>
> 
> But am getting build errors, Now I do recognize this as a possible problem, and maybe need to use ubuntu
> 14 instead.  
> 
> jeffw at chill:~/src/poky/build$ bitbake core-image-sato
> WARNING: Host distribution "Ubuntu-15.10" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
> 
> 
> Summary: 5 tasks failed:
>   virtual:native:/home/jeffw/src/poky/meta/recipes-devtools/pseudo/pseudo_1.5.1.bb, do_compile
>   virtual:native:/home/jeffw/src/poky/meta/recipes-support/libgpg-error/libgpg-error_1.12.bb, do_compile
>   virtual:native:/home/jeffw/src/poky/meta/recipes-core/ncurses/ncurses_5.9.bb, do_compile
>   /home/jeffw/src/poky/meta/recipes-core/eglibc/cross-localedef-native_2.18.bb, do_compile
>   virtual:native:/home/jeffw/src/poky/meta/recipes-devtools/binutils/binutils_2.23.2.bb, do_compile
> 
> 
> But I think rather that ubuntu being the problemI think many (perhaps all?) of these errors are due to gcc 5.2
> 
> specifically:
> 
> 
> jeffw at chill:~/src/poky/build$ gcc -v
> Using built-in specs.
> COLLECT_GCC=gcc
> COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
> Target: x86_64-linux-gnu
> Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.2.1-22ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arc
h-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
> Thread model: posix
> gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2) 
> 
> 
> The pseudo failure:
> 
>  pseudo_util.c:101:29: error: initializer element is not constant
> |   static size_t unload_len = strlen(unload);
> |                              ^
> | Makefile:121: recipe for target 'pseudo_util.o' failed
> 
> 
> For libgpg this looks like a syntax error or maybe there’s a define that does not exist?:
> 
> | ./mkerrcodes.h:134:5: error: expected expression before ',' token
> |    { , "GPG_ERR_EXFULL" },
> |      ^
> | Makefile:1043: recipe for target 'mkerrcodes' failed
> | make[2]: *** [mkerrcodes] Error 1
> 
> ncurses fail:
> 
>  In file included from /home/jeffw/src/poky/build/tmp/work/x86_64-linux/ncurses-native/5.9-r15.1/ncurses-5.9/ncurses/curses.priv.h:283:0,
> |                  from ../ncurses/lib_gen.c:19:
> | _19066.c:835:15: error: expected ')' before 'int'
> | ../include/curses.h:1594:56: note: in definition of macro 'mouse_trafo'
> |  #define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen)
> 
> 
> Localdef:
> 
>  argp-help.c:(.text+0x1e00): multiple definition of `argp_fmtstream_write'
> | argp-fmtstream.o:argp-fmtstream.c:(.text+0x7a0): first defined here
> | argp-help.o: In function `argp_fmtstream_puts':
> | argp-help.c:(.text+0x1e50): multiple definition of `argp_fmtstream_puts'
> | argp-fmtstream.o:argp-fmtstream.c:(.text+0x860): first defined here
> etc…
> 
> 
> And finally binutils:
> 
> | /home/jeffw/src/poky/build/tmp/work/x86_64-linux/binutils-native/2.23.2-r4/binutils-2.23.2/bfd/elf64-alpha.c:3588:11: error: switch condition has boolean value [-Werror=switch-bool]
> |    switch (!dynamic && !info->link_info->shared)
> |            ^
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 



More information about the yocto mailing list