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 <[email protected]> --- 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 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
