[yocto] Yocto and Google protobuffer

Pietro pulsarpietro at posteo.net
Thu Sep 1 02:34:02 PDT 2016


Maciej Borzęcki
<maciej.borzecki at rndity.com> writes:

> On Thu, Sep 1, 2016 at 10:40 AM, Pietro <pulsarpietro at posteo.net> wrote:
>> Maciej Borzęcki
>> <maciej.borzecki at rndity.com> writes:
>>
>>> On Wed, Aug 31, 2016 at 6:44 PM, Pietro <pulsarpietro at posteo.net> wrote:
>>>> Hi all,
>>>>
>>>> I am new to the Yocto building system and I could be talking nonsense. I
>>>> used to work with buildroot time ago and I remember there is an area
>>>> where compiled software/packages/tools previously built are "staged" and
>>>> used when building other packages.
>>>>
>>>> Is there something like that available with Yocto ? Specifically I would
>>>> like to add a package which uses the Google Protocol Buffer, I do not have
>>>> administrator rights on the machine and I can't install the packages I
>>>> need system wise.
>>>>
>>>> Is it possible to add recipes and use them at building time without
>>>> including them in the image being generated ?
>>>>
>>>> A good example for that would be the protoc, the protocol buffer description
>>>> file compiler.
>>>>
>>>
>>> There is a recipe for protobuf in meta-oe (2.6.1). All you need to do,
>>> is include meta-oe in your layers (bblayers.conf) and have
>>> protobuf-native listed in DEPENDS inside your package recipe.
>>>
>>> The protoc compiler will be available in the PATH when package is
>>> being built, so autotools checks like AC_CHECK_PROG/AC_PATH_PROG
>>> should be able to find it.
>>>
>>> Cheers,
>>> --
>>> Maciej Borzecki
>>> RnDity
>> Thanks a lot.
>>
>> I have added the DEPENDS line and it indeed downloads and build the some
>> protobuf related stuff, where did you get the dependency name from ?
>> I can't see the protobuf-native as a recipe in the meta-oe website :
>>
>> https://layers.openembedded.org/layerindex/branch/master/layer/meta-oe/
>
> It's just a mechanism that allows for building the native (i.e. for
> the host) packages, and these are autmatically named ${PN}-native.
> There should a BBCLASSEXTEND = "..native.." stanza inside the protobuf
> recipe that enables this feature.
>
>>
>> I have just realised that GRPC (http://www.grpc.io/) is needed for my
>> project, it is a library which uses the protobuffers, is there a
>> recipe/package which provides them around or do I need to create my own
>> recipe ?
>
> You can try searching for a recipe at http://layers.openembedded.org
> If there's none, try to write your own. This might be a good changes
> to get yourself acquainted with `devtool` tool that will help you in
> the process.
>
>>
>> I would like to check the root filesystem being generated as part of the
>> build process, where is it ?
>>
>
> ${TMPDIR}/<machine>_<distro?>/<imagename>/../rootfs
>
> for instance, for my current build:
>
> tmp/work/vexpress_qemu-poky-linux-gnueabi/core-image-minimal/1.0-r0/rootfs
>
> -- 
> Maciej Borzecki
> RnDity

Thanks, much appreciated.

Do you know where the software which is not included in the image - such
us protoc - is it stored ?

It turns out the recipe for the protobuffer uses version 2.6 while I
would need version 3.0.0 to be used, is there a way to partially
"override" a recipe ?

http://cgit.openembedded.org/cgit.cgi/meta-openembedded/tree/meta-oe/recipes-devtools/protobuf/protobuf_2.6.1.bb?h=master

Thanks a lot.
P.




More information about the yocto mailing list