Apparently this was already merged. However, the assumption is that ${nonarch_base_libdir} will evaluate to /lib, or something that will be accessible as /lib. I.e., the default definition of ${nonarch_base_libdir} is “/lib” unless usrmerge is in DISTRO_FEATURES, in which case it is “${root_prefix/lib” (which evaluates to “/usr/lib”), but then a symbolic link will be created from “/lib” to “/usr/lib”.

 

//Peter

 

From: Burton, Ross [mailto:ross.burton@intel.com]
Sent: den 29 januari 2018 18:33
To: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Cc: OE-core <openembedded-core@lists.openembedded.org>
Subject: Re: [OE-core] [PATCH] glibc: Adapt do_install_append_aarch64() for usrmerge

 

How does the patch relate to the comment which states the ABI says the path *must* be /lib/.  Is that wrong?  How does this interact with the merged symlink creation in image.bbclass?  Please expand on the message so it's clear what is meant to be happening.

 

Ross

 

On 27 January 2018 at 03:53, Peter Kjellerstedt <peter.kjellerstedt@axis.com> wrote:

Change hardcoded /lib to ${nonarch_base_libdir} to correctly adapt the
code in do_install_append_aarch64() for when usrmerge is enabled in
DISTRO_FEATURES.

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
 meta/recipes-core/glibc/glibc-package.inc | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc
index 817d850358..4d3dc679b4 100644
--- a/meta/recipes-core/glibc/glibc-package.inc
+++ b/meta/recipes-core/glibc/glibc-package.inc
@@ -114,15 +114,15 @@ do_install_append () {
 }

 do_install_append_aarch64 () {
-       if [ "${base_libdir}" != "/lib" ] ; then
+       if [ "${base_libdir}" != "${nonarch_base_libdir}" ]; then
                # The aarch64 ABI says the dynamic linker -must- be /lib/ld-linux-aarch64[_be].so.1
-               install -d ${D}/lib
+               install -d ${D}${nonarch_base_libdir}
                if [ -e ${D}${base_libdir}/ld-linux-aarch64.so.1 ]; then
-                       ln -s ${@base_path_relative('/lib', '${base_libdir}')}/ld-linux-aarch64.so.1 \
-                               ${D}/lib/ld-linux-aarch64.so.1
+                       ln -s ${@base_path_relative('${nonarch_base_libdir}', '${base_libdir}')}/ld-linux-aarch64.so.1 \
+                               ${D}${nonarch_base_libdir}/ld-linux-aarch64.so.1
                elif [ -e ${D}${base_libdir}/ld-linux-aarch64_be.so.1 ]; then
-                       ln -s ${@base_path_relative('/lib', '${base_libdir}')}/ld-linux-aarch64_be.so.1 \
-                               ${D}/lib/ld-linux-aarch64_be.so.1
+                       ln -s ${@base_path_relative('${nonarch_base_libdir}', '${base_libdir}')}/ld-linux-aarch64_be.so.1 \
+                               ${D}${nonarch_base_libdir}/ld-linux-aarch64_be.so.1
                fi
        fi
        do_install_armmultilib
--
2.12.0

--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core