Stop python from linking with system ncurses (#1672)
Python will look to link with libncursesw in preference to libncurses. Since ncurses in spack is built without suffixes there is no libncursesw and python will link to the system libncursesw for _curses.so and _curses_panel.so, as well as libpanelw for _curses_panel.so. This PR introduces a patch that simple removes the check for ncursesw in setup.py and therefore sets `curses_library` to `ncurses`.
This commit is contained in:
parent
851b58248d
commit
c1284a9046
2 changed files with 13 additions and 0 deletions
11
var/spack/repos/builtin/packages/python/ncurses.patch
Normal file
11
var/spack/repos/builtin/packages/python/ncurses.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- a/setup.py 2016-08-30 15:39:59.334926574 -0500
|
||||
+++ b/setup.py 2016-08-30 15:46:57.227946339 -0500
|
||||
@@ -745,8 +745,6 @@
|
||||
# use the same library for the readline and curses modules.
|
||||
if 'curses' in readline_termcap_library:
|
||||
curses_library = readline_termcap_library
|
||||
- elif self.compiler.find_library_file(lib_dirs, 'ncursesw'):
|
||||
- curses_library = 'ncursesw'
|
||||
elif self.compiler.find_library_file(lib_dirs, 'ncurses'):
|
||||
curses_library = 'ncurses'
|
||||
elif self.compiler.find_library_file(lib_dirs, 'curses'):
|
|
@ -74,6 +74,8 @@ class Python(Package):
|
|||
depends_on("tk", when="+tk")
|
||||
depends_on("tcl", when="+tk")
|
||||
|
||||
patch('ncurses.patch')
|
||||
|
||||
@when('@2.7,3.4:')
|
||||
def patch(self):
|
||||
# NOTE: Python's default installation procedure makes it possible for a
|
||||
|
|
Loading…
Reference in a new issue