Index: setuptools/command/build_ext.py
===================================================================
--- setuptools/command/build_ext.py	(revision 42043)
+++ setuptools/command/build_ext.py	(working copy)
@@ -9,7 +9,9 @@
 from distutils.file_util import copy_file
 from setuptools.extension import Library
 from distutils.ccompiler import new_compiler
-from distutils.sysconfig import customize_compiler, _config_vars
+from distutils.sysconfig import customize_compiler, get_config_var
+get_config_var("LDSHARED")
+from distutils.sysconfig import _config_vars
 from distutils import log
 from distutils.errors import *
 
@@ -22,6 +24,7 @@
     except ImportError:
         pass
 
+have_rtld = True
 
 
 
@@ -129,7 +132,7 @@
             tmp = _config_vars.copy()
             try:
                 # XXX Help!  I don't have any idea whether these are right...
-                _config_vars['LDSHARED'] = "-dynamiclib -undefined dynamic_lookup"
+                _config_vars['LDSHARED'] = "gcc -Wl,-x -dynamiclib -undefined dynamic_lookup"
                 _config_vars['CCSHARED'] = " -dynamiclib"
                 _config_vars['SO'] = ".dylib"
                 customize_compiler(compiler)
@@ -213,7 +216,7 @@
             f.write('\n'.join([
                 "def __bootstrap__():",
                 "   global __bootstrap__, __file__, __loader__",
-                "   import sys, os, pkg_resources, imp, dl",
+                "   import sys, os, pkg_resources, imp#, dl",
                 "   __file__ = pkg_resources.resource_filename(__name__,%r)"
                    % os.path.basename(ext._file_name),
                 "   del __bootstrap__",
@@ -223,10 +226,10 @@
                 "   old_dir = os.getcwd()",
                 "   try:",
                 "     os.chdir(os.path.dirname(__file__))",
-                "     sys.setdlopenflags(dl.RTLD_NOW)",
+                "     #sys.setdlopenflags(dl.RTLD_NOW)",
                 "     imp.load_dynamic(__name__,__file__)",
                 "   finally:",
-                "     sys.setdlopenflags(old_flags)",
+                "     #sys.setdlopenflags(old_flags)",
                 "     os.chdir(old_dir)",
                 "__bootstrap__()",
                 "" # terminal \n
