20381830 ctypes module unable to obtain default library path s11-update
authorJohn Beck <John.Beck@Oracle.COM>
Wed, 21 Jan 2015 17:55:00 -0800
branchs11-update
changeset 3792 482769b9a31b
parent 3791 1504f7bde5fd
child 3793 7befd73326eb
20381830 ctypes module unable to obtain default library path
components/pylint/pylint-GENFRAG.p5m
components/pylint/pylint-PYVER.p5m
components/python/python26/patches/Python26-14-ctypes-util-find-library.patch
components/python/python27/patches/22-default-lib-path.patch
components/python/python34/patches/21-default-lib-path.patch
--- a/components/python/python26/patches/Python26-14-ctypes-util-find-library.patch	Sat Jan 10 08:18:26 2015 -0800
+++ b/components/python/python26/patches/Python26-14-ctypes-util-find-library.patch	Wed Jan 21 17:55:00 2015 -0800
@@ -1,28 +1,19 @@
-diff --git Python-2.6.4/Lib/ctypes/util.py Python-2.6.4/Lib/ctypes/util.py
---- Python-2.6.4/Lib/ctypes/util.py
-+++ Python-2.6.4/Lib/ctypes/util.py
-@@ -164,6 +164,35 @@
+This patch was developed in-house, but not contributed upstream because
+Python 2.6 has been abandoned by the community.
+
+--- Python-2.6.8/Lib/ctypes/util.py.~1~	2012-04-10 08:32:04.000000000 -0700
++++ Python-2.6.8/Lib/ctypes/util.py	2015-01-20 15:17:51.156728249 -0800
+@@ -164,6 +164,24 @@
              res.sort(cmp= lambda x,y: cmp(_num_version(x), _num_version(y)))
              return res[-1]
  
 +    elif sys.platform == "sunos5":
 +
-+        def _findLib_crle(name, is64):
-+            if not os.path.exists('/usr/bin/crle'):
-+                return None
-+
++        def _findLib_path(name, is64):
 +            if is64:
-+                cmd = 'env LC_ALL=C /usr/bin/crle -64 2>/dev/null'
++                paths = "/lib/64:/usr/lib/64"
 +            else:
-+                cmd = 'env LC_ALL=C /usr/bin/crle 2>/dev/null'
-+
-+            for line in os.popen(cmd).readlines():
-+                line = line.strip()
-+                if (line.startswith('Default Library Path (ELF):')):
-+                    paths = line.split()[4]
-+
-+            if not paths:
-+                return None
++                paths = "/lib:/usr/lib"
 +
 +            for dir in paths.split(":"):
 +                libfile = os.path.join(dir, "lib%s.so" % name)
@@ -32,7 +23,7 @@
 +            return None
 +        
 +        def find_library(name, is64 = False):
-+            return _get_soname(_findLib_crle(name, is64) or _findLib_gcc(name))
++            return _get_soname(_findLib_path(name, is64) or _findLib_gcc(name))
 +
      else:
  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/python27/patches/22-default-lib-path.patch	Wed Jan 21 17:55:00 2015 -0800
@@ -0,0 +1,40 @@
+This patch was developed in-house.  It has been submitted upstream:
+http://bugs.python.org/issue23287
+
+--- Python-2.7.9/Lib/ctypes/util.py.~1~	2014-12-10 07:59:34.000000000 -0800
++++ Python-2.7.9/Lib/ctypes/util.py	2015-01-20 15:22:03.139588641 -0800
+@@ -182,22 +182,11 @@
+ 
+     elif sys.platform == "sunos5":
+ 
+-        def _findLib_crle(name, is64):
+-            if not os.path.exists('/usr/bin/crle'):
+-                return None
+-
++        def _findLib_path(name, is64):
+             if is64:
+-                cmd = 'env LC_ALL=C /usr/bin/crle -64 2>/dev/null'
++                paths = "/lib/64:/usr/lib/64"
+             else:
+-                cmd = 'env LC_ALL=C /usr/bin/crle 2>/dev/null'
+-
+-            for line in os.popen(cmd).readlines():
+-                line = line.strip()
+-                if line.startswith('Default Library Path (ELF):'):
+-                    paths = line.split()[4]
+-
+-            if not paths:
+-                return None
++                paths = "/lib:/usr/lib"
+ 
+             for dir in paths.split(":"):
+                 libfile = os.path.join(dir, "lib%s.so" % name)
+@@ -207,7 +196,7 @@
+             return None
+ 
+         def find_library(name, is64 = False):
+-            return _get_soname(_findLib_crle(name, is64) or _findLib_gcc(name))
++            return _get_soname(_findLib_path(name, is64) or _findLib_gcc(name))
+ 
+     else:
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/python34/patches/21-default-lib-path.patch	Wed Jan 21 17:55:00 2015 -0800
@@ -0,0 +1,41 @@
+This patch was developed in-house.  It has been submitted upstream:
+http://bugs.python.org/issue23287
+
+--- Python-3.4.2/Lib/ctypes/util.py.~1~	2014-10-08 01:18:12.000000000 -0700
++++ Python-3.4.2/Lib/ctypes/util.py	2015-01-20 15:51:09.024341756 -0800
+@@ -169,23 +169,11 @@
+ 
+     elif sys.platform == "sunos5":
+ 
+-        def _findLib_crle(name, is64):
+-            if not os.path.exists('/usr/bin/crle'):
+-                return None
+-
++        def _findLib_path(name, is64):
+             if is64:
+-                cmd = 'env LC_ALL=C /usr/bin/crle -64 2>/dev/null'
++                paths = "/lib/64:/usr/lib/64"
+             else:
+-                cmd = 'env LC_ALL=C /usr/bin/crle 2>/dev/null'
+-
+-            with contextlib.closing(os.popen(cmd)) as f:
+-                for line in f.readlines():
+-                    line = line.strip()
+-                    if line.startswith('Default Library Path (ELF):'):
+-                        paths = line.split()[4]
+-
+-            if not paths:
+-                return None
++                paths = "/lib:/usr/lib"
+ 
+             for dir in paths.split(":"):
+                 libfile = os.path.join(dir, "lib%s.so" % name)
+@@ -195,7 +183,7 @@
+             return None
+ 
+         def find_library(name, is64 = False):
+-            return _get_soname(_findLib_crle(name, is64) or _findLib_gcc(name))
++            return _get_soname(_findLib_path(name, is64) or _findLib_gcc(name))
+ 
+     else:
+