Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH] classes/chrpath: trigger an error if chrpath fails
@ 2012-08-15 16:44 Paul Eggleton
  2012-08-16 17:06 ` Saul Wold
  2012-08-16 17:13 ` Paul Eggleton
  0 siblings, 2 replies; 11+ messages in thread
From: Paul Eggleton @ 2012-08-15 16:44 UTC (permalink / raw)
  To: openembedded-core

If chrpath failed here we were just silently ignoring it.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/classes/chrpath.bbclass |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/classes/chrpath.bbclass b/meta/classes/chrpath.bbclass
index 10b5ca0..ad61fe0 100644
--- a/meta/classes/chrpath.bbclass
+++ b/meta/classes/chrpath.bbclass
@@ -74,7 +74,9 @@ def process_dir (directory, d):
             if len(new_rpaths):
                 args = ":".join(new_rpaths)
                 #bb.note("Setting rpath for %s to %s" %(fpath, args))
-                sub.call([cmd, '-r', args, fpath])
+                ret = sub.call([cmd, '-r', args, fpath])
+                if ret != 0:
+                    bb.error("chrpath command failed with exit code %d" % ret)
 
             if perms:
                 os.chmod(fpath, perms)
-- 
1.7.9.5




^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH] classes/chrpath: trigger an error if chrpath fails
  2012-08-15 16:44 [PATCH] classes/chrpath: trigger an error if chrpath fails Paul Eggleton
@ 2012-08-16 17:06 ` Saul Wold
  2012-08-16 17:13 ` Paul Eggleton
  1 sibling, 0 replies; 11+ messages in thread
From: Saul Wold @ 2012-08-16 17:06 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer; +Cc: Paul Eggleton

On 08/15/2012 09:44 AM, Paul Eggleton wrote:
> If chrpath failed here we were just silently ignoring it.
>
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> ---
>   meta/classes/chrpath.bbclass |    4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/chrpath.bbclass b/meta/classes/chrpath.bbclass
> index 10b5ca0..ad61fe0 100644
> --- a/meta/classes/chrpath.bbclass
> +++ b/meta/classes/chrpath.bbclass
> @@ -74,7 +74,9 @@ def process_dir (directory, d):
>               if len(new_rpaths):
>                   args = ":".join(new_rpaths)
>                   #bb.note("Setting rpath for %s to %s" %(fpath, args))
> -                sub.call([cmd, '-r', args, fpath])
> +                ret = sub.call([cmd, '-r', args, fpath])
> +                if ret != 0:
> +                    bb.error("chrpath command failed with exit code %d" % ret)
>
>               if perms:
>                   os.chmod(fpath, perms)
>
Merged into OE-Core

Thanks
	Sau!




^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] classes/chrpath: trigger an error if chrpath fails
  2012-08-15 16:44 [PATCH] classes/chrpath: trigger an error if chrpath fails Paul Eggleton
  2012-08-16 17:06 ` Saul Wold
@ 2012-08-16 17:13 ` Paul Eggleton
  2012-08-17  9:53   ` Richard Purdie
  2012-08-17 10:03   ` Phil Blundell
  1 sibling, 2 replies; 11+ messages in thread
From: Paul Eggleton @ 2012-08-16 17:13 UTC (permalink / raw)
  To: openembedded-core

On Wednesday 15 August 2012 17:44:33 Paul Eggleton wrote:
> If chrpath failed here we were just silently ignoring it.
> 
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> ---
>  meta/classes/chrpath.bbclass |    4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/classes/chrpath.bbclass b/meta/classes/chrpath.bbclass
> index 10b5ca0..ad61fe0 100644
> --- a/meta/classes/chrpath.bbclass
> +++ b/meta/classes/chrpath.bbclass
> @@ -74,7 +74,9 @@ def process_dir (directory, d):
>              if len(new_rpaths):
>                  args = ":".join(new_rpaths)
>                  #bb.note("Setting rpath for %s to %s" %(fpath, args))
> -                sub.call([cmd, '-r', args, fpath])
> +                ret = sub.call([cmd, '-r', args, fpath])
> +                if ret != 0:
> +                    bb.error("chrpath command failed with exit code %d" %
> ret)
> 
>              if perms:
>                  os.chmod(fpath, perms)

