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

Intel compiler (icc) does not fully support C11 Features, including atomics #79654

Closed
jamieschnaitter mannequin opened this issue Dec 12, 2018 · 3 comments
Closed

Intel compiler (icc) does not fully support C11 Features, including atomics #79654

jamieschnaitter mannequin opened this issue Dec 12, 2018 · 3 comments
Labels
3.7 (EOL) end of life build The build process and cross-build stdlib Python modules in the Lib dir topic-ctypes topic-installation

Comments

@jamieschnaitter
Copy link
Mannequin

jamieschnaitter mannequin commented Dec 12, 2018

BPO 35473
Nosy @vstinner, @MojoVampire, @prehensilecode
Superseder
  • bpo-37415: Error build Python with Intel compiler: <stdatomic.h> doesn't provide atomic_uintptr_t
  • 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-10-21.10:07:24.280>
    created_at = <Date 2018-12-12.17:50:27.854>
    labels = ['3.7', 'library', 'ctypes', 'build', 'expert-installation']
    title = 'Intel compiler (icc) does not fully support C11 Features, including atomics'
    updated_at = <Date 2019-10-21.10:07:24.278>
    user = 'https://bugs.python.org/jamieschnaitter'

    bugs.python.org fields:

    activity = <Date 2019-10-21.10:07:24.278>
    actor = 'vstinner'
    assignee = 'none'
    closed = True
    closed_date = <Date 2019-10-21.10:07:24.280>
    closer = 'vstinner'
    components = ['Build', 'Installation', 'Library (Lib)', 'ctypes']
    creation = <Date 2018-12-12.17:50:27.854>
    creator = 'jamie schnaitter'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 35473
    keywords = []
    message_count = 3.0
    messages = ['331713', '338807', '355038']
    nosy_count = 4.0
    nosy_names = ['vstinner', 'josh.r', 'hairygristle', 'jamie schnaitter']
    pr_nums = []
    priority = 'normal'
    resolution = 'duplicate'
    stage = 'resolved'
    status = 'closed'
    superseder = '37415'
    type = 'compile error'
    url = 'https://bugs.python.org/issue35473'
    versions = ['Python 3.6', 'Python 3.7']

    @jamieschnaitter
    Copy link
    Mannequin Author

    jamieschnaitter mannequin commented Dec 12, 2018

    I am currently trying to build 3.6.7 and 3.7.1 using Intel 2019 and it is failing because Intel's implementation of C11, in particular stdatomic, is incomplete. I receive many errors similar to the following, when it cannot find 'atomic_uintptr_t', which is not including in Intel's implementation:

    In file included from ./Include/Python.h(56),
                     from ./Modules/_io/bufferedio.c(11):
    ./Include/pyatomic.h(33): error: identifier "atomic_uintptr_t" is undefined
          atomic_uintptr_t _value;
    

    The current check in configure.ac is insufficient, as it only checks to see that the header and library exist and that it contains 'atomic_int'. The configure.ac should be changed to either check for all the atomic types it uses (or at least atomic_uintprt_t) or, when --with-icc is enabled, it should set 'HAVE_STD_ATOMIC' to 0/false.

    @jamieschnaitter jamieschnaitter mannequin added 3.7 (EOL) end of life build The build process and cross-build topic-installation stdlib Python modules in the Lib dir topic-ctypes labels Dec 12, 2018
    @MojoVampire
    Copy link
    Mannequin

    MojoVampire mannequin commented Mar 25, 2019

    Perhaps an alternative solution would be to provide conditional definitions for the stuff ICC leaves out? I'm assuming ICC can actually handle _Atomic uintptr_t if you type it out, it's just missing the typedef for it for whatever reason?

    @vstinner
    Copy link
    Member

    I mark this issue as a duplicate of bpo-37415.

    @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 build The build process and cross-build stdlib Python modules in the Lib dir topic-ctypes topic-installation
    Projects
    None yet
    Development

    No branches or pull requests

    1 participant