-
Notifications
You must be signed in to change notification settings - Fork 308
Add ncurses tinfo static library to link path #1088
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
easybuild/easyblocks/p/python.py
Outdated
| 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@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.