[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