[oe] [meta-oe][PATCH] asio: fix musl compilation (strerror_r)

Khem Raj raj.khem at gmail.com
Fri Aug 26 23:33:05 UTC 2016



On 8/26/16 5:09 AM, André Draszik wrote:
> Cherry picked github pull request #95
>   https://github.com/chriskohlhoff/asio/pull/95
>   https://github.com/chriskohlhoff/asio/pull/95.patch
> 

this is fine

> Signed-off-by: André Draszik <git at andred.net>
> ---
>  meta-oe/recipes-support/asio/asio/95.patch  | 43 +++++++++++++++++++++++++++++
>  meta-oe/recipes-support/asio/asio_1.10.6.bb |  2 ++
>  2 files changed, 45 insertions(+)
>  create mode 100644 meta-oe/recipes-support/asio/asio/95.patch
> 
> diff --git a/meta-oe/recipes-support/asio/asio/95.patch b/meta-oe/recipes-support/asio/asio/95.patch
> new file mode 100644
> index 0000000..a337ad3
> --- /dev/null
> +++ b/meta-oe/recipes-support/asio/asio/95.patch
> @@ -0,0 +1,43 @@
> +From 52d862c4e8af60a31f0067e1070b8625e805cdc3 Mon Sep 17 00:00:00 2001
> +From: Natanael Copa <ncopa at alpinelinux.org>
> +Date: Thu, 21 Jan 2016 23:37:32 +0100
> +Subject: [PATCH] Fix use of strerror_r()
> +
> +Don't try keep track of all platforms which follows posix standard.
> +Instead, make the platform which don't follow standard to an exception
> +and fall back to standard implementation for everything else.
> +
> +This fixes building with musl libc.
> +
> +Fixes #94
> +---
> +Upstream-Status: Backport https://github.com/chriskohlhoff/asio/pull/95
> + asio/include/asio/impl/error_code.ipp | 11 ++++-------
> + 1 file changed, 4 insertions(+), 7 deletions(-)
> +
> +diff --git a/asio/include/asio/impl/error_code.ipp b/asio/include/asio/impl/error_code.ipp
> +index b996773..3a1cff1 100644
> +--- a/asio/include/asio/impl/error_code.ipp
> ++++ b/asio/include/asio/impl/error_code.ipp
> +@@ -98,17 +98,14 @@ public:
> + #if defined(__sun) || defined(__QNX__) || defined(__SYMBIAN32__)
> +     using namespace std;
> +     return strerror(value);
> +-#elif defined(__MACH__) && defined(__APPLE__) \
> +-  || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) \
> +-  || defined(_AIX) || defined(__hpux) || defined(__osf__) \
> +-  || defined(__ANDROID__)
> ++#elif defined(__GLIBC__) && defined(_GNU_SOURCE)
> ++    char buf[256] = "";
> ++    return strerror_r(value, buf, sizeof(buf));
> ++#else
> +     char buf[256] = "";
> +     using namespace std;
> +     strerror_r(value, buf, sizeof(buf));
> +     return buf;
> +-#else
> +-    char buf[256] = "";
> +-    return strerror_r(value, buf, sizeof(buf));
> + #endif
> + #endif // defined(ASIO_WINDOWS_DESKTOP) || defined(__CYGWIN__)
> +   }
> diff --git a/meta-oe/recipes-support/asio/asio_1.10.6.bb b/meta-oe/recipes-support/asio/asio_1.10.6.bb
> index db4ae80..2a64f1e 100644
> --- a/meta-oe/recipes-support/asio/asio_1.10.6.bb
> +++ b/meta-oe/recipes-support/asio/asio_1.10.6.bb
> @@ -4,3 +4,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fede5286a78559dd646e355ab0cc8f04"
>  
>  SRC_URI[md5sum] = "85d014a356a6e004cd30ccd4c9b6a5c2"
>  SRC_URI[sha256sum] = "e0d71c40a7b1f6c1334008fb279e7361b32a063e020efd21e40d9d8ff037195e"
> +
> +SRC_URI += "file://95.patch;pnum=2"
> 



More information about the Openembedded-devel mailing list