# Develop the application with an Ubuntu toolchain in Yocto

Source: [https://docs.qualcomm.com/doc/80-88500-2/topic/20_Develop_the_application_with_an_Ubuntu_toolchain_in_Yocto.html](https://docs.qualcomm.com/doc/80-88500-2/topic/20_Develop_the_application_with_an_Ubuntu_toolchain_in_Yocto.html)

On-device evaluation: Since Ubuntu OS is community-friendly and contains all the compilation tools, on-device development is a good start for evaluation.

A new meta layer is suggested in the cross development by adding new codes. It does not impact the original functionality and is an easier way of maintaining the source code.

Before compilation, use `bitbake -g` to check dependencies on the recipe level. The `bitbake` is a critical command (written in Python) to generate packages, images, and so on. The `-g`  option allows the BitBake engine to generate a recipe dependency graph and it means that any mismatch in the recipe level is exposed as an error. Thus, it is a good start after new recipes or layers are added.

If there are no errors at the recipe level, there are no errors in compilation and no extra effort is needed.

If there are errors at the recipe level or if there are no errors at the recipe level but there is a missing dependency in compilation (for example, `-ltest` linking error), perform the following steps:
      
1. Add new recipes for missing dependency (for example, libtest.bb).
    1. Use apt-file search libtest.so to confirm package name.
    2. Use ubuntu\_recipe\_generator.py to generate dependency recipe libtest-ubuntu.bb.
    3. Other necessary recipe strings like FILES\_xxx for `do_package_qa  do_package_qa[noexec] = "1"` is another option.
2. Add `Depends += libtest` in the corresponding recipe.
3. Rerun BitBake command.

## Example

    <src>/poky/meta-qti-ubuntu/recipes-packages/graphics_20/cairo/cairo_1.15.10.bb
    DEPENDS += " \
    libx11 \
    <src>/poky/meta-qti-ubuntu/recipes-packages/graphics_20/x/libx11_1.6.4.bb
    DEPENDS += " \
    libxcb \
    ...Copy to clipboard

**Parent Topic:** [Toolchain (Linux Ubuntu)](https://docs.qualcomm.com/doc/80-88500-2/topic/16_Toolchain.html)

Last Published: Aug 18, 2023

[Previous Topic
Ubuntu toolchain recipe function](https://docs.qualcomm.com/bundle/publicresource/80-88500-2/topics/19_Ubuntu_toolchain_recipe_function.md) [Next Topic
Working of recipes on Ubuntu toolchain](https://docs.qualcomm.com/bundle/publicresource/80-88500-2/topics/21_Working_of_recipes_on_Ubuntu_toolchain.md)