* Re: [oe-commits] Richard Purdie : perl: Fix various nativesdk build issues [not found] <20120902125724.B93CA10357@opal> @ 2012-09-04 8:18 ` Martin Jansa 2012-09-04 8:30 ` Richard Purdie 0 siblings, 1 reply; 3+ messages in thread From: Martin Jansa @ 2012-09-04 8:18 UTC (permalink / raw) To: openembedded-core; +Cc: openembedded-commits [-- Attachment #1: Type: text/plain, Size: 5934 bytes --] On Sun, Sep 02, 2012 at 12:57:24PM +0000, git@git.openembedded.org wrote: > Module: openembedded-core.git > Branch: master > Commit: 38234f2e276356b1d77a87ceabc486107e336d19 > URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=38234f2e276356b1d77a87ceabc486107e336d19 > > Author: Richard Purdie <richard.purdie@linuxfoundation.org> > Date: Thu Aug 30 16:36:24 2012 -0700 > > perl: Fix various nativesdk build issues > > The config.sh lists -fstack-protector but this isn't in LDFLAGS. This > can result in perl compilation failures due to the mismatch. Adding the > flag to LDFLAGS solves makes all the flags consistent and avoids build > failures from missing symbols. > > It was also found that the path substitutions made by the sed statement > can conflict with each other and you can end up with $prefix$prefix type > expressions in config.sh-X which can break the build in unusual ways. > This patch anchors the expressions to ensure only true matches are > replaced. > > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> > > --- > > 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,@ARCH@-thread-multi,,g' \ > -e 's,@ARCH@,${TARGET_ARCH}-${TARGET_OS},g' \ > -e 's,@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, 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 -- Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 205 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [oe-commits] Richard Purdie : perl: Fix various nativesdk build issues 2012-09-04 8:18 ` [oe-commits] Richard Purdie : perl: Fix various nativesdk build issues Martin Jansa @ 2012-09-04 8:30 ` Richard Purdie 2012-09-04 8:51 ` Martin Jansa 0 siblings, 1 reply; 3+ messages in thread From: Richard Purdie @ 2012-09-04 8:30 UTC (permalink / raw) To: Martin Jansa; +Cc: openembedded-commits, openembedded-core 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,@ARCH@-thread-multi,,g' \ > > -e 's,@ARCH@,${TARGET_ARCH}-${TARGET_OS},g' \ > > -e 's,@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 ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [oe-commits] Richard Purdie : perl: Fix various nativesdk build issues 2012-09-04 8:30 ` Richard Purdie @ 2012-09-04 8:51 ` Martin Jansa 0 siblings, 0 replies; 3+ messages in thread From: Martin Jansa @ 2012-09-04 8:51 UTC (permalink / raw) To: Richard Purdie; +Cc: openembedded-commits, openembedded-core [-- Attachment #1: Type: text/plain, Size: 5827 bytes --] On Tue, Sep 04, 2012 at 09:30:58AM +0100, Richard Purdie wrote: > 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,@ARCH@-thread-multi,,g' \ > > > -e 's,@ARCH@,${TARGET_ARCH}-${TARGET_OS},g' \ > > > -e 's,@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. Ah I haven't discovered that commit: nativesdk: Switch to using nativesdk as a prefix, not a suffix also adds BBCLASSEXTEND to perl > > > 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 > > -- Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 205 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-09-04 9:03 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20120902125724.B93CA10357@opal>
2012-09-04 8:18 ` [oe-commits] Richard Purdie : perl: Fix various nativesdk build issues Martin Jansa
2012-09-04 8:30 ` Richard Purdie
2012-09-04 8:51 ` Martin Jansa
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox