[OE-core] [oe-commits] Richard Purdie : perl: Fix various nativesdk build issues
Martin Jansa
martin.jansa at gmail.com
Tue Sep 4 08:18:58 UTC 2012
On Sun, Sep 02, 2012 at 12:57:24PM +0000, git at 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 at 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 at 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, 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, 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 at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20120904/fe083696/attachment-0002.sig>
More information about the Openembedded-core
mailing list