Lecture 11 — Module 9: Debugging builds like an engineer¶
Course: Yocto guide | Phase 2 — Embedded Linux, Yocto
Previous: Lecture 10 | Next: Lecture 12 — Module 10
1. Read failures from the top of the log¶
When BitBake reports failure:
- Identify the recipe and task (
do_compile,do_configure, …). - Open the task log file path printed in the error.
- Scroll to the first compiler or configuration error, not the last cascading line.
2. High-signal commands (conceptual)¶
- bitbake -g TARGET (replace TARGET with your image or recipe) for dependency graph artifacts.
devtool(when available in your workflow) — modify sources in a controlled workspace.
3. Common failure classes¶
| Symptom | Often means |
|---|---|
| Fetch failures | Network, proxy, missing SRC_URI checksum, retired URLs |
| Patch rejects | Version drift; branch pin wrong |
| CMake/autotools missing deps | DEPENDS incomplete; wrong PACKAGECONFIG |
| Rootfs size explosions | accidental -dev packages in image |
4. Lab 9 — Break it on purpose¶
Remove a dependency in a throwaway layer copy, rebuild, and practice tracing the log back to root cause. Revert the change.
Done when: you can articulate why the failure belongs to fetch vs compile vs packaging.
Previous: Lecture 10 | Next: Lecture 12 — Module 10