I missed that this does not actually report the output from chrpath when it 
fails because the task log is suppressed by virtue of calling bb.error. I will 
send a follow-up patch to address this.

Incidentally a couple of users are reporting that they are now seeing failures 
where the rpath size is reported to be too small to contain the path we are 
applying. I haven't seen this myself - is there some way we can increase the 
space allowed for storing the path or is there some other issue at work here? 
I tried to search for some information on how storage of the rpath works but 
did not really find anything conclusive.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] classes/chrpath: trigger an error if chrpath fails
  2012-08-16 17:13 ` Paul Eggleton
@ 2012-08-17  9:53   ` Richard Purdie
  2012-08-17 10:05     ` Jack Mitchell
  2012-08-18  0:39     ` Khem Raj
  2012-08-17 10:03   ` Phil Blundell
  1 sibling, 2 replies; 11+ messages in thread
From: Richard Purdie @ 2012-08-17  9:53 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: openembedded-core

On Thu, 2012-08-16 at 18:13 +0100, Paul Eggleton wrote:
> On Wednesday 15 August 2012 17:44:33 Paul Eggleton wrote:
> > If chrpath failed here we were just silently ignoring it.
> > 
> > Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> > ---
> >  meta/classes/chrpath.bbclass |    4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> > 
> > diff --git a/meta/classes/chrpath.bbclass b/meta/classes/chrpath.bbclass
> > index 10b5ca0..ad61fe0 100644
> > --- a/meta/classes/chrpath.bbclass
> > +++ b/meta/classes/chrpath.bbclass
> > @@ -74,7 +74,9 @@ def process_dir (directory, d):
> >              if len(new_rpaths):
> >                  args = ":".join(new_rpaths)
> >                  #bb.note("Setting rpath for %s to %s" %(fpath, args))
> > -                sub.call([cmd, '-r', args, fpath])
> > +                ret = sub.call([cmd, '-r', args, fpath])
> > +                if ret != 0:
> > +                    bb.error("chrpath command failed with exit code %d" %
> > ret)
> > 
> >              if perms:
> >                  os.chmod(fpath, perms)
> 
> I missed that this does not actually report the output from chrpath when it 
> fails because the task log is suppressed by virtue of calling bb.error. I will 
> send a follow-up patch to address this.
> 
> Incidentally a couple of users are reporting that they are now seeing failures 
> where the rpath size is reported to be too small to contain the path we are 
> applying. I haven't seen this myself - is there some way we can increase the 
> space allowed for storing the path or is there some other issue at work here? 
> I tried to search for some information on how storage of the rpath works but 
> did not really find anything conclusive.

Unfortunately we can't increase the size available without relinking the
binary which isn't feasible at this point. The only way to increase the
size is to run the build in a "deeper" path so that there is more room
in the field. I did some calculations when we originally implemented
this and concluded you'd have to build somewhere like /tmp to have a
short enough path where this would be a problem.

I thought we'd added a sanity test for it too but it sounds like either
we didn't or if we did, it isn't functioning properly. Its good that at
least we're catching the errors now and I'd appreciate more information
about the failing cases.

Cheers,

Richard






^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] classes/chrpath: trigger an error if chrpath fails
  2012-08-16 17:13 ` Paul Eggleton
  2012-08-17  9:53   ` Richard Purdie
@ 2012-08-17 10:03   ` Phil Blundell
  1 sibling, 0 replies; 11+ messages in thread
