[oe] [PATCH 3/5] perl-native: fix ExtUtils::Liblist::Kid library check for cross-build

Roman I Khimov khimov at altell.ru
Sat Dec 25 10:48:27 UTC 2010


MakeMaker uses it to check for libraries presence and if the library is not
found in host dirs (/lib, /usr/lib, etc) it fails with messages like:

Note (probably harmless): No library found for -lpcap

Unfortunately it's not harmless, since MakeMaker removes such libs from flags
passed to link target modules which obviously breaks them.

As I don't know exact semantic and all use-cases of libpth config variable
I've workarounded this issue by prepending ldflags (and this does contain the
right path) to lib flags.

Signed-off-by: Roman I Khimov <khimov at altell.ru>
---
 .../perl-5.10.1/perl-fix-cross-library-check.patch |   19 +++++++++++++++++++
 recipes/perl/perl-native_5.10.1.bb                 |    3 ++-
 2 files changed, 21 insertions(+), 1 deletions(-)
 create mode 100644 recipes/perl/perl-5.10.1/perl-fix-cross-library-check.patch

diff --git a/recipes/perl/perl-5.10.1/perl-fix-cross-library-check.patch b/recipes/perl/perl-5.10.1/perl-fix-cross-library-check.patch
new file mode 100644
index 0000000..1c51609
--- /dev/null
+++ b/recipes/perl/perl-5.10.1/perl-fix-cross-library-check.patch
@@ -0,0 +1,19 @@
+Index: perl-5.10.1/lib/ExtUtils/Liblist/Kid.pm
+===================================================================
+--- perl-5.10.1.orig/lib/ExtUtils/Liblist/Kid.pm	2010-11-23 13:54:41.000000000 +0300
++++ perl-5.10.1/lib/ExtUtils/Liblist/Kid.pm	2010-11-23 14:18:13.000000000 +0300
+@@ -33,6 +33,14 @@
+ 	$potential_libs .= " " if $potential_libs;
+ 	$potential_libs .= $Config{perllibs};
+     }
++
++    if ($Config{ldflags}) { 
++	# Dynamic libraries are not transitive, so we may need including
++	# the libraries linked against perl.dll again.
++
++	$potential_libs = $Config{ldflags} . " " . $potential_libs;
++    }
++
+     return ("", "", "", "", ($give_libs ? [] : ())) unless $potential_libs;
+     warn "Potential libraries are '$potential_libs':\n" if $verbose;
+ 
diff --git a/recipes/perl/perl-native_5.10.1.bb b/recipes/perl/perl-native_5.10.1.bb
index 8b275a2..c523974 100644
--- a/recipes/perl/perl-native_5.10.1.bb
+++ b/recipes/perl/perl-native_5.10.1.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.perl.org/"
 SECTION = "libs"
 LICENSE = "Artistic|GPLv1+"
 DEPENDS = "virtual/db-native gdbm-native"
-PR = "r7"
+PR = "r8"
 NATIVE_INSTALL_WORKS = "1"
 
 # Not tested enough
@@ -21,6 +21,7 @@ SRC_URI = "http://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz;name=perl-${PV} \
            file://perl-configpm-switch.patch \
            file://native-nopacklist.patch \
            file://native-perlinc.patch \
+	   file://perl-fix-cross-library-check.patch \
 	   "
 
 SRC_URI[perl-5.10.1.md5sum] = "b9b2fdb957f50ada62d73f43ee75d044"
-- 
1.6.4.2





More information about the Openembedded-devel mailing list