diff --git a/setup.py b/setup.py
index fc68172..e6bc676 100644
--- a/setup.py
+++ b/setup.py
@@ -3,6 +3,7 @@
 
 import sys, os, string, getopt
 from distutils import sysconfig
+from distutils.errors import *
 from distutils.core import Extension, setup
 from distutils.command.build_ext import build_ext
 
@@ -99,6 +100,14 @@
 
         build_ext.build_extensions(self)
 
+    def build_extension(self, ext):
+
+        try:
+            build_ext.build_extension(self, ext)
+        except (CCompilerError, DistutilsError), why:
+            self.announce('WARNING: building of extension "%s" failed: %s' %
+                          (ext.name, sys.exc_info()[1]))
+
     def get_platform (self):
         # Get value of sys.platform
         platform = sys.platform
@@ -235,6 +244,7 @@
         # readline
         if (self.compiler.find_library_file(lib_dirs, 'readline')):
             exts.append( Extension('readline', ['readline.c'],
+                                   library_dirs=['/usr/lib/termcap'],
                                    libraries=['readline', 'termcap']) )
 
         # The crypt module is now disabled by default because it breaks builds
