Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH] glibc: Fix multilibs + usrmerge builds
@ 2019-06-30  0:41 Jason Wessel
  2019-06-30  1:00 ` ✗ patchtest: failure for " Patchwork
  2019-06-30  2:11 ` [PATCH] " Jason Wessel
  0 siblings, 2 replies; 3+ messages in thread
From: Jason Wessel @ 2019-06-30  0:41 UTC (permalink / raw)
  To: openembedded-core

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
-- 
2.21.0



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* ✗ patchtest: failure for glibc: Fix multilibs + usrmerge builds
  2019-06-30  0:41 [PATCH] glibc: Fix multilibs + usrmerge builds Jason Wessel
@ 2019-06-30  1:00 ` Patchwork
  2019-06-30  2:11 ` [PATCH] " Jason Wessel
  1 sibling, 0 replies; 3+ messages in thread
From: Patchwork @ 2019-06-30  1:00 UTC (permalink / raw)
  To: Jason Wessel; +Cc: openembedded-core

== Series Details ==

Series: glibc: Fix multilibs + usrmerge builds
Revision: 1
URL   : https://patchwork.openembedded.org/series/18437/
State : failure

== Summary ==


Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:



* Issue             Series does not apply on top of target branch [test_series_merge_on_head] 
  Suggested fix    Rebase your series on top of targeted branch
  Targeted branch  master (currently at 148d54f91f)



If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).

---
Guidelines:     https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite:     http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] glibc: Fix multilibs + usrmerge builds
  2019-06-30  0:41 [PATCH] glibc: Fix multilibs + usrmerge builds Jason Wessel
  2019-06-30  1:00 ` ✗ patchtest: failure for " Patchwork
@ 2019-06-30  2:11 ` Jason Wessel
  1 sibling, 0 replies; 3+ messages in thread
From: Jason Wessel @ 2019-06-30  2:11 UTC (permalink / raw)
  To: openembedded-core

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




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-06-30  2:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-30  0:41 [PATCH] glibc: Fix multilibs + usrmerge builds Jason Wessel
2019-06-30  1:00 ` ✗ patchtest: failure for " Patchwork
2019-06-30  2:11 ` [PATCH] " Jason Wessel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox