fix find_library on Solaris (closes #5289)
This commit is contained in:
parent
7a34f02f9e
commit
cfe34744e3
|
@ -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
|
||||||
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
|
||||||
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).
|
||||||
|
|
Loading…
Reference in New Issue