--- a/Foundation/src/Error.cpp
+++ b/Foundation/src/Error.cpp
@@ -64,7 +64,7 @@ namespace Poco {
 
 #if (_XOPEN_SOURCE >= 600) || POCO_OS == POCO_OS_ANDROID || __APPLE__
 			setMessage(strerror_r(err, _buffer, sizeof(_buffer)));
-#elif _GNU_SOURCE
+#elif (defined(_GNU_SOURCE) && defined(__GLIBC__))
 			setMessage(strerror_r(err, _buffer, sizeof(_buffer)));
 #else
 			setMessage(strerror(err));
