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

EXT_SUFFIX too short on FreeBSD and AIX #86770

Closed
mattip opened this issue Dec 8, 2020 · 13 comments
Closed

EXT_SUFFIX too short on FreeBSD and AIX #86770

mattip opened this issue Dec 8, 2020 · 13 comments
Labels
3.7 (EOL) end of life 3.8 only security fixes 3.9 only security fixes 3.10 only security fixes build The build process and cross-build

Comments

@mattip
Copy link
Contributor

mattip commented Dec 8, 2020

BPO 42604
Nosy @vstinner, @mattip, @pablogsal, @miss-islington
PRs
  • bpo-42604: always set EXT_SUFFIX=${SOABI}${SHLIB_SUFFIX} when using configure #23708
  • [3.9] bpo-42604: always set EXT_SUFFIX=${SOABI}${SHLIB_SUFFIX} when using configure (GH-23708) #23866
  • [3.8] bpo-42604: always set EXT_SUFFIX=${SOABI}${SHLIB_SUFFIX} when using configure (GH-23708) #23867
  • 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 2021-01-29.23:59:05.929>
    created_at = <Date 2020-12-08.21:53:22.342>
    labels = ['3.8', 'build', '3.7', '3.9', '3.10']
    title = 'EXT_SUFFIX too short on FreeBSD and AIX'
    updated_at = <Date 2021-01-29.23:59:05.929>
    user = 'https://github.com/mattip'

    bugs.python.org fields:

    activity = <Date 2021-01-29.23:59:05.929>
    actor = 'vstinner'
    assignee = 'none'
    closed = True
    closed_date = <Date 2021-01-29.23:59:05.929>
    closer = 'vstinner'
    components = ['Build']
    creation = <Date 2020-12-08.21:53:22.342>
    creator = 'mattip'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 42604
    keywords = ['patch']
    message_count = 13.0
    messages = ['382767', '383299', '383306', '383387', '383413', '383414', '383415', '383417', '385347', '385351', '385356', '385357', '385959']
    nosy_count = 4.0
    nosy_names = ['vstinner', 'mattip', 'pablogsal', 'miss-islington']
    pr_nums = ['23708', '23866', '23867']
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = None
    url = 'https://bugs.python.org/issue42604'
    versions = ['Python 3.7', 'Python 3.8', 'Python 3.9', 'Python 3.10']

    @mattip
    Copy link
    Contributor Author

    mattip commented Dec 8, 2020

    Continuation of bpo-39825, this time for FreeBSD and AIX. As commented there, the test added in the fix to 39825 fails on FreeBSD and AIX:

    FAIL: test_EXT_SUFFIX_in_vars (test.test_sysconfig.TestSysConfig)
    ----------------------------------------------------------------------

    Traceback (most recent call last):
      File "/usr/home/buildbot/python/3.x.koobs-freebsd-564d/build/Lib/test/test_sysconfig.py", line 368, in test_EXT_SUFFIX_in_vars
        self.assertEqual(vars['EXT_SUFFIX'], _imp.extension_suffixes()[0])
    AssertionError: '.so' != '.cpython-310d.so'
    - .so
    + .cpython-310d.so

    So somehow EXT_SUFFIX is being set to .so rather than .cpython-310d.so.

    It seems the difference in EXT_SUFFIX comes from this stanza in configure:

    case $ac_sys_system in
    Linux*|GNU*|Darwin|VxWorks)
    EXT_SUFFIX=.${SOABI}${SHLIB_SUFFIX};;
    *)
    EXT_SUFFIX=${SHLIB_SUFFIX};;
    esac

    where $ac_sys_system is uname -s. On FREEBSD, this is "FreeBSD", and I think on AIX it is "AIX". My preference would be to always set EXT_SUFFIX to ${SOABI}${SHLIB_SUFFIX}, with no option for setting it to a different value. Does that seem right?

    @mattip mattip added 3.7 (EOL) end of life 3.8 only security fixes 3.9 only security fixes 3.10 only security fixes build The build process and cross-build labels Dec 8, 2020
    @mattip
    Copy link
    Contributor Author

    mattip commented Dec 18, 2020

    vstinner: ping. Are merge builds still failing or can I close this?

    @vstinner
    Copy link
    Member

    @mattip
    Copy link
    Contributor Author

    mattip commented Dec 19, 2020

    The linked PR 23708 is meant to fix the failures. Any chance you can take a look?

    @pablogsal
    Copy link
    Member

    New changeset a44ce6c by Matti Picus in branch 'master':
    bpo-42604: always set EXT_SUFFIX=${SOABI}${SHLIB_SUFFIX} when using configure (GH-23708)
    a44ce6c

    @miss-islington
    Copy link
    Contributor

    New changeset b01091a by Miss Islington (bot) in branch '3.8':
    bpo-42604: always set EXT_SUFFIX=${SOABI}${SHLIB_SUFFIX} when using configure (GH-23708)
    b01091a

    @pablogsal
    Copy link
    Member

    New changeset 4b15596 by Miss Islington (bot) in branch '3.9':
    bpo-42604: always set EXT_SUFFIX=${SOABI}${SHLIB_SUFFIX} when using configure (GH-23708) (GH-23866)
    4b15596

    @pablogsal
    Copy link
    Member

    Thanks for the PR, mattip!

    @vstinner
    Copy link
    Member

    I reopen the issue.

    It seems like Python no long builds on PPC64 AIX 3.x buildbot:
    https://buildbot.python.org/all/#/builders/438/builds/753

    "setup.py build" crash with an assertion error:

    Assertion failed: (item != NULL) ^ (PyErr_Occurred() != NULL), file Objects/abstract.c, line 163

    The linker also displays tons of warnings. Examples:

    ld: 0711-327 WARNING: Entry point not found: PyInit__uuid.cpython-310d
    ld: 0711-327 WARNING: Entry point not found: PyInit__multiprocessing.cpython-310d
    ld: 0711-327 WARNING: Entry point not found: PyInit__tkinter.cpython-310d

    Can it be related to the commit a44ce6c of this issue?

    @vstinner vstinner reopened this Jan 20, 2021
    @vstinner vstinner reopened this Jan 20, 2021
    @pablogsal
    Copy link
    Member

    Can it be related to the commit a44ce6c of this issue?

    Quite likely. @mattip, can you investigate?

    @vstinner
    Copy link
    Member

    Assertion failed: (item != NULL) ^ (PyErr_Occurred() != NULL), file Objects/abstract.c, line 163

    This is bpo-42979: "_zoneinfo: zoneinfomodule_exec() doesn't check for PyDateTime_IMPORT failure".

    It's a side effect of the broken _datetime module.

    @mattip
    Copy link
    Contributor Author

    mattip commented Jan 20, 2021

    I think this issue can only cause failed tests. sysconfig.get_config_var('EXT_SUFFIX') is, as far as I can tell, not used internally by any cpython build or import code.

    @vstinner
    Copy link
    Member

    It seems like Python no long builds on PPC64 AIX 3.x buildbot:
    https://buildbot.python.org/all/#/builders/438/builds/753

    Sorry, it was unrelated to this issue. I fixed it with:

    New changeset 0837f99 by Victor Stinner in branch 'master':
    bpo-42323: Fix math.nextafter() on AIX (GH-24381)

    This is bpo-42979: "_zoneinfo: zoneinfomodule_exec() doesn't check for PyDateTime_IMPORT failure".

    _zoneinfo has also been fixed.

    @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.7 (EOL) end of life 3.8 only security fixes 3.9 only security fixes 3.10 only security fixes build The build process and cross-build
    Projects
    None yet
    Development

    No branches or pull requests

    4 participants