[yocto] Building BlueZ from git in Yocto

Alan Martinovic alan.martinovic at senic.com
Wed Mar 21 08:47:48 PDT 2018


When you say "tagged as backports" are you referring to the Upstream-Status?

So this is a backport patch:
    Upstream-Status: Accepted
[https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=76255f73
   2d68aef2b90d36d9c7be51a9e1739ce7]

but these two aren't yet or never will be:
    Upstream-Status: Submitted
    Upstream-Status: Denied

On Wed, Mar 21, 2018 at 4:39 PM, Burton, Ross <ross.burton at intel.com> wrote:
> If you look at the patch headers, you'll see that none of them are
> tagged as backports.
>
> Ross
>
> On 21 March 2018 at 15:35, Alan Martinovic <alan.martinovic at senic.com> wrote:
>> Hey Ross, thanks for the clarification.
>>
>> The issues reoccurred because I modified the recipe not to include any patches,
>> falsely assuming that all of them were BlueZ backports and none is actually
>> a Yocto specific change.
>>
>> On Wed, Mar 21, 2018 at 4:23 PM, Burton, Ross <ross.burton at intel.com> wrote:
>>> On 21 March 2018 at 15:15, Alan Martinovic <alan.martinovic at senic.com>
>>> wrote:
>>>>
>>>>
>>>> Building it with Yocto results in the mentioned error:
>>>>
>>>> | ../git/src/genbuiltin hostname wiimote autopair policy   a2dp avrcp
>>>> network input hog  gap scanparam deviceinfo  battery > src/builtin.h
>>>> | ../git/obexd/src/genbuiltin filesystem bluetooth  opp ftp irmc pbap mas
>>>> mns > obexd/src/builtin.h
>>>> | /bin/bash: obexd/src/builtin.h: No such file or directory
>>>> | Makefile:9431: recipe for target 'obexd/src/builtin.h' failed
>>>> | make: *** [obexd/src/builtin.h] Error 1
>>>> | make: *** Waiting for unfinished jobs....
>>>> | ERROR: oe_runmake failed
>>>> | WARNING: exit code 1 from a shell command.
>>>>
>>>>
>>>> It seems that for some reason in Yocto, make can't redirect into
>>>> `obexd/src/builtin.h` while
>>>> it does so successfully for native build.
>>>
>>>
>>> Yocto will be doing an out-of-tree build with high parallelism, neither of
>>> which you are likely doing yourself.
>>>
>>> The hint is "no such file or directory" for a file it is writing *to*.  This
>>> means the parent doesn't exist, in this case obexd/src/.
>>>
>>> This is a typical race in out-of-tree and parallel builds, where genbuiltin
>>> is racing against other commands to create the directory.  The fix is to
>>> ensure that whatever rule calls genbuiltin actually does a mkdir first.
>>>
>>> We have a fix for this already in oe-core:
>>>
>>> http://git.openembedded.org/openembedded-core/tree/meta/recipes-connectivity/bluez5/bluez5/out-of-tree.patch
>>>
>>> So I imagine you're using an old release of Yocto.  I sent this patch to the
>>> linux-bluetooth list in April 2016 but it was either moderated away or
>>> missed.
>>>
>>> Ross



More information about the yocto mailing list