classification
Title: Support for C++ 11 and/or C++ 14 in python.org installer
Type: enhancement Stage:
Components: Build, Installation, macOS Versions: Python 3.8, Python 3.7, Python 3.6
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: hardkrash, ned.deily, ronaldoussoren
Priority: normal Keywords:

Created on 2017-10-10 18:51 by hardkrash, last changed 2017-10-11 13:17 by ned.deily.

Messages (4)
msg304068 - (view) Author: steven Michalske (hardkrash) Date: 2017-10-10 18:51
We are using some compiled cython modules with c++ 11 features.
This prohibits us from instructing users to install python from the python.org download.

Please consider using clang with support for C++ 11 and higher.
This would move the minimum OS X version away from 10.6 but as 10.6 is 8 years old and phased out 6 years ago it should be rare that non technical users would be using this OS version.
msg304085 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2017-10-10 21:39
Can you give a test case demonstrating what is not working?  The Python interpreters installed with python.org 10.6+ installers are built to work with all versions of macOS from 10.6 on and should be able to build extension modules with either gcc or clang as provided by the Xcode or Command Line Tools appropriate for the macOS version in use.  And, AFAIK, Python itself has no dependency on C++ at all so there should not be a c++ runtime library conflict due to Python itself.  Although the initial value of the configuration variables are CC=gcc-4.2 and GXX=g++-4.2, when the first compilation of an extension module is attempted, Distutils via Lib/_osx_support.py will do some work to figure out what compilers are available and modify CC and CXX accordingly.  So, for example, on say a macOS 10.13 system with the default Command Line Tools, it should use gcc and g++ which are both aliases for clang.  And, if necessary, you can always override the default compiler selection by explicitly setting the CC and/or CXX environment variables when invoking python.  At least that's how it's supposed to work!
msg304098 - (view) Author: steven Michalske (hardkrash) Date: 2017-10-11 01:45
This might be a cython issue then, but I will dig into an example case.  Please be patient.
msg304130 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2017-10-11 13:17
No rush!  And I didn't mean to imply that how the macOS installers are built is perfect or updates shouldn't be considered.  But we should understand what the issue here is, independent of potential changes.
History
Date User Action Args
2017-10-11 13:17:18ned.deilysetmessages: + msg304130
2017-10-11 01:45:27hardkrashsetmessages: + msg304098
2017-10-10 21:39:29ned.deilysetmessages: + msg304085
2017-10-10 18:51:16hardkrashcreate