changeset: 81982:d76fb24d79c3 branch: 2.7 parent: 81976:d4dd297fedb1 user: Benjamin Peterson date: Sun Feb 03 19:25:11 2013 -0500 files: Lib/ctypes/util.py Misc/ACKS Misc/NEWS description: fix find_library on Solaris (closes #5289) diff -r d4dd297fedb1 -r d76fb24d79c3 Lib/ctypes/util.py --- a/Lib/ctypes/util.py Sun Feb 03 11:41:19 2013 -0500 +++ b/Lib/ctypes/util.py Sun Feb 03 19:25:11 2013 -0500 @@ -180,6 +180,35 @@ 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 + + if is64: + cmd = 'env LC_ALL=C /usr/bin/crle -64 2>/dev/null' + 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 + + for dir in paths.split(":"): + libfile = os.path.join(dir, "lib%s.so" % name) + if os.path.exists(libfile): + return libfile + + return None + + def find_library(name, is64 = False): + return _get_soname(_findLib_crle(name, is64) or _findLib_gcc(name)) + else: def _findSoname_ldconfig(name): diff -r d4dd297fedb1 -r d76fb24d79c3 Misc/ACKS --- a/Misc/ACKS Sun Feb 03 11:41:19 2013 -0500 +++ b/Misc/ACKS Sun Feb 03 19:25:11 2013 -0500 @@ -1044,6 +1044,7 @@ Richard Walker Larry Wall Kevin Walzer +Ke Wang Greg Ward Zachary Ware Barry Warsaw diff -r d4dd297fedb1 -r d76fb24d79c3 Misc/NEWS --- a/Misc/NEWS Sun Feb 03 11:41:19 2013 -0500 +++ b/Misc/NEWS Sun Feb 03 19:25:11 2013 -0500 @@ -199,6 +199,8 @@ Library ------- +- Issue #5289: Fix ctypes.util.find_library on Solaris. + - Issue #17106: Fix a segmentation fault in io.TextIOWrapper when an underlying stream or a decoder produces data of an unexpected type (i.e. when io.TextIOWrapper initialized with text stream or use bytes-to-bytes codec).

AltStyle によって変換されたページ (->オリジナル) /