From: Phil Blundell @ 2012-08-17 10:03 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Thu, 2012-08-16 at 18:13 +0100, Paul Eggleton wrote:
> Incidentally a couple of users are reporting that they are now seeing failures 
> where the rpath size is reported to be too small to contain the path we are 
> applying. I haven't seen this myself - is there some way we can increase the 
> space allowed for storing the path or is there some other issue at work here? 
> I tried to search for some information on how storage of the rpath works but 
> did not really find anything conclusive.

There's no reason chrpath couldn't be made to allocate more space for
the new rpath, it's just that the current implementation doesn't know
how to do that.  I don't think it would be especially hard to fix.

p.





^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] classes/chrpath: trigger an error if chrpath fails
  2012-08-17  9:53   ` Richard Purdie
@ 2012-08-17 10:05     ` Jack Mitchell
  2012-08-17 10:26       ` Henning Heinold
  2012-08-18  0:39     ` Khem Raj
  1 sibling, 1 reply; 11+ messages in thread
From: Jack Mitchell @ 2012-08-17 10:05 UTC (permalink / raw)
  To: openembedded-core

On 17/08/12 10:53, Richard Purdie wrote:
> On Thu, 2012-08-16 at 18:13 +0100, Paul Eggleton wrote:
>> On Wednesday 15 August 2012 17:44:33 Paul Eggleton wrote:
>>> If chrpath failed here we were just silently ignoring it.
>>>
>>> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
>>> ---
>>>   meta/classes/chrpath.bbclass |    4 +++-
>>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/meta/classes/chrpath.bbclass b/meta/classes/chrpath.bbclass
>>> index 10b5ca0..ad61fe0 100644
>>> --- a/meta/classes/chrpath.bbclass
>>> +++ b/meta/classes/chrpath.bbclass
>>> @@ -74,7 +74,9 @@ def process_dir (directory, d):
>>>               if len(new_rpaths):
>>>                   args = ":".join(new_rpaths)
>>>                   #bb.note("Setting rpath for %s to %s" %(fpath, args))
>>> -                sub.call([cmd, '-r', args, fpath])
>>> +                ret = sub.call([cmd, '-r', args, fpath])
>>> +                if ret != 0:
>>> +                    bb.error("chrpath command failed with exit code %d" %
>>> ret)
>>>
>>>               if perms:
>>>                   os.chmod(fpath, perms)
>>
>> I missed that this does not actually report the output from chrpath when it
>> fails because the task log is suppressed by virtue of calling bb.error. I will
>> send a follow-up patch to address this.
>>
>> Incidentally a couple of users are reporting that they are now seeing failures
>> where the rpath size is reported to be too small to contain the path we are
>> applying. I haven't seen this myself - is there some way we can increase the
>> space allowed for storing the path or is there some other issue at work here?
>> I tried to search for some information on how storage of the rpath works but
>> did not really find anything conclusive.
>
> Unfortunately we can't increase the size available without relinking the
> binary which isn't feasible at this point. The only way to increase the
> size is to run the build in a "deeper" path so that there is more room
> in the field. I did some calculations when we originally implemented
> this and concluded you'd have to build somewhere like /tmp to have a
> short enough path where this would be a problem.
>
> I thought we'd added a sanity test for it too but it sounds like either
> we didn't or if we did, it isn't functioning properly. Its good that at
> least we're catching the errors now and I'd appreciate more information
> about the failing cases.
>
> Cheers,
>
> Richard
>

I have had a few chrpath errors today, however I have no way of telling 
where they appeared. Here is the build output of where I found them.

[jack@archHP build]$ bitbake core-image-minimal
Pseudo is not present but is required, building this first before the 
main build
Parsing recipes: 100% 
|###############################################################################| 
ETA:  00:00:00
Parsing of 824 .bb files complete (0 cached, 824 parsed). 1122 targets, 
36 skipped, 0 masked, 0 errors.

