Commit cfe34744 authored by Benjamin Peterson's avatar Benjamin Peterson

fix find_library on Solaris (closes #5289)

parent 7a34f02f
...@@ -166,6 +166,35 @@ elif os.name == "posix": ...@@ -166,6 +166,35 @@ elif os.name == "posix":
res.sort(key=_num_version) res.sort(key=_num_version)
return res[-1] 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: else:
def _findSoname_ldconfig(name): def _findSoname_ldconfig(name):
......
...@@ -1250,6 +1250,7 @@ Richard Walker ...@@ -1250,6 +1250,7 @@ Richard Walker
Larry Wall Larry Wall
Kevin Walzer Kevin Walzer
Rodrigo Steinmuller Wanderley Rodrigo Steinmuller Wanderley
Ke Wang
Greg Ward Greg Ward
Zachary Ware Zachary Ware
Barry Warsaw Barry Warsaw
......
...@@ -163,6 +163,8 @@ Core and Builtins ...@@ -163,6 +163,8 @@ Core and Builtins
Library Library
------- -------
- Issue #5289: Fix ctypes.util.find_library on Solaris.
- Issue #17106: Fix a segmentation fault in io.TextIOWrapper when an underlying - 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 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). io.TextIOWrapper initialized with text stream or use bytes-to-bytes codec).
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment