Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
[3.12] gh-113565: Improve and harden detection of curses dependencies (#119816)#121222
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
[3.12] gh-113565: Improve and harden detection of curses dependencies (#119816)#121222
Uh oh!
There was an error while loading.Please reload this page.
Conversation
…encies (python#119816)(cherry picked from commitf80376b)1. Use pkg-config to check for ncursesw/panelw. If that fails, use pkg-config to check for ncurses/panel.2. Regardless of pkg-config output, search for curses/panel headers, so we're sure we have all defines in pyconfig.h.3. Regardless of pkg-config output, check if libncurses or libncursesw contains the 'initscr' symbol; if it does _and_ pkg-config failed earlier, add the resulting -llib linker option to CURSES_LIBS. Ditto for 'update_panels' and PANEL_LIBS.4. Wrap the rest of the checks with WITH_SAVE_ENV and make sure we're using updated LIBS and CPPFLAGS for those.Add the PY_CHECK_CURSES convenience macro.
erlend-aasland commentedJul 1, 2024
Marked as DO-NOT-MERGE and left to@Yhg1s to decide. See#119816 (comment). |
erlend-aasland commentedJul 1, 2024
See also the 3.12 bug report: |
Yhg1s commentedAug 2, 2024
It's difficult, but I think this is too invasive for 3.12. It's too easy for this to breakother systems doing automated/scripted builds, both because of the autoconf changes and the differences in which defines are used. We don't want to play use-case-whackamole where we keep breaking one system in our attempts to fix another. |
Uh oh!
There was an error while loading.Please reload this page.
(cherry picked from commitf80376b)
pkg-config to check for ncurses/panel.
we're sure we have all defines in pyconfig.h.
contains the 'initscr' symbol; if it doesand pkg-config failed
earlier, add the resulting -llib linker option to CURSES_LIBS.
Ditto for 'update_panels' and PANEL_LIBS.
using updated LIBS and CPPFLAGS for those.
Add the PY_CHECK_CURSES convenience macro.