diff --git a/mininet/moduledeps.py b/mininet/moduledeps.py
index b21c629fc90a5f130fe7279c2c323a4c6059d59c..f954e03413946847726f0d198048e7dd9f68d4c7 100644
--- a/mininet/moduledeps.py
+++ b/mininet/moduledeps.py
@@ -2,6 +2,7 @@
 
 from mininet.util import quietRun
 from mininet.log import info, error, debug
+from os import environ
 
 def lsmod():
     "Return output of lsmod."
@@ -54,3 +55,12 @@ def moduleDeps( subtract=None, add=None ):
                 exit( 1 )
         else:
             debug( '*** ' + mod + ' already loaded\n' )
+
+def pathCheck( *args ):
+    "Make sure each program in *args can be found in $PATH."
+    for arg in args:
+        if not quietRun( 'which ' + arg ):
+            error( 'Cannot find required executable %s -'
+                ' is it installed somewhere in your $PATH?\n(%s)\n' %
+                    ( arg, environ[ 'PATH' ] ) )
+            exit( 1 )