--- a/source/modules/juce_core/native/juce_linux_SystemStats.cpp
+++ b/source/modules/juce_core/native/juce_linux_SystemStats.cpp
@@ -198,7 +198,7 @@ String SystemStats::getComputerName()
 
 String SystemStats::getUserLanguage()
 {
-   #if JUCE_BSD
+   #if JUCE_BSD || !defined(__GLIBC__)
     if (auto langEnv = getenv ("LANG"))
         return String::fromUTF8 (langEnv).upToLastOccurrenceOf (".UTF-8", false, true);
 
@@ -210,7 +210,7 @@ String SystemStats::getUserLanguage()
 
 String SystemStats::getUserRegion()
 {
-   #if JUCE_BSD
+   #if JUCE_BSD || !defined(__GLIBC__)
     return {};
    #else
     return getLocaleValue (_NL_IDENTIFICATION_TERRITORY);
--- a/source/modules/juce_core/system/juce_SystemStats.cpp
+++ b/source/modules/juce_core/system/juce_SystemStats.cpp
@@ -172,6 +172,8 @@ String SystemStats::getStackBacktrace()
         }
     }
 
+   #elif defined(__linux__) && !defined(__GLIBC__)
+    jassertfalse;
    #else
     void* stack[128];
     auto frames = backtrace (stack, numElementsInArray (stack));
--- a/source/modules/juce_core/juce_core.cpp
+++ b/source/modules/juce_core/juce_core.cpp
@@ -102,7 +102,7 @@
  #include <net/if.h>
  #include <sys/ioctl.h>
 
- #if ! (JUCE_ANDROID || JUCE_WASM)
+ #if defined(__GLIBC__) && ! (JUCE_ANDROID || JUCE_WASM)
   #include <execinfo.h>
  #endif
 #endif
