[OE-core] [v2 1/4] eglibc: fix builds on fedora 17 alpha

Richard Purdie richard.purdie at linuxfoundation.org
Sat Apr 14 12:27:37 UTC 2012


On Sat, 2012-04-14 at 11:14 +0100, Richard Purdie wrote:
> On Sat, 2012-04-14 at 01:59 -0700, nitin.a.kamble at intel.com wrote:
> > From: Nitin A Kamble <nitin.a.kamble at intel.com>
> > 
> > Generally distros keep perl at /sur/bin/perl
> > Fedora 17 alpha also has /bin/perl
> > 
> > this causes eglibc build on such distros to put perl interpreter path in
> > the perl scripts as /bin/perl
> > 
> > But we set perl location for target as /usr/bin/perl
> > 
> > This mismatch of perl path causes failure of rootfs image creation
> > like this:
> > 
> > | error: Failed dependencies:
> > |       /bin/perl is needed by eglibc-utils-2.13-r23+svnr15508.i586
> > NOTE: package core-image-sato-1.0-r0: task do_rootfs: Failed
> > ERROR: Task 8
> > (/home/nitin/prj/poky.git/meta/recipes-sato/images/core-image-sato.bb,
> > do_rootfs) failed with exit code '1'
> > 
> > This Fixes bug : [YOCTO #2286]
> > 
> > Signed-off-by: Nitin A Kamble <nitin.a.kamble at intel.com>
> > ---
> >  meta/recipes-core/eglibc/eglibc-package.inc |    5 +++++
> >  meta/recipes-core/eglibc/eglibc_2.13.bb     |    2 +-
> >  meta/recipes-core/eglibc/eglibc_2.15.bb     |    2 +-
> >  3 files changed, 7 insertions(+), 2 deletions(-)
> > 
> > diff --git a/meta/recipes-core/eglibc/eglibc-package.inc b/meta/recipes-core/eglibc/eglibc-package.inc
> > index 9e45fc1..d13cb35 100644
> > --- a/meta/recipes-core/eglibc/eglibc-package.inc
> > +++ b/meta/recipes-core/eglibc/eglibc-package.inc
> > @@ -76,6 +76,11 @@ do_install_append () {
> >  	rm -f ${D}${sysconfdir}/localtime
> >  
> >  	oe_multilib_header bits/syscall.h
> > +	
> > +	if [ -f ${D}${bindir}/mtrace ]
> > +	then
> > +		sed -e "s# /bin/perl# ${bindir}/perl#" -i ${D}${bindir}/mtrace 
> > +	fi
> >  }
> 
> I'd recommend something like:
> 
> sed -i -e '1s,#!.*perl,#! ${bindir}/perl,' ${D}${bindir}/mtrace 
> 
> which will only match on the first line and matches .*perl rather
> than /bin/perl.

I found some other issues with this and the contents of the -nativesdk
eglibc-utils package. I've merged an updated version which uses
${bindir}/env perl and hardcodes /usr/bin/env in the -nativesdk case
(which is an assumption nativesdk makes in general).

Cheers,

Richard





More information about the Openembedded-core mailing list