On Sat, 2016-02-13 at 05:12 +0000, Christopher Larson wrote:
On Fri, Feb 12, 2016 at 12:06 PM Markus Lehtonen <markus.lehtonen@linux.intel.com> wrote:
Otherwise the nss libs do not get any RPATH/RUNPATH. Consequently, the
.so dependencies of nss libs are always searched from the base lib
directories of the host (i.e. /lib/ and /usr/lib). This causes problems
with nss-native where the .so's should be searched from the base lib
directories of the sysroot instead of the host file system.

This particular problem has probably been unnoticed as nss-native is
seldom used and/or most users are likely to have nss libraries installed
on their host system. In this case everything most likely work as
expected.

[YOCTO #9041]

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
---
 meta/recipes-support/nss/nss_3.21.bb | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-support/nss/nss_3.21.bb b/meta/recipes-support/nss/nss_3.21.bb
index 552fd6c..8b9fb71 100644
--- a/meta/recipes-support/nss/nss_3.21.bb
+++ b/meta/recipes-support/nss/nss_3.21.bb
@@ -91,12 +91,16 @@ do_compile() {

     export NSS_DISABLE_GTESTS=1

+    # Need to set RPATH so that chrpath will do its job correctly
+    RPATH="-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE}"

Why are you adding native paths to rpath in a target recipe? If this change is native-only, this should use the class-native override., no?

Very good point. There's no point setting RPATH for target environment (even if it shouldn't break anything). I was too tired when writing the final version of the patch, I guess ;) I'll send a new version, soon.

Thanks,
  Markus