Hi Saul,

On 06/08/2011 03:49 AM, Kang Kai wrote:
From: Kang Kai<[email protected]>

[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<[email protected]>
---
  .../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


_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to