[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