[OE-core] [PATCH 2/2] libxml-simple-perl: update EXTRA_PERLFLAGS

Kang Kai Kai.Kang at windriver.com
Fri Jun 10 05:40:18 UTC 2011


Hi Saul,

> On 06/08/2011 03:49 AM, Kang Kai wrote:
>> From: Kang Kai<kai.kang at windriver.com>
>>
>> [Yocto 1132]
>>
>> libxml-simple-perl should not refer to native perl libs modules, update
>> EXTRA_PERLFLAGS to fix the failure.
>>
>> Signed-off-by: Kang Kai<kai.kang at windriver.com>
>> ---
>>   .../perl/libxml-simple-perl_2.18.bb                |    4 ++--
>>   1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/meta/recipes-devtools/perl/libxml-simple-perl_2.18.bb 
>> b/meta/recipes-devtools/perl/libxml-simple-perl_2.18.bb
>> index ca57776..75a018a 100644
>> --- a/meta/recipes-devtools/perl/libxml-simple-perl_2.18.bb
>> +++ b/meta/recipes-devtools/perl/libxml-simple-perl_2.18.bb
>> @@ -2,7 +2,7 @@ SECTION = "libs"
>>   LICENSE = "Artistic"
>>   LIC_FILES_CHKSUM = 
>> "file://README;beginline=70;md5=94aa5d46682b411a53a5494cfb22640e"
>>   DEPENDS += "libxml-parser-perl"
>> -PR = "r1"
>> +PR = "r2"
>>
>>   SRC_URI = 
>> "http://www.cpan.org/modules/by-module/XML/XML-Simple-${PV}.tar.gz"
>>
>> @@ -11,6 +11,6 @@ SRC_URI[sha256sum] = 
>> "a54967c188cda3e20f496c83be4de3f1740eeaa83c0380712ecd969ad8
>>
>>   S = "${WORKDIR}/XML-Simple-${PV}"
>>
>> -EXTRA_PERLFLAGS = "-I 
>> ${STAGING_LIBDIR_NATIVE}/perl/${@get_perl_version(d)}"
>> +EXTRA_PERLFLAGS = "-I ${STAGING_LIBDIR}/perl/${@get_perl_version(d)}"
>>
> Can you explain in more detail why this change is needed?  should the 
> ordering DEPENDS ordering change?

The build failure infos are :

| could not find ParserDetails.ini in 
/mnt/sda10/poky-all-platform/build/tmp/sysroots/x86_64-linux/usr/lib/perl/5.12.3/XML/SAX
| Errno architecture (x86_64-linux-thread-multi-2.6.35-22-generic) does 
not match executable architecture 
(i586-linux-2.6.37-rc5-yocto-standard+) at 
/mnt/sda10/poky-all-platform/build/tmp/sysroots/x86_64-linux/usr/lib/perl/5.12.3/Errno.pm 
line 11.
| Compilation failed in require at 
/mnt/sda10/poky-all-platform/build/tmp/sysroots/x86_64-linux/usr/lib/perl/5.12.3/File/Temp.pm 
line 148.
| BEGIN failed--compilation aborted at 
/mnt/sda10/poky-all-platform/build/tmp/sysroots/x86_64-linux/usr/lib/perl/5.12.3/File/Temp.pm 
line 148.
| Compilation failed in require at 
/mnt/sda10/poky-all-platform/build/tmp/sysroots/x86_64-linux/usr/lib/perl/5.12.3/XML/SAX/PurePerl/Reader/URI.pm 
line 8.
| BEGIN failed--compilation aborted at 
/mnt/sda10/poky-all-platform/build/tmp/sysroots/x86_64-linux/usr/lib/perl/5.12.3/XML/SAX/PurePerl/Reader/URI.pm 
line 8.
| Compilation failed in require at 
/mnt/sda10/poky-all-platform/build/tmp/sysroots/x86_64-linux/usr/lib/perl/5.12.3/XML/SAX/PurePerl/Reader.pm 
line 6.
| BEGIN failed--compilation aborted at 
/mnt/sda10/poky-all-platform/build/tmp/sysroots/x86_64-linux/usr/lib/perl/5.12.3/XML/SAX/PurePerl/Reader.pm 
line 6.
| Compilation failed in require at 
/mnt/sda10/poky-all-platform/build/tmp/sysroots/x86_64-linux/usr/lib/perl/5.12.3/XML/SAX/PurePerl.pm 
line 11.
| BEGIN failed--compilation aborted at 
/mnt/sda10/poky-all-platform/build/tmp/sysroots/x86_64-linux/usr/lib/perl/5.12.3/XML/SAX/PurePerl.pm 
line 11.
| Compilation failed in require at (eval 16) line 1.
| Checking installed modules ...
| ERROR: Function 'do_configure' failed (see 
/mnt/sda10/poky-all-platform/build/tmp/work/i586-poky-linux/libxml-simple-perl-2.18-r1/temp/log.do_configure.21878 
for further information)
| ERROR: Function 'do_configure' failed (see 
/mnt/sda10/poky-all-platform/build/tmp/work/i586-poky-linux/libxml-simple-perl-2.18-r1/temp/log.do_configure.21878 
for further information)


The first error info is caused by no ParserDetails.ini file which should 
be created by libxml-sax-perl-native. When i add the command after 
do_populate_sysroot to create ParserDetails.ini:

perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()"


First error could be fixed.
Ref:
http://perl-xml.sourceforge.net/faq/#parserdetails.ini

The other error is caused by require XML::SAX in ${S}/Makefile.PL line 
30, because use "-I 
${STAGING_LIBDIR_NATIVE}/perl/${@get_perl_version(d)}"  as command perl 
options, it uses modules under

/mnt/sda10/poky-all-platform/build/tmp/sysroots/x86_64-linux/usr/lib/perl/5.12.3/

Then meet the 
/mnt/sda10/poky-all-platform/build/tmp/sysroots/x86_64-linux/usr/lib/perl/5.12.3/Errno.pm 
line 11 checks the build arch whether equals the arch using the module. 
Not equal then throw a fatal error.

That's why I use "-I ${STAGING_LIBDIR}/perl/${@get_perl_version(d)}" 
instead.


>
> Sau!
>

Regards,
Kai

>
>>   inherit cpan





More information about the Openembedded-core mailing list