[yocto] crownbay-noemgd poky-image-minimal fails to build

Malcolm Crossley malcolm.crossley at ge.com
Fri Jul 29 07:51:38 PDT 2011


On 29/07/2011 15:33, Bruce Ashfield wrote:
> On 07/29/11 10:11, Malcolm Crossley wrote:
>> On 29/07/2011 15:02, Bruce Ashfield wrote:
>>> On 07/29/11 09:57, Malcolm Crossley wrote:
>>>> On 29/07/2011 14:12, Bruce Ashfield wrote:
>>>>> On 07/29/11 06:05, Andre Haupt wrote:
>>>>>> On Fri, Jul 29, 2011 at 09:23:59AM +0200, Andre Haupt wrote:
>>>>>>> Hi all,
>>>>>>>
>>>>>>> I am trying to build a poky bernard image for crownbay-noemgd.
>>>>>>> For this i checked out the bernard branch of both poky and 
>>>>>>> meta-intel
>>>>>>> from git.yoctoproject.org.
>>>>>>>
>>>>>>> Bitbake fails during the kernels compile_perf task complaining that
>>>>>>> it can not
>>>>>>> find libdw.h and bfd.h and that using /usr/local/include as include
>>>>>>> location is unsafe for cross compilation (full log attached).
>>>>>>>
>>>>>>> What do i miss here?
>>>>>>
>>>>>> I did work around this with
>>>>>>
>>>>>> diff --git a/meta/recipes-kernel/linux/linux-yocto-stable_git.bb
>>>>>> b/meta/recipes-
>>>>>> index 3c1e669..85caa92 100644
>>>>>> --- a/meta/recipes-kernel/linux/linux-yocto-stable_git.bb
>>>>>> +++ b/meta/recipes-kernel/linux/linux-yocto-stable_git.bb
>>>>>> @@ -42,4 +42,4 @@ KERNEL_FEATURES=features/netfilter
>>>>>> addtask kernel_link_vmlinux after do_compile before do_install
>>>>>> addtask validate_branches before do_patch after do_kernel_checkout
>>>>>>
>>>>>> -require linux-tools.inc
>>>>>> +#require linux-tools.inc
>>>>>>
>>>>>>
>>>>>> not sure that this is the right thing to do though.
>>>>>
>>>>> It's an acceptable work around to keep you building on your
>>>>> local machine, assuming that you don't need perf. But the
>>>>> linux-yocto recipes always want to provide perf, and hence
>>>>> have that include.
>>>>>
>>>>> I'm trying to dust off my memory here. I know that this has
>>>>> been seen, and I also know that this built fine in the bernard
>>>>> release.
>>>>>
>>>>> The first part of the issue is the:
>>>>>
>>>>> Makefile:508: No libdw.h found or old libdw.h found, disables dwarf
>>>>> support. Please install elfutils-devel/elfutils-dev
>>>>>
>>>>> We may have a missing host dependency in the checks. Have you
>>>>> tried installing the relevant package for F13 ?
>>>>>
>>>>> As for the second, there's a patch in the 2.6.34 kernel tree
>>>>> that is dealing with it:
>>>>>
>>>>> http://git.pokylinux.org/cgit/cgit.cgi/linux-yocto-2.6.34/commit/?h=standard&id=72ca49ab08b8eb475cec82a10049503602325791 
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> It sounds like there may be a SRCREV problem for the board that
>>>>> isn't picking up that change. Can you confirm that this commit
>>>>> is in your board branch ? You can check in your build directory
>>>>> for linux.
>>>>
>>>> I have found that stable branch 2.6.34 contains a bug when trying to
>>>> build the perf tools. I have a patch but I've not been able to 
>>>> upstream
>>>> it yet, I've copy pasted it inline here, hopefully it doesn't wrap too
>>>> badly:
>>>
>>> Just so I've got all the context here. This failure is
>>> on top of the one you were asking about ? (the unsafe
>>> / includes). And this is unique to the 2.6.34-stable
>>> perf variant (i.e. no other newer kernel release has
>>> the issue) ?
>> The patch is required on 2.6.34-stable but not on 2.6.34 vanilla. I have
>> not tested newer kernels but I believe there would be some compliants if
>> it was still broken. So I think there was some specific backporting
>> breakage with 2.6.34-stable. Without the patch I got this error on
>> 2.6.34.6:
>
> odd. Our autobuilders and local builds should have shown this,
> since we are already past 2.6.34.6 for those boards.
>
> We'll have to look into this one a bit more.
>

