diff --git a/Foundation/src/Error.cpp b/Foundation/src/Error.cpp index 6a8afb705..00991fc0b 100644 --- a/Foundation/src/Error.cpp +++ b/Foundation/src/Error.cpp @@ -69,7 +69,10 @@ namespace Poco { without -D_GNU_SOURCE is needed, otherwise the GNU version is preferred. */ -#if defined _GNU_SOURCE && !POCO_ANDROID + /* The GNU version of strerror_r is non-portable and not + available on the musl C library. + */ +#if (defined __GLIBC__ || defined __UCLIBC__) && defined _GNU_SOURCE && !POCO_ANDROID char errmsg[256] = ""; return std::string(strerror_r(errorCode, errmsg, 256)); #elif (_XOPEN_SOURCE >= 600) || POCO_ANDROID