diff --git a/lib/spack/spack/platforms/darwin.py b/lib/spack/spack/platforms/darwin.py
index 974ce3a3f9e3ede63d3e4e3630b2e3250bd8ca38..ffefd3654623034cef1a75ca24a12750068aa60d 100644
--- a/lib/spack/spack/platforms/darwin.py
+++ b/lib/spack/spack/platforms/darwin.py
@@ -1,4 +1,4 @@
-import subprocess
+import platform
 from spack.architecture import Platform, Target
 from spack.operating_systems.mac_os import MacOs
 
@@ -22,6 +22,4 @@ def __init__(self):
 
     @classmethod
     def detect(self):
-        platform = subprocess.Popen(['uname', '-a'], stdout=subprocess.PIPE)
-        platform, _ = platform.communicate()
-        return 'darwin' in platform.strip().lower()
+        return 'darwin' in platform.system().lower()
diff --git a/lib/spack/spack/platforms/linux.py b/lib/spack/spack/platforms/linux.py
index 38d2cdbfecf0eea10870bf38802ec3a62c91e3ff..cee0cfd6e95656ee4d636b66d318193ada0996ed 100644
--- a/lib/spack/spack/platforms/linux.py
+++ b/lib/spack/spack/platforms/linux.py
@@ -1,4 +1,3 @@
-import subprocess
 import platform
 from spack.architecture import Platform, Target
 from spack.operating_systems.linux_distro import LinuxDistro
@@ -27,6 +26,4 @@ def __init__(self):
 
     @classmethod
     def detect(self):
-        platform = subprocess.Popen(['uname', '-a'], stdout=subprocess.PIPE)
-        platform, _ = platform.communicate()
-        return 'linux' in platform.strip().lower()
+        return 'linux' in platform.system().lower()