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 <[email protected]>
---
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 ([email protected])
Embedded Systems Engineer
http://www.embed.me.uk
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core