[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openembedded-core
Subject:    Re: [OE-core] [PATCH] glibc: Fix multilibs + usrmerge builds
From:       Jason Wessel <jason.wessel () windriver ! com>
Date:       2019-06-30 2:11:07
Message-ID: 2738083f-b005-6db1-35e3-bf290d6a6f6a () windriver ! com
[Download RAW message or body]

This version was against the thud branch.  I'll send a v2 for the master branch since \
there was some fuzz that the auto patch checker couldn't deal with.  The same problem \
exists in thud and the master branch.

Cheers,
Jason.


On 6/29/19 7:41 PM, Jason Wessel wrote:
> 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@windriver.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 a98ae1a29c..3648612f76 100644
> --- a/meta/recipes-core/glibc/glibc-package.inc
> +++ b/meta/recipes-core/glibc/glibc-package.inc
> @@ -206,7 +206,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
> 			# error out if directory isn't empty
> 			# this dir should only contain locale dir


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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic