[OE-core] [PATCH] python3: fix build for powerpc-linux.musl and powerpc64-linux-musl

Andrea Adami andrea.adami at gmail.com
Thu Dec 13 16:49:08 UTC 2018


On Thu, Dec 13, 2018 at 5:26 PM Richard Purdie
<richard.purdie at linuxfoundation.org> wrote:
>
> On Thu, 2018-12-13 at 15:13 +0100, Andrea Adami wrote:
> > Add the missing triplets (not considering uclibc) for do_configure.
> >
> > Signed-off-by: Andrea Adami <andrea.adami at gmail.com>
> > ---
> >  .../python3/powerpc-musl-triplets.patch       | 43
> > +++++++++++++++++++
> >  meta/recipes-devtools/python/python3_3.5.6.bb |  1 +
> >  2 files changed, 44 insertions(+)
> >  create mode 100644 meta/recipes-devtools/python/python3/powerpc-
> > musl-triplets.patch
> >
> > diff --git a/meta/recipes-devtools/python/python3/powerpc-musl-
> > triplets.patch b/meta/recipes-devtools/python/python3/powerpc-musl-
> > triplets.patch
> > new file mode 100644
> > index 0000000000..477d049858
> > --- /dev/null
> > +++ b/meta/recipes-devtools/python/python3/powerpc-musl-
> > triplets.patch
> > @@ -0,0 +1,43 @@
> > +Using musl libc the task do_configure fails on powerpc*.
> > +
> > +  checking build system type... x86_64-pc-linux-gnu
> > +  checking host system type... powerpc-oe-linux-musl
> > +  checking for python3.5... python3.5
> > + ...
> > +  checking for the platform triplet based on compiler
> > characteristics...
> > +  powerpc-linux-gnu
> > +  configure: error: internal configure error for the platform
> > triplet
> > +
> > +Fix this by adding the musl triplets.
> > +Note: uclibc is purposedly not considered (unsupported in oe-core).
> > +
> > +Upstream-Status: Pending
> > +Signed-off-by: Andrea Adami <andrea.adami at gmail.com>
> > +
> > +--- a/configure.ac   2018-12-13 14:44:55.414309610 +0100
> > ++++ b/configure.ac   2018-12-13 13:22:37.546497547 +0100
> > +@@ -831,14 +831,22 @@
> > +         or1k-linux-gnu
> > + # elif defined(__powerpc__) && defined(__SPE__)
> > +         powerpc-linux-gnuspe
> > ++# elif defined(__powerpc__) && !defined(__GLIBC__)
> > ++        powerpc-linux-musl
> > ++# elif defined(__powerpc__)
> > ++        powerpc-linux-gnu
> > ++# elif defined(__powerpc64__) && !defined(__GLIBC__)
> > ++#  if defined(__LITTLE_ENDIAN__)
> > ++        powerpc64le-linux-musl
> > ++#  else
> > ++        powerpc64-linux-musl
> > ++#  endif
> > + # elif defined(__powerpc64__)
> > + #  if defined(__LITTLE_ENDIAN__)
> > +         powerpc64le-linux-gnu
> > + #  else
> > +         powerpc64-linux-gnu
> > + #  endif
> > +-# elif defined(__powerpc__)
> > +-        powerpc-linux-gnu
> > + # elif defined(__s390x__)
> > +         s390x-linux-gnu
> > + # elif defined(__s390__)
> > diff --git a/meta/recipes-devtools/python/python3_3.5.6.bb
> > b/meta/recipes-devtools/python/python3_3.5.6.bb
> > index cd7991e7f8..2e8ae711d5 100644
> > --- a/meta/recipes-devtools/python/python3_3.5.6.bb
> > +++ b/meta/recipes-devtools/python/python3_3.5.6.bb
> > @@ -44,6 +44,7 @@ SRC_URI += "\
> >              file://0005-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-
> > 2305.patch \
> >              file://run-ptest \
> >             "
> > +SRC_URI_append_libc-musl = " file://powerpc-musl-triplets.patch"
> >
> >  inherit multilib_header python3native update-alternatives qemu ptest
>
> Do we need to make the patch application musl only? This tends to make
> it more painful for recipe upgrading and we should only do that if the
> patch would have an adverse affect on non-musl. Would also be good to
> get tweaks like this submitted upstream...
>
> Cheers,
>
> Richard
>

If you prefert I add it unconditionally.
This error with musl is not seen for other archs, I could not test the
ppc64 but imagined it would suffer as well.

Does your autobuilder succeed?

Cheers
Andrea


More information about the Openembedded-core mailing list