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