Kaydet (Commit) 2e26e23d authored tarafından Stefan Krah's avatar Stefan Krah

Issue #7384: On Gentoo, libreadline.so is a "fake library", so ldd fails.

In that case, do not attempt to parse stderr output.
üst 05b7631c
...@@ -594,7 +594,10 @@ class PyBuildExt(build_ext): ...@@ -594,7 +594,10 @@ class PyBuildExt(build_ext):
# Determine if readline is already linked against curses or tinfo. # Determine if readline is already linked against curses or tinfo.
if do_readline and find_executable('ldd'): if do_readline and find_executable('ldd'):
fp = os.popen("ldd %s" % do_readline) fp = os.popen("ldd %s" % do_readline)
for ln in fp: ldd_output = fp.readlines()
ret = fp.close()
if ret is None or ret >> 8 == 0:
for ln in ldd_output:
if 'curses' in ln: if 'curses' in ln:
readline_termcap_library = re.sub( readline_termcap_library = re.sub(
r'.*lib(n?cursesw?)\.so.*', r'\1', ln r'.*lib(n?cursesw?)\.so.*', r'\1', ln
...@@ -603,7 +606,6 @@ class PyBuildExt(build_ext): ...@@ -603,7 +606,6 @@ class PyBuildExt(build_ext):
if 'tinfo' in ln: # termcap interface split out from ncurses if 'tinfo' in ln: # termcap interface split out from ncurses
readline_termcap_library = 'tinfo' readline_termcap_library = 'tinfo'
break break
fp.close()
# Issue 7384: If readline is already linked against curses, # Issue 7384: If readline is already linked against curses,
# use the same library for the readline and curses modules. # use the same library for the readline and curses modules.
if 'curses' in readline_termcap_library: if 'curses' in readline_termcap_library:
......
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