--- /usr/lib/python2.6/ctypes/util.py.orig 2009-02-18 16:11:31.928981000 +0800 +++ /usr/lib/python2.6/ctypes/util.py 2009-02-18 16:14:35.469513000 +0800 @@ -156,6 +156,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 _findLib_ldconfig(name):