classification
Title: correct AIX logic in setup.py for (non-existant) optional extensions
Type: behavior Stage: patch review
Components: Extension Modules Versions: Python 3.8, Python 3.7
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: Michael.Felt, ncoghlan
Priority: normal Keywords: patch

Created on 2019-03-06 13:04 by Michael.Felt, last changed 2019-06-21 13:58 by ncoghlan.

Files
File name Uploaded Description Edit
name of the past عشقى و حناني, 2019-04-01 23:55
Pull Requests
URL Status Linked Edit
PR 12202 merged Michael.Felt, 2019-03-06 19:07
Messages (3)
msg337298 - (view) Author: Michael Felt (Michael.Felt) * Date: 2019-03-06 13:04
Only marking Python3.8, but this is a historical issue I have ignored as long as possible.

There are many - ancient and recent issues open around the extension module _curses - and over the years it appears many assumptions have come into the code (such as configure.ac that says CPP needs to be expended with /usr/include/ncursesw, but not /usr/include/ncurses (which is what the ncurses project uses).

Further, Pyhton3 assumes that ncurses is the better solution, so if it can find a libncurses library that must be the best approach.

While ncurses might, all other things being equal, be a preferred library - it does not mean it is the best for all platforms.

On AIX - the assumptions made (at least where the include files are) tends to make it impossible to build the _cursesmodule in any form when a third-party ncurses is installed.

When ncurses is not installed _curses builds fine and _curses_panel is skipped.

I propose that "setup.py" - on AIX - specifies libcurses.a rather than libncurses - as the default.
msg339303 - (view) Author: Michael Felt (Michael.Felt) * Date: 2019-04-01 19:18
Updating this to not only correct the failure of 3rd-party library ncurses (while IBM curses builds with no issue) to also stop announcing that the optional modules osaudiodev and spwd have not been built.

Neither are supported on AIX - so they will never be there.
msg346217 - (view) Author: Nick Coghlan (ncoghlan) * (Python committer) Date: 2019-06-21 13:58
New changeset 08970cb03c61f62f4f69e7769d0075fa66bb86aa by Nick Coghlan (Michael Felt) in branch 'master':
bpo-36210: update optional extension handling for AIX (GH-12202)
https://github.com/python/cpython/commit/08970cb03c61f62f4f69e7769d0075fa66bb86aa
History
Date User Action Args
2019-06-21 13:58:25ncoghlansetnosy: + ncoghlan
messages: + msg346217
2019-04-02 06:25:36Michael.Feltsettitle: correct AIX logic in setup.py for non-existant optional extensions -> correct AIX logic in setup.py for (non-existant) optional extensions
2019-04-01 23:55:23عشقى و حنانيsetfiles: + name of the past
2019-04-01 19:19:06Michael.Feltsetversions: + Python 3.7
2019-04-01 19:18:51Michael.Feltsetmessages: + msg339303
title: ncurses versus cursus integration - platform differences and defaults -> correct AIX logic in setup.py for non-existant optional extensions
2019-03-06 19:07:34Michael.Feltsetkeywords: + patch
stage: patch review
pull_requests: + pull_request12197
2019-03-06 13:04:38Michael.Feltcreate