Catch failure to open installed Makefile, and report it as a
DistutilsPlatformError: "invalid Python installation".  (This will
happen on Red Hat-ish systems where the python-devel package is not
installed.)
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
index 5cc71dc..a5f3816 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -229,7 +229,17 @@
     """Initialize the module as appropriate for POSIX systems."""
     g = globals()
     # load the installed Makefile:
-    parse_makefile(open(get_makefile_filename()), g)
+    try:
+        filename = get_makefile_filename()
+        file = open(filename)
+    except IOError, msg:
+        my_msg = "invalid Python installation: unable to open %s" % filename
+        if hasattr(msg, "strerror"):
+            my_msg = my_msg + " (%s)" % msg.strerror
+
+        raise DistutilsPlatformError, my_msg
+              
+    parse_makefile(file, g)
 
 
 def _init_nt():