[OE-core] [PATCH] perl: Add dyanloader build hack

Saul Wold sgw at linux.intel.com
Mon Jan 21 03:59:53 UTC 2013


On 01/19/2013 03:49 PM, Richard Purdie wrote:
> Patch perl to allow builds to work where a native perl running against target modules
> attempts to load a dynamic binary module. We assume that a native version of the
> module exists as it would for the target and perform an appropriate path
> substitution.
>
> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> ---
> diff --git a/meta/recipes-devtools/perl/perl-5.14.2/dynaloaderhack.patch b/meta/recipes-devtools/perl/perl-5.14.2/dynaloaderhack.patch
> new file mode 100644
> index 0000000..c3e17f8
> --- /dev/null
> +++ b/meta/recipes-devtools/perl/perl-5.14.2/dynaloaderhack.patch
> @@ -0,0 +1,23 @@
> +Hack the dynamic module loader so that we use native modules since we can't load
> +the target ones.
> +
> +Upsteam-Status: Inappropriate

Upstream misspelled!

Sau!

> +
> +RP
> +2013/01/13
> +
> +Index: perl-5.14.2/ext/DynaLoader/DynaLoader_pm.PL
> +===================================================================
> +--- perl-5.14.2.orig/ext/DynaLoader/DynaLoader_pm.PL	2011-09-19 13:18:22.000000000 +0000
> ++++ perl-5.14.2/ext/DynaLoader/DynaLoader_pm.PL	2013-01-19 16:09:51.020584945 +0000
> +@@ -310,6 +310,10 @@
> +     foreach (@INC) {
> + 	<<$^O-eq-VMS>>chop($_ = VMS::Filespec::unixpath($_));<</$^O-eq-VMS>>
> + 	    my $dir = "$_/auto/$modpname";
> ++
> ++	if (defined $ENV{PERL_LIB} and defined $ENV{PERLHOSTLIB}) {
> ++	    $dir =~ s/$ENV{PERL_LIB}/$ENV{PERLHOSTLIB}/g;
> ++	}
> + 	
> + 	next unless -d $dir; # skip over uninteresting directories
> + 	
> diff --git a/meta/recipes-devtools/perl/perl-native_5.14.2.bb b/meta/recipes-devtools/perl/perl-native_5.14.2.bb
> index 60fcc18..9a066e2 100644
> --- a/meta/recipes-devtools/perl/perl-native_5.14.2.bb
> +++ b/meta/recipes-devtools/perl/perl-native_5.14.2.bb
> @@ -19,6 +19,7 @@ SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \
>              file://native-perlinc.patch \
>              file://MM_Unix.pm.patch \
>              file://debian/errno_ver.diff \
> +           file://dynaloaderhack.patch \
>              file://perl-build-in-t-dir.patch"
>
>   SRC_URI[md5sum] = "3306fbaf976dcebdcd49b2ac0be00eb9"
> diff --git a/meta/recipes-devtools/perl/perl_5.14.2.bb b/meta/recipes-devtools/perl/perl_5.14.2.bb
> index f924ebd..ddc9568 100644
> --- a/meta/recipes-devtools/perl/perl_5.14.2.bb
> +++ b/meta/recipes-devtools/perl/perl_5.14.2.bb
> @@ -67,6 +67,7 @@ SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \
>   	file://fix_bad_rpath.patch \
>   	file://perl-build-in-t-dir.patch \
>   	file://perl-archlib-exp.patch \
> +	file://dynaloaderhack.patch \
>   	\
>           file://config.sh \
>           file://config.sh-32 \
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>




More information about the Openembedded-core mailing list