Skip to main content
This page documents common errors encountered during Yocto builds on Qualcomm Linux and their solutions.

Missing en_US.UTF-8 locale

When it occurs: This issue is common on minimal Ubuntu installations, including base WSL2 images (Ubuntu 22.04), which ship with only the C.UTF-8 locale by default. BitBake requires the en_US.UTF-8 locale and fails immediately at startup if it is not present. Error message:
Solution: Generate and enable the en_US.UTF-8 locale before running any kas or bitbake command.
After running these commands, open a new shell session so the updated locale settings take effect, then retry the build.

Restrictive umask causes build failures

When it occurs: If your shell session is configured with a restrictive umask (such as 0027 or 0077), OE-core’s sanity checker rejects the configuration before the build starts. Error message:
Solution: Set umask 022 in your shell before starting the build. This ensures Yocto-created files are world-readable, which is required for the build system to function correctly.
To make this persistent for your build sessions, add it to your shell startup file:

High CPU usage overloads the system during build

When it occurs: BitBake schedules tasks in parallel and invokes make with multiple jobs to speed up the build. On hosts with limited CPU cores, or when the build runs alongside other workloads, this can drive CPU usage very high and leave the system unresponsive. Solution: Limit the build’s parallelism by setting the BB_NUMBER_THREADS and PARALLEL_MAKE variables, as described in the Yocto Project Limiting the Host Resources Usage guide. Add these variables under local_conf_header in meta-qcom/ci/base.yml:
meta-qcom/ci/base.yml
Adjust the values to match the number of CPU cores you want the build to use, then rerun the kas build command.