Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Martin Jansa <martin.jansa@gmail.com>
To: openembedded-core@lists.openembedded.org
Cc: openembedded-commits@lists.openembedded.org
Subject: Re: [oe-commits] Richard Purdie : perl: Fix various nativesdk build issues
Date: Tue, 4 Sep 2012 10:18:58 +0200	[thread overview]
Message-ID: <20120904081858.GA3372@jama.jama.net> (raw)
In-Reply-To: <20120902125724.B93CA10357@opal>

[-- 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 --]

       reply	other threads:[~2012-09-04  8:30 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20120902125724.B93CA10357@opal>
2012-09-04  8:18 ` Martin Jansa [this message]
2012-09-04  8:30   ` [oe-commits] Richard Purdie : perl: Fix various nativesdk build issues Richard Purdie
2012-09-04  8:51     ` Martin Jansa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120904081858.GA3372@jama.jama.net \
    --to=martin.jansa@gmail.com \
    --cc=openembedded-commits@lists.openembedded.org \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox