--- cegui/src/Exceptions.cpp
+++ cegui/src/Exceptions.cpp
@@ -39,7 +39,7 @@
 #   include <dbghelp.h>
 #elif defined(__ANDROID__)
 #   include <android/log.h>
-#elif     (defined(__linux__) && !defined(__ANDROID__)) \
+#elif     (defined(__linux__) && defined(__GLIBC__) && !defined(__ANDROID__)) \
       ||  defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) \
       ||  defined(__HAIKU__)
 #   include <execinfo.h>
@@ -141,7 +141,7 @@
     logger.logEvent("==========  End of Backtrace  ==========", Errors);
 
     SymCleanup(GetCurrentProcess());
-#elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__HAIKU__)
+#elif (defined(__linux__) && defined(__GLIBC__)) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__HAIKU__)
     void* buffer[frames];
     const int received = backtrace(&buffer[0], frames);
 
