[oe] perl-native_5.10.1 fails

Jan Paesmans jan.paesmans at gmail.com
Tue Mar 22 19:36:20 UTC 2011


On 03/19/11 19:44, Khem Raj wrote:
> On (19/03/11 07:01), Tom Rini wrote:
>> On 03/16/2011 04:56 PM, Jan Paesmans wrote:
>>> On 03/16/11 23:01, Tom Rini wrote:
>>>> On 03/16/2011 01:49 PM, Jan Paesmans wrote:
>>>>> Hi all,
>>>>>
>>>>> When trying to build an x11-image for pm9263 with
>>>>> angstrom-2010.x, perl-native fails to build. The error is
>>>>> listed below. As far as I can tell, the problem is that a gcc
>>>>> flag is passed to the linker, -fstack-protector. I tried to
>>>>> find out where this -fstack-protector could come from, but
>>>>> the only trace I could find was in the Configure of
>>>>> perl-native itself. There is no mention that it is set when
>>>>> Configure is called in the configure step, nor in any of the
>>>>> environment variables during the do_configure or do_compile
>>>>> step.
>>>>>
>>>>> I run Ubuntu 10.10 with gold as the linker. I thought that it
>>>>> might be the gold linker but neither gold nor ld seem to have
>>>>> this option when reviewing the man-page.
>>>>
>>>> Can you edit the recipe and add in: EXTRA_OEMAKE =
>>>> 'LD="${CCLD}"'
>>>>
>
> actually when inheriting native it export LD=ld in envronment and
> thats whats used in makefiles
>
> You could try setting
>
> export LD=${CC} just after inherit native in the perl-native recipe
>
> I have a simialr fix lined up for oe-core

sorry for the late reply.
Khem's solution also seems to work. I did a 'bitbake -c clean
perl-native && bitbake perl-native' with the other suggestion and that
succeeded. However the EXTRA_OEMAKE seems cleaner.

Regards,

Jan

>>>> And do a bitbake -c clean perl-native then bitbake perl-native
>>>> Thanks.
>>>>
>>> That did the trick. Now perl-native compiles fine. However when
>>> I checked the output of the log.do_compile I did notice a change
>>> a the behaviour. I was expecting the -fstack-protector flag to be
>>> gone, instead it is still there. However, instead of invoking ld
>>> for the final link, now gcc is invoked. Below you can find the
>>> relevent section of the log file. Also in attachment is a patch
>>> with the change you suggested.
>>
>> OK, thanks. I'll put this into a patch this weekend. What's
>> going on is that while I'm not sure where -fstack-protector is
>> coming from (but it's a useful flag), as you saw, 'ld' chokes on
>> it. But for linking you shouldn't really ever invoke ld directly
>> but rather via gcc, so passing LD=${CCLD} overrides perl's
>> makefiles and we invoke gcc as the linker and it handles the flag
>> right in this case.
>>
>>>
>>> Thanks for the help. Regards,
>>>
>>> Jan





More information about the Openembedded-devel mailing list