Build Configuration:
BB_VERSION        = "1.15.3"
TARGET_ARCH       = "arm"
TARGET_OS         = "linux-gnueabi"
MACHINE           = "qemuarm"
DISTRO_VERSION    = "oe-core.0"
TUNE_FEATURES     = "armv5 dsp thumb arm926ejs"
TARGET_FPU        = "soft"
meta              = 
"kraj/toolchain-rework:126a0363d03c1f5ff7a6b8ae0939d1a9ff8336f0"

NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 63 tasks of which 0 didn't need to be 
rerun and all succeeded.
Loading cache: 100% 
|#################################################################################| 
ETA:  00:00:00
Loaded 1123 entries from dependency cache.

Build Configuration:
BB_VERSION        = "1.15.3"
TARGET_ARCH       = "arm"
TARGET_OS         = "linux-gnueabi"
MACHINE           = "qemuarm"
DISTRO_VERSION    = "oe-core.0"
TUNE_FEATURES     = "armv5 dsp thumb arm926ejs"
TARGET_FPU        = "soft"
meta              = 
"kraj/toolchain-rework:126a0363d03c1f5ff7a6b8ae0939d1a9ff8336f0"

NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: Failed to fetch URL 
http://kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.22.tar.bz2, 
attempting MIRRORS if available
WARNING: Failed to fetch URL 
http://www.apache.org/dist/subversion/subversion-1.7.2.tar.bz2, 
attempting MIRRORS if available
WARNING: Failed to fetch URL 
ftp://ftp.ossp.org/pkg/lib/uuid/uuid-1.6.2.tar.gz, attempting MIRRORS if 
available
WARNING: unifdef-native: No generic license file exists for: GPL in any 
provider
WARNING: Failed to fetch URL 
http://kernel.org/pub/linux/kernel/people/jsipek/guilt/guilt-0.33.tar.gz, attempting 
MIRRORS if available
*ERROR: chrpath command failed with exit code 7
ERROR: chrpath command failed with exit code 7*
WARNING: ossp-uuid-native: No generic license file exists for: ossp_uuid 
in any provider
WARNING: Failed to fetch URL 
ftp://ftp.debian.org/debian/pool/main/b/base-passwd/base-passwd_3.5.24.tar.gz, 
attempting MIRRORS if available
WARNING: Failed to fetch URL 
http://kernel.org/pub/linux/utils/kernel/hotplug/udev-164.tar.gz, 
attempting MIRRORS if available
NOTE: validating kernel configuration

Currently 5 running tasks (1374 of 1513):
0: db-5.3.15-r8 do_install (pid 30360)
1: 
linux-yocto-3.4.6+git1+7ff48aa47c50b6455d60ca93bc81260ce8fe1a1b_1+b57548a29e44655e27cfbdf3a0642d682401b835-r4.0 
do_package (pid 24811)
2: 
linux-yocto-3.4.6+git1+7ff48aa47c50b6455d60ca93bc81260ce8fe1a1b_1+b57548a29e44655e27cfbdf3a0642d682401b835-r4.0 
do_populate_sysroot (pid 24812)
3: ncurses-5.9-r10.1 do_package (pid 29454)
4: ncurses-5.9-r10.1 do_populate_sysroot (pid 29453)

Should there be some further error reporting put in with the new 
'display' system, for example pre-pending the Error/Warning messages 
with the package name?

Regards,

-- 

   Jack Mitchell (jack@embed.me.uk)
   Embedded Systems Engineer
   http://www.embed.me.uk

--




^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] classes/chrpath: trigger an error if chrpath fails
  2012-08-17 10:05     ` Jack Mitchell
@ 2012-08-17 10:26       ` Henning Heinold
  2012-08-17 10:53         ` Jack Mitchell
  0 siblings, 1 reply; 11+ messages in thread
From: Henning Heinold @ 2012-08-17 10:26 UTC (permalink / raw)
  To: ml, Patches and discussions about the oe-core layer

On Fri, Aug 17, 2012 at 11:05:43AM +0100, Jack Mitchell wrote:
> any provider
> WARNING: Failed to fetch URL http://kernel.org/pub/linux/kernel/people/jsipek/guilt/guilt-0.33.tar.gz,
> attempting MIRRORS if available
> *ERROR: chrpath command failed with exit code 7
> ERROR: chrpath command failed with exit code 7*

Hi,

you can grep the logfiles in the work-dir for chrpath call and you will find the package. I saw it on some perl modules, but not now.

Bye Henning



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] classes/chrpath: trigger an error if chrpath fails
  2012-08-17 10:26       ` Henning Heinold
