From: Markus Lehtonen Date: Mon, 15 Feb 2016 15:01:49 +0000 (+0200) Subject: nss: define RPATH variable for nss-native X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~26970 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f78664219503cc176ca1c10a4397ca8a2883eb71;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git nss: define RPATH variable for nss-native 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 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 Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-support/nss/nss_3.21.bb b/meta/recipes-support/nss/nss_3.21.bb index 552fd6c77df..d2e24112de5 100644 --- a/meta/recipes-support/nss/nss_3.21.bb +++ b/meta/recipes-support/nss/nss_3.21.bb @@ -55,6 +55,11 @@ do_compile_prepend_class-nativesdk() { export LDFLAGS="" } +do_compile_prepend_class-native() { + # 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}" +} + do_compile() { export CROSS_COMPILE=1 export NATIVE_CC="gcc" @@ -96,7 +101,8 @@ do_compile() { # export CC="${CC} -g" make -C ./nss CCC="${CXX} -g" \ - OS_TEST=${OS_TEST} + OS_TEST=${OS_TEST} \ + RPATH="${RPATH}" }