From b2c3ce6d17520d43b10777dd306449876cb40819 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 13 Oct 2010 17:41:29 +0100 Subject: meta-toolchain: Update the way ld.so.cache is handled Fix the library search path so that libs in the toolchain in /opt/ have priority over those in base system but ones from the base system can still be found. Signed-off-by: Richard Purdie --- meta/classes/toolchain-scripts.bbclass | 4 ++++ meta/recipes-tbd/meta/meta-toolchain.bb | 11 +++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/meta/classes/toolchain-scripts.bbclass b/meta/classes/toolchain-scripts.bbclass index c393d99644..9c6fe67d49 100644 --- a/meta/classes/toolchain-scripts.bbclass +++ b/meta/classes/toolchain-scripts.bbclass @@ -6,6 +6,10 @@ toolchain_create_sdk_env_script () { script=${SDK_OUTPUT}/${SDKPATH}/environment-setup-${MULTIMACH_TARGET_SYS} rm -f $script touch $script + echo 'if [ ! -e ${SDKPATHNATIVE}/etc/ld.so.cache ]; then' >> $script + echo ' echo "Please run ${SDKPATH}/postinstall as root before using the toolchain"' >> $script + echo ' exit 1' >> $script + echo 'fi' >> $script echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:${SDKPATHNATIVE}${bindir_nativesdk}/${MULTIMACH_TARGET_SYS}:$PATH' >> $script echo 'export PKG_CONFIG_SYSROOT_DIR=${SDKTARGETSYSROOT}' >> $script echo 'export PKG_CONFIG_PATH=${SDKTARGETSYSROOT}${libdir}/pkgconfig' >> $script diff --git a/meta/recipes-tbd/meta/meta-toolchain.bb b/meta/recipes-tbd/meta/meta-toolchain.bb index 2fab8f94b2..633f5f1990 100644 --- a/meta/recipes-tbd/meta/meta-toolchain.bb +++ b/meta/recipes-tbd/meta/meta-toolchain.bb @@ -72,8 +72,15 @@ do_populate_sdk() { #rm -f ${SDK_OUTPUT}/${SDKPATHNATIVE}/lib/*.la rm -f ${SDK_OUTPUT}/${SDKPATHNATIVE}${libdir_nativesdk}/*.la - # Link the ld.so.cache file into the hosts filesystem - ln -s /etc/ld.so.cache ${SDK_OUTPUT}/${SDKPATHNATIVE}/etc/ld.so.cache + # Create an appropriate setup so the dynamic loader can find libs in + # both the host system and the toolchain directories + echo ${SDKPATHNATIVE}${libdir} > ${SDK_OUTPUT}/${SDKPATHNATIVE}/etc/ld.so.conf + echo ${SDKPATHNATIVE}${base_libdir} >> ${SDK_OUTPUT}/${SDKPATHNATIVE}/etc/ld.so.conf + echo "include /etc/ld.so.conf" >> ${SDK_OUTPUT}/${SDKPATHNATIVE}/etc/ld.so.conf + echo "#!/bin/sh" > ${SDK_OUTPUT}/${SDKPATH}/postinstall + echo "ldconfig -f ${SDKPATHNATIVE}/etc/ld.so.conf -C /${SDKPATHNATIVE}/etc/ld.so.cache" >> ${SDK_OUTPUT}/${SDKPATH}/postinstall + chmod a+x ${SDK_OUTPUT}/${SDKPATH}/postinstall + # Setup site file for external use siteconfig=${SDK_OUTPUT}/${SDKPATH}/site-config-${MULTIMACH_TARGET_SYS} -- cgit v1.2.3-54-g00ecf