[OE-core] [PATCH] perl: set the perl libraries search path
jackie.huang at windriver.com
jackie.huang at windriver.com
Thu Nov 6 05:33:38 UTC 2014
From: Jackie Huang <jackie.huang at windriver.com>
The default value for this is ../../lib which ends up with
something like:
| ./sysroots/x86_64-linux/usr/bin/perl-native/perl5.20.0.real \
| "-I../../lib" "-I../../lib" "-MExtUtils::Command::MM" -e pod2man \
| "--" --section=0 --perm_rw=644 perldoc.pod blib/man1/perldoc.1
in this case, nativeperl will find libraries from the target build,
When using an x86-64 host to target Haswell, you can end up with
../../lib including precompiled modules which use Haswell
instructions, it fails with:
| Running pm_to_blib for dist/if directly
| Skip ../../lib/if.pm (unchanged)
| Makefile:457: recipe for target 'manifypods' failed
| make[1]: *** [manifypods] Illegal instruction
So set it to use the -native ones instead of those from the target
build.
Signed-off-by: Jackie Huang <jackie.huang at windriver.com>
---
meta/recipes-devtools/perl/perl_5.20.0.bb | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/meta/recipes-devtools/perl/perl_5.20.0.bb b/meta/recipes-devtools/perl/perl_5.20.0.bb
index e594c5c..81caaa9 100644
--- a/meta/recipes-devtools/perl/perl_5.20.0.bb
+++ b/meta/recipes-devtools/perl/perl_5.20.0.bb
@@ -94,6 +94,11 @@ HOSTPERL = "${STAGING_BINDIR_NATIVE}/perl-native/perl${PV}"
# Where to find .so files - use the -native versions not those from the target build
export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl-native/perl/${PV}/"
+# Where to find perl @INC/#include files
+# - use the -native versions not those from the target build
+export PERL_LIB = "${STAGING_LIBDIR_NATIVE}/perl-native/perl/${PV}/"
+export PERL_ARCHLIB = "${STAGING_LIBDIR_NATIVE}/perl-native/perl/${PV}/"
+
# LDFLAGS for shared libraries
export LDDLFLAGS = "${LDFLAGS} -shared"
--
2.0.0
More information about the Openembedded-core
mailing list