@ 2012-08-17 10:53         ` Jack Mitchell
  2012-08-17 13:31           ` Paul Eggleton
  0 siblings, 1 reply; 11+ messages in thread
From: Jack Mitchell @ 2012-08-17 10:53 UTC (permalink / raw)
  To: Henning Heinold; +Cc: Patches and discussions about the oe-core layer

On 17/08/12 11:26, Henning Heinold wrote:
> On Fri, Aug 17, 2012 at 11:05:43AM +0100, Jack Mitchell wrote:
>> any provider
>> WARNING: Failed to fetch URL http://kernel.org/pub/linux/kernel/people/jsipek/guilt/guilt-0.33.tar.gz,
>> attempting MIRRORS if available
>> *ERROR: chrpath command failed with exit code 7
>> ERROR: chrpath command failed with exit code 7*
>
> Hi,
>
> you can grep the logfiles in the work-dir for chrpath call and you will find the package. I saw it on some perl modules, but not now.
>
> Bye Henning

Ok, here we go:

    x86_64-linux/perl-native-5.14.2-r1/temp/log.do_populate_sysroot.30355:ERROR:
    chrpath command failed with exit code 7
    x86_64-linux/perl-native-5.14.2-r1/temp/log.do_populate_sysroot.30355:ERROR:
    chrpath command failed with exit code 7

This is on kraj/toolchain-rework, I don't know how synced with master it 
is so apologies if it has already been fixed.


-- 

   Jack Mitchell (jack@embed.me.uk)
   Embedded Systems Engineer
   http://www.embed.me.uk

--




^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] classes/chrpath: trigger an error if chrpath fails
  2012-08-17 10:53         ` Jack Mitchell
@ 2012-08-17 13:31           ` Paul Eggleton
  2012-08-17 16:46             ` Richard Purdie
  0 siblings, 1 reply; 11+ messages in thread
From: Paul Eggleton @ 2012-08-17 13:31 UTC (permalink / raw)
  To: ml; +Cc: openembedded-core

On Friday 17 August 2012 11:53:51 Jack Mitchell wrote:
> On 17/08/12 11:26, Henning Heinold wrote:
> > On Fri, Aug 17, 2012 at 11:05:43AM +0100, Jack Mitchell wrote:
> >> any provider
> >> WARNING: Failed to fetch URL
> >> http://kernel.org/pub/linux/kernel/people/jsipek/guilt/guilt-0.33.tar.gz
> >> , attempting MIRRORS if available
> >> *ERROR: chrpath command failed with exit code 7
> >> ERROR: chrpath command failed with exit code 7*
> > 
> > Hi,
> > 
> > you can grep the logfiles in the work-dir for chrpath call and you will
> > find the package. I saw it on some perl modules, but not now.
> > 
> > Bye Henning
> 
> Ok, here we go:
> 
>    
> x86_64-linux/perl-native-5.14.2-r1/temp/log.do_populate_sysroot.30355:ERROR
> : chrpath command failed with exit code 7
>    
> x86_64-linux/perl-native-5.14.2-r1/temp/log.do_populate_sysroot.30355:ERROR
> : chrpath command failed with exit code 7
> 
> This is on kraj/toolchain-rework, I don't know how synced with master it
> is so apologies if it has already been fixed.

I can confirm this; with the patch I have just sent to improve the error
handling, on top of master I now get:

---------- snip -----------
ERROR: perl-native: chrpath command failed with exit code 7:
/home/paul/poky/poky/build/tmp/work/i686-linux/perl-native-5.14.2-r1/sysroot-destdir/home/paul/poky/poky/build/tmp/sysroots/i686-linux/usr/lib/perl-native/perl/5.14.2/auto/Time/HiRes/HiRes.so: RPATH=/lib/i386-linux-gnu
new rpath '$ORIGIN/../../../../../../../../../..' too large; maximum length 19

ERROR: Function failed
ERROR: Logfile of failure stored in: /home/paul/poky/poky/build/tmp/work/i686-linux/perl-native-5.14.2-r1/temp/log.do_populate_sysroot.17120
ERROR: Task 3 (/home/paul/poky/poky/meta/recipes-devtools/perl/perl-native_5.14.2.bb, do_populate_sysroot) failed with exit code '1'
---------- snip -----------

This is with a from-scratch build of perl-native; TMPDIR in my case is
"/home/paul/poky/poky/build/tmp" as you can probably tell from the above.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] classes/chrpath: trigger an error if chrpath fails
  2012-08-17 13:31           ` Paul Eggleton
