[OE-core] [oe-commits] Richard Purdie : perl: Fix various nativesdk build issues

Richard Purdie richard.purdie at linuxfoundation.org
Tue Sep 4 08:30:58 UTC 2012


On Tue, 2012-09-04 at 10:18 +0200, Martin Jansa wrote:
> >  meta/recipes-devtools/perl/perl_5.14.2.bb |   12 +++++++-----
> >  1 files changed, 7 insertions(+), 5 deletions(-)
> > 
> > diff --git a/meta/recipes-devtools/perl/perl_5.14.2.bb b/meta/recipes-devtools/perl/perl_5.14.2.bb
> > index 9db3805..3c1360f 100644
> > --- a/meta/recipes-devtools/perl/perl_5.14.2.bb
> > +++ b/meta/recipes-devtools/perl/perl_5.14.2.bb
> > @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
> >  # We need gnugrep (for -I)
> >  DEPENDS = "virtual/db grep-native"
> >  DEPENDS += "gdbm zlib"
> > -PR = "r8"
> > +PR = "r9"
> >  
> >  # 5.10.1 has Module::Build built-in
> >  PROVIDES += "libmodule-build-perl"
> > @@ -90,6 +90,8 @@ export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl-native/perl/${PV}/"
> >  # LDFLAGS for shared libraries
> >  export LDDLFLAGS = "${LDFLAGS} -shared"
> >  
> > +LDFLAGS_append = " -fstack-protector"
> > +
> >  # We're almost Debian, aren't we?
> >  CFLAGS += "-DDEBIAN"
> >  
> > @@ -148,10 +150,10 @@ do_configure() {
> >                 -e 's, at ARCH@-thread-multi,,g' \
> >                 -e 's, at ARCH@,${TARGET_ARCH}-${TARGET_OS},g' \
> >                 -e 's, at STAGINGDIR@,${STAGING_DIR_HOST},g' \
> > -               -e "s%/usr/include%${STAGING_INCDIR}%g" \
> > -	       -e 's,/usr/lib/,${libdir}/,g' \
> > -	       -e 's,/usr/,${exec_prefix}/,g' \
> > -	       -e 's,/perl5,/perl,g' \
> > +               -e "s%\([ \"^\',=]\+\)/usr/include%\1${STAGING_INCDIR}%g" \
> > +	       -e "s%\([ \"^\',=]\+\)/usr/lib/%\1${libdir}/%g" \
> > +	       -e "s%\([ \"^\',=]\+\)/usr/%\1${exec_prefix}/%g" \
> > +	       -e "s%/perl5%/perl%g" \
> >              config.sh-${TARGET_ARCH}-${TARGET_OS}
> >  
> >  	case "${TARGET_ARCH}" in
> 
> Not sure if it's caused by this, 


FWIW we never used to build nativesdk-perl at all. So bugs here are new
and due to the system being more correct about missing dependencies. Of
course nativesdk-perl should build, I just want to be clear this is a
new issue.

> but nativesdk-perl now fails to
> do_install()
> 
> make[1]: Nothing to be done for `install.man'.
> make[1]: Leaving directory `/OE/shr-core/tmp-eglibc/work/i686-nativesdk-oesdk-linux/nativesdk-perl-5.14.2-r9/perl-5.14.2'
> ln: failed to create symbolic link '/OE/shr-core/tmp-eglibc/work/i686-nativesdk-oesdk-linux/nativesdk-perl-5.14.2-r9/image/usr/local/oecore-i686/sysroots/i686-oesdk-linux/usr/bin/perl': No such file or directory
> ln: failed to create symbolic link '/OE/shr-core/tmp-eglibc/work/i686-nativesdk-oesdk-linux/nativesdk-perl-5.14.2-r9/image//usr/local/oecore-i686/sysroots/i686-oesdk-linux/usr/lib/perl5': No such file or directory
> rmdir: failed to remove '/OE/shr-core/tmp-eglibc/work/i686-nativesdk-oesdk-linux/nativesdk-perl-5.14.2-r9/image//usr/local/oecore-i686/sysroots/i686-oesdk-linux/usr/lib/perl/site_perl/5.14.2': No such file or directory
> rmdir: failed to remove '/OE/shr-core/tmp-eglibc/work/i686-nativesdk-oesdk-linux/nativesdk-perl-5.14.2-r9/image//usr/local/oecore-i686/sysroots/i686-oesdk-linux/usr/lib/perl/site_perl': No such file or directory
> mv: cannot stat '/OE/shr-core/tmp-eglibc/work/i686-nativesdk-oesdk-linux/nativesdk-perl-5.14.2-r9/image//usr/local/oecore-i686/sysroots/i686-oesdk-linux/usr/lib/perl/5.14.2/CORE/libperl.so': No such file or directory
> ln: failed to create symbolic link '/OE/shr-core/tmp-eglibc/work/i686-nativesdk-oesdk-linux/nativesdk-perl-5.14.2-r9/image//usr/local/oecore-i686/sysroots/i686-oesdk-linux/usr/lib/libperl.so.5': No such file or directory
> ln: failed to create symbolic link '/OE/shr-core/tmp-eglibc/work/i686-nativesdk-oesdk-linux/nativesdk-perl-5.14.2-r9/image//usr/local/oecore-i686/sysroots/i686-oesdk-linux/usr/lib/perl/5.14.2/CORE/libperl.so': No such file or directory
> install: cannot create regular file '/OE/shr-core/tmp-eglibc/work/i686-nativesdk-oesdk-linux/nativesdk-perl-5.14.2-r9/image/usr/local/oecore-i686/sysroots/i686-oesdk-linux/usr/lib/perl': No such file or directory
> ln: failed to create symbolic link '/OE/shr-core/tmp-eglibc/work/i686-nativesdk-oesdk-linux/nativesdk-perl-5.14.2-r9/image/usr/local/oecore-i686/sysroots/i686-oesdk-linux/usr/lib/perl/5.14.2/Config_heavy-target.pl': No such file or directory
> 
> And files are all installed in wrong directory (sysroot path repeated twice):
> OE @ ~/shr-core/tmp-eglibc/work/i686-nativesdk-oesdk-linux/nativesdk-perl-5.14.2-r9/perl-5.14.2 $ ls /OE/shr-core/tmp-eglibc/work/i686-nativesdk-oesdk-linux/nativesdk-perl-
> 5.14.2-r9/image/usr/local/oecore-i686/sysroots/i686-oesdk-linux/usr/local/oecore-i686/sysroots/i686-oesdk-linux/usr/bin/
> a2p          corelist   cpanp           enc2xs     h2xs       libnetcfg   perlbug  perlthanks  pod2latex  pod2usage   prove    ptar      s2p     xsubpp
> c2ph         cpan       cpanp-run-perl  find2perl  instmodsh  perl        perldoc  piconv      pod2man    podchecker  psed     ptardiff  shasum
> config_data  cpan2dist  dprofpp         h2ph       json_pp    perl5.14.2  perlivp  pl2pm       pod2text   podselect   pstruct  ptargrep  splain

This is likely a sign that some sed is happening twice to the perl
config files. You can see my patch above fixes some of them, looks like
there is still another one somewhere in there :(

Cheers,

Richard






More information about the Openembedded-core mailing list