Add ncurses tinfo static library to link path#1088
Add ncurses tinfo static library to link path#1088vanzod wants to merge 2 commits intoeasybuilders:developfrom
Conversation
| if os.path.isfile(tinfo_static_lib): | ||
| readline = "readline readline.c %s %s %s" % (readline_static_lib, ncurses_static_lib, tinfo_static_lib) | ||
| else: | ||
| readline = "readline readline.c %s %s" % (readline_static_lib, ncurses_static_lib) |
There was a problem hiding this comment.
@vanzod I'd prefer avoiding to copy-paste as much as possible, how about this:
ncurses_static_libs = os.path.join(ncurses, ncurses_libdir, 'libncurses.a')
tinfo_static_lib = os.path.join(ncurses, ncurses_libdir, 'libtinfo.a')
# if libtinfo.a exists, we also need to link it in to resolve all ncurses symbols
if os.path.exists(tinfo_static_lib):
ncurses_static_libs += ' ' + tinfo_static_lib
readline = "readline readline.c %s %s" % (readline_static_lib, ncurses_static_libs)|
@boegel Do not merge this PR yet since there are still issues with the terminfo library. |
|
Closing as issue has been solved. See easybuilders/easybuild-easyconfigs#4049 |
|
@pforai Just mentioned to me that he was hitting the problem being fixed here after enabling the use of Due to this, So maybe this change should be applied after all? @vanzod Did you run into other problems with the Python you obtained with this patch applied? Which other issues with the terminfo library made you put this on hold? |
|
No, this fix does not solve the problem either since I still got an error because the |
|
Hopefully this is solved with easybuilders/easybuild-easyconfigs#5067 |
If statically linking against the ncurses library built with separate terminfo library (i.e. configured with
--with-termlib), Python building step fails to find required symbols unless the terminfo library is added to the linking paths.