@ 2012-08-17 16:46             ` Richard Purdie
  0 siblings, 0 replies; 11+ messages in thread
From: Richard Purdie @ 2012-08-17 16:46 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: openembedded-core

On Fri, 2012-08-17 at 14:31 +0100, Paul Eggleton wrote:
> On Friday 17 August 2012 11:53:51 Jack Mitchell wrote:
> > On 17/08/12 11:26, Henning Heinold wrote:
> > > On Fri, Aug 17, 2012 at 11:05:43AM +0100, Jack Mitchell wrote:
> > >> any provider
> > >> WARNING: Failed to fetch URL
> > >> http://kernel.org/pub/linux/kernel/people/jsipek/guilt/guilt-0.33.tar.gz
> > >> , attempting MIRRORS if available
> > >> *ERROR: chrpath command failed with exit code 7
> > >> ERROR: chrpath command failed with exit code 7*
> > > 
> > > Hi,
> > > 
> > > you can grep the logfiles in the work-dir for chrpath call and you will
> > > find the package. I saw it on some perl modules, but not now.
> > > 
> > > Bye Henning
> > 
> > Ok, here we go:
> > 
> >    
> > x86_64-linux/perl-native-5.14.2-r1/temp/log.do_populate_sysroot.30355:ERROR
> > : chrpath command failed with exit code 7
> >    
> > x86_64-linux/perl-native-5.14.2-r1/temp/log.do_populate_sysroot.30355:ERROR
> > : chrpath command failed with exit code 7
> > 
> > This is on kraj/toolchain-rework, I don't know how synced with master it
> > is so apologies if it has already been fixed.
> 
> I can confirm this; with the patch I have just sent to improve the error
> handling, on top of master I now get:
> 
> ---------- snip -----------
> ERROR: perl-native: chrpath command failed with exit code 7:
> /home/paul/poky/poky/build/tmp/work/i686-linux/perl-native-5.14.2-r1/sysroot-destdir/home/paul/poky/poky/build/tmp/sysroots/i686-linux/usr/lib/perl-native/perl/5.14.2/auto/Time/HiRes/HiRes.so: RPATH=/lib/i386-linux-gnu
> new rpath '$ORIGIN/../../../../../../../../../..' too large; maximum length 19
> 
> ERROR: Function failed
> ERROR: Logfile of failure stored in: /home/paul/poky/poky/build/tmp/work/i686-linux/perl-native-5.14.2-r1/temp/log.do_populate_sysroot.17120
> ERROR: Task 3 (/home/paul/poky/poky/meta/recipes-devtools/perl/perl-native_5.14.2.bb, do_populate_sysroot) failed with exit code '1'
> ---------- snip -----------
> 
> This is with a from-scratch build of perl-native; TMPDIR in my case is
> "/home/paul/poky/poky/build/tmp" as you can probably tell from the above.

FWIW my chrpath.bbclass change fixes this. Since this is now breaking
builds for everyone (or will be) I've merged it straight in.

Cheers,

Richard




^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] classes/chrpath: trigger an error if chrpath fails
  2012-08-17  9:53   ` Richard Purdie
  2012-08-17 10:05     ` Jack Mitchell
@ 2012-08-18  0:39     ` Khem Raj
  1 sibling, 0 replies; 11+ messages in thread
