Skip to content
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

correct AIX logic in setup.py for (non-existant) optional extensions #80391

Closed
aixtools opened this issue Mar 6, 2019 · 6 comments
Closed

correct AIX logic in setup.py for (non-existant) optional extensions #80391

aixtools opened this issue Mar 6, 2019 · 6 comments
Labels
3.8 only security fixes 3.9 only security fixes extension-modules C modules in the Modules dir type-bug An unexpected behavior, bug, or error

Comments

@aixtools
Copy link
Contributor

aixtools commented Mar 6, 2019

BPO 36210
Nosy @ncoghlan, @ned-deily, @aixtools
PRs
  • bpo-36210: correct logic in setup.py for optional extensions with regard to AIX #12202
  • [3.8] bpo-36210: correct logic in setup.py for optional extensions for AIX (GH-12202) #16376
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = <Date 2019-09-25.14:15:19.399>
    created_at = <Date 2019-03-06.13:04:38.367>
    labels = ['extension-modules', 'type-bug', '3.8', '3.9']
    title = 'correct AIX logic in setup.py for (non-existant) optional extensions'
    updated_at = <Date 2019-09-25.14:15:19.393>
    user = 'https://github.com/aixtools'

    bugs.python.org fields:

    activity = <Date 2019-09-25.14:15:19.393>
    actor = 'ned.deily'
    assignee = 'none'
    closed = True
    closed_date = <Date 2019-09-25.14:15:19.399>
    closer = 'ned.deily'
    components = ['Extension Modules']
    creation = <Date 2019-03-06.13:04:38.367>
    creator = 'Michael.Felt'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 36210
    keywords = ['patch']
    message_count = 6.0
    messages = ['337298', '339303', '346217', '353061', '353145', '353202']
    nosy_count = 3.0
    nosy_names = ['ncoghlan', 'ned.deily', 'Michael.Felt']
    pr_nums = ['12202', '16376']
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'behavior'
    url = 'https://bugs.python.org/issue36210'
    versions = ['Python 3.8', 'Python 3.9']

    @aixtools
    Copy link
    Contributor Author

    aixtools commented Mar 6, 2019

    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.

    @aixtools aixtools added 3.8 only security fixes extension-modules C modules in the Modules dir type-bug An unexpected behavior, bug, or error labels Mar 6, 2019
    @aixtools
    Copy link
    Contributor Author

    aixtools commented Apr 1, 2019

    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.

    @aixtools aixtools changed the title ncurses versus cursus integration - platform differences and defaults correct AIX logic in setup.py for non-existant optional extensions Apr 1, 2019
    @aixtools aixtools added the 3.7 (EOL) end of life label Apr 1, 2019
    @aixtools aixtools changed the title correct AIX logic in setup.py for non-existant optional extensions correct AIX logic in setup.py for (non-existant) optional extensions Apr 2, 2019
    @ncoghlan
    Copy link
    Contributor

    New changeset 08970cb by Nick Coghlan (Michael Felt) in branch 'master':
    bpo-36210: update optional extension handling for AIX (GH-12202)
    08970cb

    @aixtools
    Copy link
    Contributor Author

    Hi all,

    Now that I have finally noticed that the 3.8 branches are active for AIX bots I see something that I had always thought was in the 3.8 branch, but is not yet.

    #12202

    Seems the backport never succeeded. Although, iirc it was, then, very near the day that "3.9" started. So, surprised that it failed the backport. Can that process be started again, or will I need to do this manually, so that the PPC64 bot also passes.

    @aixtools
    Copy link
    Contributor Author

    Added a backport for 3.8.

    p.s. - what is the file "name of the past"?

    @ned-deily
    Copy link
    Member

    New changeset e4be8c9 by Ned Deily (Michael Felt) in branch '3.8':
    bpo-36210: correct logic in setup.py for optional extensions for AIX (GH-12202) (GH-16376)
    e4be8c9

    @ned-deily ned-deily added 3.9 only security fixes and removed 3.7 (EOL) end of life labels Sep 25, 2019
    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.8 only security fixes 3.9 only security fixes extension-modules C modules in the Modules dir type-bug An unexpected behavior, bug, or error
    Projects
    None yet
    Development

    No branches or pull requests

    3 participants