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

Richard Purdie richard.purdie at linuxfoundation.org
Thu Dec 13 16:26:24 UTC 2018


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



More information about the Openembedded-core mailing list