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...@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

_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to