From: Khem Raj @ 2012-08-18  0:39 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Paul Eggleton, openembedded-core@lists.openembedded.org

[-- Attachment #1: Type: text/plain, Size: 2731 bytes --]

On Friday, August 17, 2012, Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:
> On Thu, 2012-08-16 at 18:13 +0100, Paul Eggleton wrote:
>> On Wednesday 15 August 2012 17:44:33 Paul Eggleton wrote:
>> > If chrpath failed here we were just silently ignoring it.
>> >
>> > Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
>> > ---
>> >  meta/classes/chrpath.bbclass |    4 +++-
>> >  1 file changed, 3 insertions(+), 1 deletion(-)
>> >
>> > diff --git a/meta/classes/chrpath.bbclass
b/meta/classes/chrpath.bbclass
>> > index 10b5ca0..ad61fe0 100644
>> > --- a/meta/classes/chrpath.bbclass
>> > +++ b/meta/classes/chrpath.bbclass
>> > @@ -74,7 +74,9 @@ def process_dir (directory, d):
>> >              if len(new_rpaths):
>> >                  args = ":".join(new_rpaths)
>> >                  #bb.note("Setting rpath for %s to %s" %(fpath, args))
>> > -                sub.call([cmd, '-r', args, fpath])
>> > +                ret = sub.call([cmd, '-r', args, fpath])
>> > +                if ret != 0:
>> > +                    bb.error("chrpath command failed with exit code
%d" %
>> > ret)
>> >
>> >              if perms:
>> >                  os.chmod(fpath, perms)
>>
>> I missed that this does not actually report the output from chrpath when
it
>> fails because the task log is suppressed by virtue of calling bb.error.
I will
>> send a follow-up patch to address this.
>>
>> Incidentally a couple of users are reporting that they are now seeing
failures
>> where the rpath size is reported to be too small to contain the path we
are
>> applying. I haven't seen this myself - is there some way we can increase
the
>> space allowed for storing the path or is there some other issue at work
here?
>> I tried to search for some information on how storage of the rpath works
but
>> did not really find anything conclusive.
>
> Unfortunately we can't increase the size available without relinking the
> binary which isn't feasible at this point. The only way to increase the
> size is to run the build in a "deeper" path so that there is more room
> in the field. I did some calculations when we originally implemented
> this and concluded you'd have to build somewhere like /tmp to have a
> short enough path where this would be a problem.
>
> I thought we'd added a sanity test for it too but it sounds like either
> we didn't or if we did, it isn't functioning properly. Its good that at
> least we're catching the errors now and I'd appreciate more information
> about the failing cases.
>


I think we should just dump chrpath and start using patch elf
Which takes care of dynamically increasing path

> Cheers,
>
> Richard
>
>
>
>

[-- Attachment #2: Type: text/html, Size: 3509 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2012-08-18  0:51 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-15 16:44 [PATCH] classes/chrpath: trigger an error if chrpath fails Paul Eggleton
2012-08-16 17:06 ` Saul Wold
2012-08-16 17:13 ` Paul Eggleton
2012-08-17  9:53   ` Richard Purdie
2012-08-17 10:05     ` Jack Mitchell
2012-08-17 10:26       ` Henning Heinold
2012-08-17 10:53         ` Jack Mitchell
2012-08-17 13:31           ` Paul Eggleton
2012-08-17 16:46             ` Richard Purdie
2012-08-18  0:39     ` Khem Raj
2012-08-17 10:03   ` Phil Blundell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox