1*4882a593SmuzhiyunFrom 27f6687e49bf555fc494d2f14bae6ecd0fa30f14 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Alexander Kanavin <alex.kanavin@gmail.com> 3*4882a593SmuzhiyunDate: Thu, 10 Dec 2015 13:20:30 +0200 4*4882a593SmuzhiyunSubject: [PATCH] Don't search /usr and so on for libraries by default to 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun avoid host contamination. 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunUpstream-Status: Inappropriate (As the code stands, this is a hack) 9*4882a593SmuzhiyunSigned-off-by: Ross Burton <ross.burton@intel.com> 10*4882a593SmuzhiyunSigned-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 11*4882a593Smuzhiyun--- 12*4882a593Smuzhiyun numpy/distutils/system_info.py | 42 +++++----------------------------- 13*4882a593Smuzhiyun 1 file changed, 6 insertions(+), 36 deletions(-) 14*4882a593Smuzhiyun 15*4882a593Smuzhiyundiff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py 16*4882a593Smuzhiyunindex 82e864a..135246d 100644 17*4882a593Smuzhiyun--- a/numpy/distutils/system_info.py 18*4882a593Smuzhiyun+++ b/numpy/distutils/system_info.py 19*4882a593Smuzhiyun@@ -323,44 +323,14 @@ if sys.platform == 'win32': 20*4882a593Smuzhiyun add_system_root(os.path.join(conda_dir, 'Library')) 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun else: 23*4882a593Smuzhiyun- default_lib_dirs = libpaths(['/usr/local/lib', '/opt/lib', '/usr/lib', 24*4882a593Smuzhiyun- '/opt/local/lib', '/sw/lib'], platform_bits) 25*4882a593Smuzhiyun default_runtime_dirs = [] 26*4882a593Smuzhiyun- default_include_dirs = ['/usr/local/include', 27*4882a593Smuzhiyun- '/opt/include', 28*4882a593Smuzhiyun- # path of umfpack under macports 29*4882a593Smuzhiyun- '/opt/local/include/ufsparse', 30*4882a593Smuzhiyun- '/opt/local/include', '/sw/include', 31*4882a593Smuzhiyun- '/usr/include/suitesparse'] 32*4882a593Smuzhiyun- default_src_dirs = ['.', '/usr/local/src', '/opt/src', '/sw/src'] 33*4882a593Smuzhiyun- 34*4882a593Smuzhiyun- default_x11_lib_dirs = libpaths(['/usr/X11R6/lib', '/usr/X11/lib', 35*4882a593Smuzhiyun- '/usr/lib'], platform_bits) 36*4882a593Smuzhiyun- default_x11_include_dirs = ['/usr/X11R6/include', '/usr/X11/include'] 37*4882a593Smuzhiyun- 38*4882a593Smuzhiyun- if os.path.exists('/usr/lib/X11'): 39*4882a593Smuzhiyun- globbed_x11_dir = glob('/usr/lib/*/libX11.so') 40*4882a593Smuzhiyun- if globbed_x11_dir: 41*4882a593Smuzhiyun- x11_so_dir = os.path.split(globbed_x11_dir[0])[0] 42*4882a593Smuzhiyun- default_x11_lib_dirs.extend([x11_so_dir, '/usr/lib/X11']) 43*4882a593Smuzhiyun- default_x11_include_dirs.extend(['/usr/lib/X11/include', 44*4882a593Smuzhiyun- '/usr/include/X11']) 45*4882a593Smuzhiyun- 46*4882a593Smuzhiyun- with open(os.devnull, 'w') as tmp: 47*4882a593Smuzhiyun- try: 48*4882a593Smuzhiyun- p = subprocess.Popen(["gcc", "-print-multiarch"], stdout=subprocess.PIPE, 49*4882a593Smuzhiyun- stderr=tmp) 50*4882a593Smuzhiyun- except (OSError, DistutilsError): 51*4882a593Smuzhiyun- # OSError if gcc is not installed, or SandboxViolation (DistutilsError 52*4882a593Smuzhiyun- # subclass) if an old setuptools bug is triggered (see gh-3160). 53*4882a593Smuzhiyun- pass 54*4882a593Smuzhiyun- else: 55*4882a593Smuzhiyun- triplet = str(p.communicate()[0].decode().strip()) 56*4882a593Smuzhiyun- if p.returncode == 0: 57*4882a593Smuzhiyun- # gcc supports the "-print-multiarch" option 58*4882a593Smuzhiyun- default_x11_lib_dirs += [os.path.join("/usr/lib/", triplet)] 59*4882a593Smuzhiyun- default_lib_dirs += [os.path.join("/usr/lib/", triplet)] 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun+ default_lib_dirs = libpaths(['/deadir/lib'], platform_bits) 62*4882a593Smuzhiyun+ default_include_dirs = ['/deaddir/include'] 63*4882a593Smuzhiyun+ default_src_dirs = ['.', '/deaddir/src'] 64*4882a593Smuzhiyun+ 65*4882a593Smuzhiyun+ default_x11_lib_dirs = libpaths(['/deaddir/lib'], platform_bits) 66*4882a593Smuzhiyun+ default_x11_include_dirs = ['/deaddir/include'] 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun if os.path.join(sys.prefix, 'lib') not in default_lib_dirs: 69*4882a593Smuzhiyun default_lib_dirs.insert(0, os.path.join(sys.prefix, 'lib')) 70*4882a593Smuzhiyun-- 71*4882a593Smuzhiyun2.25.1 72*4882a593Smuzhiyun 73