Hi all, today I wanted to make the generated toolchain free of RPATH and I was a bit surprised to see that even the target libraries contain the rpath and that it is not caught by insane.bbclass.
I have added a more strict check to insane.bbclass to uncover the issue and I am fighting neon and its manual libtool usage right now... it might be just easier to use chrpath to fix the resulting libraries. any opinion?
>From 18a9dbf4d6925a789e5ecf2852e094c0b1d851fe Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther <[email protected]> Date: Sat, 2 Oct 2010 17:14:33 +0800 Subject: [PATCH] insane.bbclass: Check for RPATH to the sysroot and complain For non-native packages having an rpath to the sysroot is considered harmful and needs to be fixed. This uncovered issues in neon and other packages. --- classes/insane.bbclass | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/classes/insane.bbclass b/classes/insane.bbclass index 5afa63c..0515158 100644 --- a/classes/insane.bbclass +++ b/classes/insane.bbclass @@ -168,10 +168,13 @@ def package_qa_check_rpath(file,name,d, elf): if not bad_dir in bb.data.getVar('WORKDIR', d, True): bb.fatal("This class assumed that WORKDIR is ${TMPDIR}/work... Not doing any check") + sysroot = bb.data.getVar('STAGING_DIR_HOST', d, True) + native = bb.data.inherits_class('native', d) + output = os.popen("%s -B -F%%r#F '%s'" % (scanelf,file)) txt = output.readline().split() for line in txt: - if bad_dir in line: + if bad_dir in line or (not native and sysroot in line): error_msg = "package %s contains bad RPATH %s in file %s" % (name, line, file) sane = package_qa_handle_error(1, error_msg, name, file, d) -- 1.7.3.1
_______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
