[yocto] Help using bitbake to compile a custom package.

Paul Eggleton paul.eggleton at linux.intel.com
Wed Jun 17 01:32:45 PDT 2015


Hi Rafael,

On Tuesday 16 June 2015 19:58:06 Rafael E. Herrera wrote:
> I'm trying to port an in-house piece of software in my Yocto tree. I managed
> to create a rudimentary recipe file that grabs the tar ball from the local
> disk and attempts to compile using:
> 
> host $ bitbake -f -c compile example
> 
> From the output I infer that the tar ball got unpacked and a make executed
> in the source code tree.
> 
> However, my build fails because a number of libraries are missing.
> 
> For example, the libuuid library seems not to be found. How do I verify that
> this library is available in my Yocto tree?
> 
> If not, how to determine what recipe do I need to build to get it installed?
> 
> How do I make sure that the header files for the library are also installed?

Step one is to find out which recipe provides the library. This will usually
correspond to which upstream project actually provides the source for the
library. I usually start with "git grep"; in this case "git grep libuuid"
gives me a pointer to the util-linux recipe.

Step two is to add this recipe to the value of DEPENDS within your recipe.
This ensures that the libraries and headers that are produced by the depended
upon recipe will be in the sysroot by the time the configure step of your
recipe runs.

> I'm assuming that once a library is built using the right bitbake recipe, it
> is available to the code that calls it. If not, how is that configured?

That's correct yes, once the do_populate_sysroot task of a recipe executes,
a subset of what is installed at the do_install step is "staged" into the
sysroot, and do_populate_sysroot is always run as part of the normal build
of a recipe. You do need to be explicit about stating the build-time
dependencies in DEPENDS though in order to ensure that happens for
every other recipe your recipe depends upon though.

Just in case you haven't seen it, there is a section of our manual that
describes the process of writing a new recipe that may be helpful:

http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#new-recipe-writing-a-new-recipe

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the yocto mailing list