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

Require C 11 or even C 1y #407

Closed
TinoDidriksen opened this issue Oct 4, 2018 · 5 comments
Closed

Require C 11 or even C 1y #407

TinoDidriksen opened this issue Oct 4, 2018 · 5 comments

Comments

@TinoDidriksen
Copy link
Member

I only just noticed 318fdb5 and I strongly object to it.

What platform is that desired for? I see that the #ifdef references _MSC_VER but that's wrong - the freely available version of Visual Studio supports much newer standards, even going back a few releases. And the new compilers can target older platforms.

For comparison, hfst-ospell, Apertium and CG-3 all require C 1y (pre-standard C 14).

@eaxelson
Copy link
Member

eaxelson commented Oct 4, 2018

Generating binary wheels for Mac requires OS X version 10.6 which doesn't support c 11. I don't remember exactly why 10.6 was required. I think pip didn't accept packages that used 10.7 and started to compile everything from scratch. Also, compiling binary wheels for python 2 for Windows requires using a c compiler that doesn't support c 11. (Although I'm not sure if we need to support python 2.) I couldn't find a solution to this problem so I decided just to write an alternative implementation for those places in code where c 11 features were used.

@TinoDidriksen
Copy link
Member Author

Ergh. I think it's time to drop Python 2 support then. As https://pythonclock.org/ says, Python 2.7 will not be maintained past January 1st, 2020.

@eaxelson
Copy link
Member

eaxelson commented Oct 4, 2018

Ah, well I guess that solves the problem with python 2 support for Windows then. But the issue of generating binary wheels for Mac is still there. (OS X version 10.6 is required for all versions of python.)

@TinoDidriksen
Copy link
Member Author

Google hits show other people using C 11 with Python3 on macOS. And it wouldn't make sense for C 11 to be a problem, given Python's API is C.

The only issue I can find is https://docs.brew.sh/C -Standard-Libraries which only matters for installations upgraded through the years - fresh installs link against the C 11-capable libc .

@eaxelson
Copy link
Member

eaxelson commented Oct 5, 2018

Now that I try to install the bindings on Mac with python 3.6, everything seems to work when c 11 is used (and OS X 10.7 is required in the wheel). Last time I tried, pip refused to install the wheel. Maybe it was the old pypi server or old version of pip.

TinoDidriksen added a commit that referenced this issue Aug 28, 2024
…closes #358) and this means we require exactly C  17 (closes #407, issue #580).

Undo PR from issue #579 as it broke the 32 bit build and is no longer necessary.

Proper get_current_dir_name detection.

Tested that everything still builds on Linux, macOS, and MinGW.
TinoDidriksen added a commit that referenced this issue Aug 28, 2024
…closes #358) and this means we require exactly C  17 (closes #407, issue #580).

Undo PR from issue #579 as it broke the 32 bit build and is no longer necessary.

Proper get_current_dir_name detection.

Remove timestamp from the build.

Tested that everything still builds on Linux, macOS, and MinGW.
TinoDidriksen added a commit that referenced this issue Aug 28, 2024
…closes #358) and this means we require exactly C  17 (closes #407, issue #580).

Undo PR from issue #579 as it broke the 32 bit build and is no longer necessary.

Proper get_current_dir_name detection.

Remove timestamp from the build.

Tested that everything still builds on Linux, macOS, and MinGW.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants