[OE-core] [PATCH] nss: define RPATH variable
Markus Lehtonen
markus.lehtonen at linux.intel.com
Fri Feb 12 19:06:00 UTC 2016
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 at 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}"
+
# We can modify CC in the environment, but if we set it via an
# argument to make, nsinstall, a host program, will also build with it!
#
export CC="${CC} -g"
make -C ./nss CCC="${CXX} -g" \
- OS_TEST=${OS_TEST}
+ OS_TEST=${OS_TEST} \
+ RPATH="${RPATH}"
}
--
2.6.2
More information about the Openembedded-core
mailing list