[oe-commits] [openembedded-core] 38/54: glibc: Fix multilibs + usrmerge builds

git at git.openembedded.org git at git.openembedded.org
Mon Sep 30 15:45:41 UTC 2019


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch warrior
in repository openembedded-core.

commit 273571804567a4520f1e17f5f8a28b85325d0eb2
Author: Jason Wessel <jason.wessel at windriver.com>
AuthorDate: Sat Jun 29 19:15:48 2019 -0700

    glibc: Fix multilibs + usrmerge builds
    
    The build of glibc fails when you have multilibs enabled + the distro
    feature usrmerge.  Here is an example configuration:
    
    ===
    MACHINE = "qemux86-64"
    VIRTUAL-RUNTIME_init_manager = "systemd"
    DISTRO_FEATURES_append = " systemd "
    DISTRO_FEATURES_append += " usrmerge"
    
    require conf/multilib.conf
    MULTILIBS = "multilib:lib32"
    DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
    ===
    
    This will fail with the following error:
    
    NOTE: Executing SetScene Tasks
    NOTE: Executing RunQueue Tasks
    ERROR: glibc-2.28-r0 do_poststash_install_cleanup: Function failed: do_poststash_install_cleanup (log file is located at /poky/build/tmp/work/core2-64-poky-linux/glibc/2.28-r0/temp/log.do_poststash_install_cleanup.107893)
    ERROR: Logfile of failure stored in: /poky/build/tmp/work/core2-64-poky-linux/glibc/2.28-r0/temp/log.do_poststash_install_cleanup.107893
    
    The fix is to not perform the rmdir check when using the multilib + usr/merge, namely:
    
    if [ "${libdir}" != "${exec_prefix}/lib" ] && [ "${root_prefix}/lib" != "${exec_prefix}/lib" ]; then
    
    This will evaluate as follows (collecting the output from bitbake -e glibc)
    
    * no multilibs no usrmerge
            if [ "/usr/lib" != "/usr/lib" ] && [ "/lib" != "/usr/lib" ]; then
    * no multilibs yes usrmerge
            if [ "/usr/lib" != "/usr/lib" ] && [ "/usr/lib" != "/usr/lib" ]; then
    * yes multilibs no usrmerge
            if [ "/usr/lib64" != "/usr/lib" ] && [ "/lib" != "/usr/lib" ]; then
    * yes multilibs yes user merge
            if [ "/usr/lib64" != "/usr/lib" ] && [ "/usr/lib" != "/usr/lib" ]; then
    
    Signed-off-by: Jason Wessel <jason.wessel at windriver.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
    Signed-off-by: Armin Kuster <akuster808 at gmail.com>
---
 meta/recipes-core/glibc/glibc-package.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc
index b7c64a0..a1d79b3 100644
--- a/meta/recipes-core/glibc/glibc-package.inc
+++ b/meta/recipes-core/glibc/glibc-package.inc
@@ -214,7 +214,7 @@ do_poststash_install_cleanup () {
 	rm -rf ${D}${libdir}/gconv
 	rm -rf ${D}/${localedir}
 	rm -rf ${D}${datadir}/locale
-	if [ "${libdir}" != "${exec_prefix}/lib" ]; then
+	if [ "${libdir}" != "${exec_prefix}/lib" ] && [ "${root_prefix}/lib" != "${exec_prefix}/lib" ]; then
 	    if [ -d "${D}${exec_prefix}/lib" ]; then
 		if [ -z "${ARCH_DYNAMIC_LOADER}" -o \
 		     ! -e "${D}${exec_prefix}/lib/${ARCH_DYNAMIC_LOADER}" ]; then

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list