diff mbox series

musl: Show error when used with multilibs

Message ID 20240806094623.38564-1-richard.purdie@linuxfoundation.org
State Accepted, archived
Commit 4da308d37aa51231b617fedb401076c13cafd89a
Headers show
Series musl: Show error when used with multilibs | expand

Commit Message

Richard Purdie Aug. 6, 2024, 9:46 a.m. UTC
From: "Richard Purdie via lists.openembedded.org" <richard.purdie=linuxfoundation.org@lists.openembedded.org>

As discussed in the bugzilla entry, musl doesn't work with multilibs.

I originally sent this patch in 2020 but was told that support was being
added. I recently revisited the bug and retested a basic config which still
fails the way it did in 2019. Since clearly nobody is using this, make it clear
we don't support it. If anyone does add support, we can remove this error very
easily.

[YOCTO #13122]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/recipes-core/musl/musl.inc | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Khem Raj Aug. 6, 2024, 1:01 p.m. UTC | #1
On Tue, Aug 6, 2024 at 2:46 AM Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:

> From: "Richard Purdie via lists.openembedded.org" <richard.purdie=
> linuxfoundation.org@lists.openembedded.org>
>
> As discussed in the bugzilla entry, musl doesn't work with multilibs.
>
> I originally sent this patch in 2020 but was told that support was being
> added. I recently revisited the bug and retested a basic config which still
> fails the way it did in 2019. Since clearly nobody is using this, make it
> clear
> we don't support it. If anyone does add support, we can remove this error
> very
> easily.
>
> [YOCTO #13122]


I am ok with patch in general. What is triggering it in your testing now

>
>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
>  meta/recipes-core/musl/musl.inc | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/meta/recipes-core/musl/musl.inc
> b/meta/recipes-core/musl/musl.inc
> index 6ca52b186a5..9999b4d2d64 100644
> --- a/meta/recipes-core/musl/musl.inc
> +++ b/meta/recipes-core/musl/musl.inc
> @@ -32,3 +32,9 @@ COMPATIBLE_HOST:riscv32 = "null"
>  B = "${WORKDIR}/build"
>
>  do_configure[cleandirs] = "${B}"
> +
> +python () {
> +    multilibs = d.getVar("MULTILIBS")
> +    if multilibs:
> +        raise bb.parse.SkipRecipe("musl is not compatible with multilibs")
> +}
>
Richard Purdie Aug. 6, 2024, 1:19 p.m. UTC | #2
On Tue, 2024-08-06 at 06:01 -0700, Khem Raj wrote:
> 
> 
> On Tue, Aug 6, 2024 at 2:46 AM Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > From: "Richard Purdie via lists.openembedded.org"
> > <richard.purdie=linuxfoundation.org@lists.openembedded.org>
> > 
> > As discussed in the bugzilla entry, musl doesn't work with
> > multilibs.
> > 
> > I originally sent this patch in 2020 but was told that support was
> > being
> > added. I recently revisited the bug and retested a basic config
> > which still
> > fails the way it did in 2019. Since clearly nobody is using this,
> > make it clear
> > we don't support it. If anyone does add support, we can remove this
> > error very
> > easily.
> > 
> > [YOCTO #13122]
> > 
> 
> 
> I am ok with patch in general. What is triggering it in your testing
> now 
> 

See the bug:

MACHINE = "qemuarm64"
TCLIBC = "musl"
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE:virtclass-multilib-lib32 = "armv7ahf-neon-vfpv4"
IMAGE_INSTALL:append = " lib32-libgcc lib32-libstdc++ python3-core lib32-python3-core"

and running "bitbake core-image-minimal" results in:

Error: Transaction test error:
  file /usr/bin/ldd conflicts between attempted installs of musl-1.2.4+git0+79bdacff83-r0.cortexa57 and lib32-musl-1.2.4+git0+79bdacff83-r0.armv7ahf_neon_vfpv4
  file /usr/include/python3.12/pyconfig.h conflicts between attempted installs of lib32-python3-core-3.12.4-r0.armv7ahf_neon_vfpv4 and python3-core-3.12.4-r0.cortexa57

Cheers,

Richard
diff mbox series

Patch

diff --git a/meta/recipes-core/musl/musl.inc b/meta/recipes-core/musl/musl.inc
index 6ca52b186a5..9999b4d2d64 100644
--- a/meta/recipes-core/musl/musl.inc
+++ b/meta/recipes-core/musl/musl.inc
@@ -32,3 +32,9 @@  COMPATIBLE_HOST:riscv32 = "null"
 B = "${WORKDIR}/build"
 
 do_configure[cleandirs] = "${B}"
+
+python () {
+    multilibs = d.getVar("MULTILIBS")
+    if multilibs:
+        raise bb.parse.SkipRecipe("musl is not compatible with multilibs")
+}