[oe] [PATCH v3] cpan_build.bbclass; added cc and ld flags to the perl Build.PL invocation

Frans Meulenbroeks fransmeulenbroeks at gmail.com
Tue Dec 28 06:32:26 UTC 2010


2010/12/27 Roman I Khimov <roman at khimov.ru>:
> В сообщении от Понедельник 27 декабря 2010 20:11:07 автор Frans Meulenbroeks написал:
>> Without these gcc would be used which resolves to /usr/bin/gcc
>> and one gets an intel exe.
>> This showed up with libparams-validate-perl and libdatetime-perl
>> The LDFLAGS are added to resolve the GNU_HASH QA error
>>
>> Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks at gmail.com>
>> ---
>>  classes/cpan_build.bbclass     |    1 +
>>  1 files changed, 1 insertions(+), 0 deletions(-)
>>
>> diff --git a/classes/cpan_build.bbclass b/classes/cpan_build.bbclass
>> index d1bbc4f..070e061 100644
>> --- a/classes/cpan_build.bbclass
>> +++ b/classes/cpan_build.bbclass
>> @@ -26,6 +26,7 @@ cpan_build_do_configure () {
>>               # build for target
>>               . ${STAGING_LIBDIR}/perl/config.sh
>>               perl Build.PL --installdirs vendor \
>> +                     --config cc="${CC} ${LDFLAGS}" --config ld="${CCLD} ${LDFLAGS}"
>>  \ --destdir ${D} \
>>                       --install_path lib="${datadir}/perl5" \
>>                       --install_path arch="${libdir}/perl5" \
>>
>
> Seems strange to me. ${STAGING_LIBDIR}/perl/config.sh for example:
>
> rik at kettle:oe-arm$ cat tmp/sysroots/armv5te-angstrom-linux-gnueabi/usr/lib/perl/config.sh | grep -E "^(cc=|ld=|ldflags=)"
> cc="arm-angstrom-linux-gnueabi-gcc -march=armv5te -mtune=arm926ej-s -mthumb-interwork -mno-thumb"
> ld="arm-angstrom-linux-gnueabi-gcc -march=armv5te -mtune=arm926ej-s -mthumb-interwork -mno-thumb"
> ldflags="-L/storage/work/oe/oe-arm/tmp/sysroots/armv5te-angstrom-linux-gnueabi/usr/lib -Wl,-rpath-link,/storage/work/oe/oe-arm/tmp/sysroots/armv5te-angstrom-linux-gnueabi/usr/lib -Wl,-O1 -Wl,--hash-style=gnu"
>
> Same definitions in Config_heavy. It should be working without that. I've
> just built it here for qemuarm (with Angstrom distro) and seems to be OK:
>
> rik at kettle:oe-arm$ ./tmp/sysroots/x86_64-linux/usr/armv5te/bin/arm-angstrom-linux-gnueabi-objdump -f tmp/work/armv5te-angstrom-linux-gnueabi/libdatetime-perl-0.61-r1/image/usr/lib/perl5/auto/DateTime/DateTime.so
>
> tmp/work/armv5te-angstrom-linux-gnueabi/libdatetime-perl-0.61-r1/image/usr/lib/perl5/auto/DateTime/DateTime.so:     file format elf32-littlearm
> architecture: arm, flags 0x00000150:
> HAS_SYMS, DYNAMIC, D_PAGED
> start address 0x00000c94
>

I'll peek into those config files tonight to see what I got (and I'll
try to reproduce the problem).
Last weekend I ended up in getting an i686 DateTime.o
my dev sys is opensuse 11.3 on 686, target was sheevaplug, but I seem
to recall it also appeared for beagleboard.
distro minimal.

I have only seen the problem with the two recipes I mentioned. Both of
these use Build.PL. I have not seen it with packages that have a
Makefile.PL (which seems to be the majority), but if it fails again
tonight with the patch I'll recheck that too.

Frans.




More information about the Openembedded-devel mailing list