[Home] Troubleshooting bitbake

Goal

Aleviate some of the bitbake headaches.

Quick hacking without devshell

If the package that you're building doesn't build you can intercept manually build in the bitbake environment and then continue.

  1. bitbake ${PACKAGE}
  2. cd ${OVEROTOP}/tmp/work/${ARCH}/${PACKAGE}_${VER}_r${REV}/${BUILD}
    • ${ARCH} is probably armv7a-angstrom-linux-gnueabi
    • ${BUILD} is a directory which is not NOT src or temp such as the package name or git or trunk or svn
    • ${VER} and ${REV} - duh.
  3. cp ../temp/run.do_compile.${OLD_PID} ./
    • ${OLD_PID} is a number like 3597 or 4352
    • do_compile could be any task - do_install, etc
  4. vim run.do_compile.1234
    1. comment out the last line: do_compile() (or do_install() or whatever)
    2. add bash --norc
  5. ./run.do_compile.${OLD_PID} will put you in an environment with all variables set
  6. make (or whatever) to try to build, debug issues
  7. exit (when done to go back to shell without run.do_compile settings)
  8. bitbake ${PACKAGE}

devshell

devshell executes after do_patch() and will give you a shell with the environment variables you need for building the package.

Common Problems

bitbake is a headache. That's just the way it is. Sorry. It's a moving target, there are lots of changes committed every few days. The testing is perhaps substandard... but it is fast-moving.

bitbake -c clean ${PACKAGE} often - after each new thing you try in the trouble shooting procedure.

Be very careful to read the error messages. Many of these errors are result of simple copy/paste/delete typos and "could not find" xzy is simply a missing symlink or a file in the wrong place.

There are a number of problems that I run into over and over.

/bin/sh couldn't find xyz

Possibilities

NOTE: xyz refers to some other package, there is no package named xyz.

md5sum mismatch

couldn't download the package

Some commercially available apps (such as TI's dsplink) have bitbake packages, but you must manually download the source for various legal reasons.

Worst Case

Save your changes to user.collections and start afresh. If you're super lucky you can just rebuild everything over the next few days and not have to keep solving failed build problems. In the worst worst case you might want to wait a week for patches to come in.

rm ${OVEROTOP}/tmp -rf

or even

mkdir ${OVEROTOP}.bak
mv ${OVEROTOP}/user.collection ${OVEROTOP}.bak/
rm ${OVEROTOP} -rf

and just start from the gumstix documentation for installation all over again

Some of these worst case fixes are required when

Updated at 2010-08-14
blog comments powered by Disqus