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]

(From OE-Core rev: f78664219503cc176ca1c10a4397ca8a2883eb71)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Markus Lehtonen 2016-02-15 17:01:49 +02:00 committed by Richard Purdie
parent 6e4e9f7856
commit 73e53e453e
1 changed files with 7 additions and 1 deletions

View File

@ -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}"
}