| Submitter | Lianhao Lu |
|---|---|
| Date | June 29, 2011, 9:10 a.m. |
| Message ID | <C10D3FB0CD45994C8A51FEC1227CE22F27050B57BE@shsmsx502.ccr.corp.intel.com> |
| Download | mbox | patch |
| Permalink | /patch/6671/ |
| State | New, archived |
| Headers | show |
Comments
On Wed, 2011-06-29 at 17:10 +0800, Lu, Lianhao wrote: > 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 I think I'd been assuming that SHLIBSDIR included the TARGET_VENDOR string as part of the triplet but it obviously doesn't and we need this. Good catch. I think the patch is a good one to add! Cheers, Richard
Patch
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) }
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@intel.com> Diffstat (more/less context) (ignore whitespace changes) -rw-r--r-- meta/classes/multilib.bbclass 1+ 1 files changed, 1 insertions, 0 deletions Best Regards, -Lianhao Lu