[OE-core] [Multilib] a problem of SHLIBSDIR

Lu, Lianhao lianhao.lu at intel.com
Wed Jun 29 09:10:22 UTC 2011


Hi,

SHLIBSDIR is a central place where to store the pkg information about the shared libraries which the package would provide. In the do_package task,  the function package_do_shlibs() will use this kind of information to automatically add RDEPENDS for the package being built. In the multilib situation, the SHLIBSDIR should be set to a different place form the normal version, otherwise a 32bit application might RDEPENDS on lib64-eglibc instead of the 32bit eglibc. 

The following patch tries to solve this problem. Any comment?
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=llu/ml&id=1970842424c414db50058ff99c6627e3ca034a04 

----------------------------------------------------------------------------------
classes/multilib.bbclass: Change the SHLIBSDIR.
Changes the SHLIBSDIR for the multilib version, so it won't mix up with the normal version.

Signed-off-by: Lianhao Lu <lianhao.lu at intel.com>

Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--	meta/classes/multilib.bbclass	1+	
1 files changed, 1 insertions, 0 deletions

diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index 36c52ef..17edc37 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -30,6 +30,7 @@ python multilib_virtclass_handler () {
             e.data.setVar("BASE_PACKAGE_ARCH", "${TARGET_ARCH}")
 
     bb.data.setVar("PN", variant + "-" + bb.data.getVar("PN", e.data, False), e.data)
+    bb.data.setVar("SHLIBSDIR_virtclass-multilib-" + variant ,bb.data.getVar("SHLIBSDIR",e.data,False) + "/" + variant, e.data)
     bb.data.setVar("OVERRIDES", bb.data.getVar("OVERRIDES", e.data, False) + override, e.data)
 }

Best Regards,
-Lianhao Lu




More information about the Openembedded-core mailing list