this is similar to Bug 829 with same error message, but from a different reason: | ./miniperl -Ilib make_ext.pl cpan/Archive-Extract/pm_to_blib MAKE=make LIBPERL_A=libperl.so | Making Archive::Extract (all) | | Creating Makefile.PL in cpan/Archive-Extract for Archive::Extract | | Running Makefile.PL in cpan/Archive-Extract | ../../miniperl Makefile.PL INSTALLDIRS=perl INSTALLMAN1DIR=none INSTALLMAN3DIR=none PERL_CORE=1 LIBPERL_A=libperl.so | Writing Makefile for Archive::Extract | make[2]: Entering directory `/media/builds-0/demo-0309/tmp/work/core2-poky-linux/perl-5.12.2-r2/perl-5.12.2/cpan/Archive-Extract' | Can't locate File/Glob.pm in @INC (@INC contains: ../../lib ../../lib ../../cpan/AutoLoader/lib ../../cpan/Cwd ../../cpan/Cwd/lib ../../cpan/ExtUtils-Command/lib ../../dist/ExtUtils-Install/lib ../../cpan/ExtUtils-MakeMaker/lib ../../cpan/ExtUtils-Manifest/lib ../../cpan/File-Path/lib ../../lib /media/builds/master/demo-qemux86-0223/tmp/sysroots/x86_64-linux/usr/lib/perl/5.12.2 /media/builds/master/demo-qemux86-0223/tmp/sysroots/x86_64-linux/usr/lib/perl/5.12.2 /media/builds/master/demo-qemux86-0223/tmp/sysroots/x86_64-linux/usr/lib/perl/5.12.2 .) at ../../cpan/ExtUtils-Command/lib/ExtUtils/Command.pm line 90. | BEGIN failed--compilation aborted at ../../cpan/ExtUtils-Command/lib/ExtUtils/Command.pm line 90. miniperl is used which is linked to hostperl which is further linked to sysroot/perl5.12.2. Currently we only provide wrapper to the perl binary, instead of perl5.12.2. Here there're two potential issues to be solved: a) perl5.12.2 is actually exactly same as perl. I'm not sure why there's such a separate binary with version number. Is a symbol link enough? Or else we need a seperate wrapper script for perl5.12.2 too. b) don't create hostperl symbol link within perl source directory, which breaks the wrapper script. The wrapper script assumes that the wrapper and the real binary are in same sysroot directory (see "dirname $0" in the wrapper script). However when hostperl is created within perl source directory, the real binary can't be found then. Actually perl-native already creates a hostperl link in sysroot. So we don't need another duplication in target perl recipe. Again you have to remove the build directory which generates sstate packages to expose this issue.
Currently the perl version is 5.12.3 and this defect can't be reproduced again on master branch.
Can't be reproduced now, might be fixed after the perl upgraded to 5.12.3.
With latest master branch (git info: 6c2b7beac3cd23ed44bd3e195c6360a0932876bf), this issue can't be reproduced.