Skip to content

Troubleshooting notes

Peter Saunderson edited this page Feb 13, 2015 · 7 revisions

Home / Troubleshooting notes

Sorry that you have had problems with the build.. Yocto is complex and this layer is new and complex so I am not surprised.

Update to latest

First try to update all the submodules to the latest. Navigate to the parallella-yoctobuild folder and type

git submodule foreach git fetch --all
git pull

Look at the output from the bitbake command

The first place to look for logs is in the output of bitbake. This will point you to a more detailed log file.

I would say it is impossible to start from scratch and solve a problem from the log files so I will attempt to provide some tips below. The Log files are found in the work folders for each package for example tmp/work/armv7ahf-vfp-neon-poky-linux-gnueabi and tmp/work/x86_64-poky-linux-gnueabi and tmp/work/parallella_hdmi-poky-linux-gnueabi/hdmi-image. Building a compiler has multiple stages and in this case in the yocto environment I try to use as much of standard poky/meta/classes as possible so you will find work folders for epiphany-elf-gcc in the same place as gcc etc..

Things that can go wrong with the build

Dont press CTRL-C more than once to stop a bitbake build because you can corrupt the cache and cause many hours of failing builds for unexplained reasons.

When you run bitbake what will happen is that all the previous build products will be checked from the cache and then the updated builds will start. Yocto build is complex and I have had problems with build dependencies so with luck the second time you run bitbake hdmi-image the build will proceed without errors because in the first build the dependency was not completely built. The good thing about the cache is that previous build information is very rapidly used to populate the sysroots so the second time you run a build it hardly takes any time. The bad thing about the cache is that I hardly every build from scratch so I miss the dependency problems! Also because the builds happen in parallel its is possible to get different results each time. Just build again and the second time the dependancies my all get built and the build will get further.

The dependencies are not easy to fix in this case because I have to implement more recipes for the remaining parts for the Yocto SDK. This does not stop the build completing because all the necessary elements are being built, just the Yocto SDK expects more so when I add in the depends reference the SDK build complains that I have not completed the additional recipes.

Failsafe build

Try the following

bitbake virtual/epiphany-elf-binutils
bitbake virtual/epiphany-elf-gcc-initial
bitbake epiphany-elf-newlib
bitbake virtual/epiphany-elf-gcc
bitbake epiphany-elf-libgcc
bitbake epiphany-elf-gcc-runtime
bitbake epiphany-elf-libgloss
bitbake epiphany-elf-binutils
bitbake epiphany-elf-gcc
bitbake hdmi-image

Clean the cache for this layer

bitbake -c cleansstate epiphany-elf-binutils virtual/epiphany-elf-binutils epiphany-elf-gcc virtual/epiphany-elf-gcc virtual/epiphany-elf-gcc-initial epiphany-elf-libgcc epiphany-elf-libgloss  epiphany-elf-newlib epiphany-elf-gcc-runtime hdmi-image

Then bitbake again

Developer Zone

Tips

How it works

How to get involved

Clone this wiki locally