bpo-37415: Fix stdatomic.h header check for ICC compiler#16717
bpo-37415: Fix stdatomic.h header check for ICC compiler#16717vstinner merged 1 commit intopython:masterfrom vstinner:icc_atomic
Conversation
|
I removed ATOMIC_VAR_INIT() check from configure, since it's not used in Python. |
Fix stdatomic.h header check for ICC compiler: the ICC implementation lacks atomic_uintptr_t type which is needed by Python. Test: * atomic_int and atomic_uintptr_t types * atomic_load_explicit() and atomic_store_explicit() * memory_order_relaxed and memory_order_seq_cst constants But don't test ATOMIC_VAR_INIT(): it's not used in Python.
|
@adamjstewart: Can you test this PR with ICC? |
|
I'm still working on getting access to our cluster, but once I have access I can definitely test this PR! |
|
I assume the runstatedir portions of the patch aren't actually needed to fix the intel build? |
I'm running "autoconf". Depending who run "autoconf" to generate the latest configure in script and depending on my autoconf version, the runstatedir thing may or may not change. I never understood how to get a reliable output using autotools. |
|
This patch seems to be working so far. I tried running the unit tests and only saw a few failures: I'm going to try to install anyway. |
|
The install succeeded! With the minimal patch found here, I was able to build Python 3.7.4 with Intel 18.0.3.222 on Cray CNL5. The patch successfully applies to Python 3.6.7-3.6.8, 3.7.1-3.7.4, and 3.8.0 release tarballs. We may want to backport this to Python 3.6 if it's still supported. I believe this bug was likely introduced in Python 3.6.7, 3.7.1, and 3.8.0. Thanks for your help @vstinner! |
That's unrelated to https://bugs.python.org/issue37415 https://bugs.python.org/issue37415 is only about a compilation failure when using ICC. |
|
Thanks @vstinner for the PR 🌮🎉.. I'm working now to backport this PR to: 3.7, 3.8. |
|
I'm having trouble backporting to |
|
GH-16892 is a backport of this pull request to the 3.7 branch. |
) Fix stdatomic.h header check for ICC compiler: the ICC implementation lacks atomic_uintptr_t type which is needed by Python. Test: * atomic_int and atomic_uintptr_t types * atomic_load_explicit() and atomic_store_explicit() * memory_order_relaxed and memory_order_seq_cst constants But don't test ATOMIC_VAR_INIT(): it's not used in Python. (cherry picked from commit 028f734) Co-authored-by: Victor Stinner <[email protected]>
|
Thanks @vstinner for the PR 🌮🎉.. I'm working now to backport this PR to: 3.8. |
) Fix stdatomic.h header check for ICC compiler: the ICC implementation lacks atomic_uintptr_t type which is needed by Python. Test: * atomic_int and atomic_uintptr_t types * atomic_load_explicit() and atomic_store_explicit() * memory_order_relaxed and memory_order_seq_cst constants But don't test ATOMIC_VAR_INIT(): it's not used in Python. (cherry picked from commit 028f734) Co-authored-by: Victor Stinner <[email protected]>
|
GH-16893 is a backport of this pull request to the 3.8 branch. |
Fix stdatomic.h header check for ICC compiler: the ICC implementation lacks atomic_uintptr_t type which is needed by Python. Test: * atomic_int and atomic_uintptr_t types * atomic_load_explicit() and atomic_store_explicit() * memory_order_relaxed and memory_order_seq_cst constants But don't test ATOMIC_VAR_INIT(): it's not used in Python. (cherry picked from commit 028f734) Co-authored-by: Victor Stinner <[email protected]>
Fix stdatomic.h header check for ICC compiler: the ICC implementation lacks atomic_uintptr_t type which is needed by Python. Test: * atomic_int and atomic_uintptr_t types * atomic_load_explicit() and atomic_store_explicit() * memory_order_relaxed and memory_order_seq_cst constants But don't test ATOMIC_VAR_INIT(): it's not used in Python. (cherry picked from commit 028f734) Co-authored-by: Victor Stinner <[email protected]>
) Fix stdatomic.h header check for ICC compiler: the ICC implementation lacks atomic_uintptr_t type which is needed by Python. Test: * atomic_int and atomic_uintptr_t types * atomic_load_explicit() and atomic_store_explicit() * memory_order_relaxed and memory_order_seq_cst constants But don't test ATOMIC_VAR_INIT(): it's not used in Python.
) Fix stdatomic.h header check for ICC compiler: the ICC implementation lacks atomic_uintptr_t type which is needed by Python. Test: * atomic_int and atomic_uintptr_t types * atomic_load_explicit() and atomic_store_explicit() * memory_order_relaxed and memory_order_seq_cst constants But don't test ATOMIC_VAR_INIT(): it's not used in Python.
Fix stdatomic.h header check for ICC compiler: the ICC implementation
lacks atomic_uintptr_t type which is needed by Python.
https://bugs.python.org/issue37415