diff options
author | Stefan Krah <stefan@bytereef.org> | 2010-07-17 11:48:58 (GMT) |
---|---|---|
committer | Stefan Krah <stefan@bytereef.org> | 2010-07-17 11:48:58 (GMT) |
commit | 61f5f01393d1eace2d31afeba1a7a5d066adfa93 (patch) | |
tree | 2e5d0d6cf072e4c7d66a6302715f13d79a25e0da /setup.py | |
parent | 6d4a06c91e55e9b939d42d7fac5a6a3bdde3f8f6 (diff) | |
download | cpython-61f5f01393d1eace2d31afeba1a7a5d066adfa93.zip cpython-61f5f01393d1eace2d31afeba1a7a5d066adfa93.tar.gz cpython-61f5f01393d1eace2d31afeba1a7a5d066adfa93.tar.bz2 |
Merged revisions 82927 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r82927 | stefan.krah | 2010-07-17 13:46:52 +0200 (Sat, 17 Jul 2010) | 4 lines
Issue #7384: On Gentoo, libreadline.so is a "fake library", so ldd fails.
In that case, do not attempt to parse stderr output.
........
Diffstat (limited to 'setup.py')
-rw-r--r-- | setup.py | 25 |
1 files changed, 13 insertions, 12 deletions
@@ -547,18 +547,19 @@ class PyBuildExt(build_ext): tmpfile = os.path.join(self.build_temp, 'readline_termcap_lib') if not os.path.exists(self.build_temp): os.makedirs(self.build_temp) - os.system("ldd %s > %s" % (do_readline, tmpfile)) - fp = open(tmpfile) - for ln in fp: - if 'curses' in ln: - readline_termcap_library = re.sub( - r'.*lib(n?cursesw?)\.so.*', r'\1', ln - ).rstrip() - break - if 'tinfo' in ln: # termcap interface split out from ncurses - readline_termcap_library = 'tinfo' - break - fp.close() + ret = os.system("ldd %s > %s" % (do_readline, tmpfile)) + if ret >> 8 == 0: + fp = open(tmpfile) + for ln in fp: + if 'curses' in ln: + readline_termcap_library = re.sub( + r'.*lib(n?cursesw?)\.so.*', r'\1', ln + ).rstrip() + break + if 'tinfo' in ln: # termcap interface split out from ncurses + readline_termcap_library = 'tinfo' + break + fp.close() os.unlink(tmpfile) # Issue 7384: If readline is already linked against curses, # use the same library for the readline and curses modules. |