I saw this problem using Openembedded stable 2009 branch, so yocto could 
be fine due to different environment setup. I was posting the patch in 
case it helped with this issue because it looked similar.

Regards

Malcolm
>
>>
>> NOTE: make -j 2
>> DESTDIR=/home/gefanuc/auto/main/build/work/ge-sbc612-angstrom-linux/linux-ge-2.6.x+22411-r0/image 
>>
>> CC=powerpc-angstrom-linux-gcc LD=powerpc-angstrom-linux-ld
>> Makefile:508: No libdw.h found or old libdw.h found, disables dwarf
>> support. Please install elfutils-devel/elfutils-dev
>> touch .perf.dev.null
>> CC perf.o
>> CC bench/sched-messaging.o
>> bench/sched-messaging.c:34: error: expected '=', ',', ';', 'asm' or
>> '__attribute__' before 'use_pipes'
>> bench/sched-messaging.c:36: error: expected '=', ',', ';', 'asm' or
>> '__attribute__' before 'thread_mode'
>> bench/sched-messaging.c: In function 'fdpair':
>> bench/sched-messaging.c:61: error: 'use_pipes' undeclared (first use in
>> this function)
>> bench/sched-messaging.c:61: error: (Each undeclared identifier is
>> reported only once
>> bench/sched-messaging.c:61: error: for each function it appears in.)
>> bench/sched-messaging.c: In function 'receiver':
>> bench/sched-messaging.c:120: error: 'thread_mode' undeclared (first use
>> in this function)
>> bench/sched-messaging.c: In function 'create_worker':
>> bench/sched-messaging.c:149: error: 'thread_mode' undeclared (first use
>> in this function)
>> bench/sched-messaging.c: In function 'reap_worker':
>> bench/sched-messaging.c:189: error: 'thread_mode' undeclared (first use
>> in this function)
>> bench/sched-messaging.c: In function 'group':
>> bench/sched-messaging.c:232: error: 'thread_mode' undeclared (first use
>> in this function)
>> bench/sched-messaging.c: At top level:
>> bench/sched-messaging.c:255: error: 'use_pipes' undeclared here (not in
>> a function)
>> bench/sched-messaging.c:257: error: 'thread_mode' undeclared here (not
>> in a function)
>> make: *** [bench/sched-messaging.o] Error 1
>> make: *** Waiting for unfinished jobs....
>>
>> Regards
>>
>> Malcolm
>>
>>
>>>
>>> with those answers, I can appropriately deal with it
>>> and vector it to the right places.
>>>
>>> Cheers,
>>>
>>> Bruce
>>>
>>>>
>>>> Author: Malcolm Crossley <malcolm.crossley at ge.com>
>>>> Date: Fri Jul 22 22:44:53 2011 +0100
>>>>
>>>> Kernel version 2.6.34.6. has a bug with regards to it's perf tool 
>>>> source
>>>> files. This patch adds a missing include directive.
>>>>
>>>> Signed-off-by: Malcolm Crossley <malcolm.crossley at ge.com>
>>>>
>>>> diff --git a/tools/perf/perf.h b/tools/perf/perf.h
>>>> index 6fb379b..3c497c5 100644
>>>> --- a/tools/perf/perf.h
>>>> +++ b/tools/perf/perf.h
>>>> @@ -73,6 +73,7 @@
>>>> #include <unistd.h>
>>>> #include <sys/types.h>
>>>> #include <sys/syscall.h>
>>>> +#include <stdbool.h>
>>>>
>>>> #include "../../include/linux/perf_event.h"
>>>> #include "util/types.h"
>>>>
>>>>
>>>> Regards
>>>>
>>>> Malcolm
>>>>
>>>>>
>>>>> Bruce
>>>>>
>>>>>>
>>>>>> cheers,
>>>>>>
>>>>>> Andre
>>>>>> _______________________________________________
>>>>>> yocto mailing list
>>>>>> yocto at yoctoproject.org
>>>>>> https://lists.yoctoproject.org/listinfo/yocto
>>>>>
>>>>> _______________________________________________
>>>>> yocto mailing list
>>>>> yocto at yoctoproject.org
>>>>> https://lists.yoctoproject.org/listinfo/yocto
>>>>
>>>> _______________________________________________
>>>> yocto mailing list
>>>> yocto at yoctoproject.org
>>>> https://lists.yoctoproject.org/listinfo/yocto
>>>
>>
>




More information about the yocto mailing list