-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
absl/base/dynamic_annotations.h conflict with Python3.4 Python.h header #235
Comments
It might be worth pointing out that Python3.4 will reach its end of life in 2019-03-16. |
And Ubuntu 14.04.5 LTS which is based on, end of life in April 2019 |
This issue is also essentially a duplicate of #122. Am I correct in inferring that this is only an issue in Python 3.4 and not an issue in later versions? |
Unfortunately no. I've just finished bisecting the CPython history. The patch that allows abseil and CPython to cooperate wasn't present until Python 3.5.1rc1. The specific CPython commit that allowed everything to work is python/cpython@6df29ad and is referring to a seemingly unrelated bug. |
I would say yes, since the current official Python 3.5 is 3.5.6 Also using the "official" manylinux docker image, I manage to compile against the python note: Ubuntu Xenial 16.04 LTS python3 package is based on python3.5.1 see https://packages.ubuntu.com/xenial/python3-dev i.e. it should include the patch of the 3.5.1rc1 |
So the only way for someone to get 3.5.0 is to use pyenv and specifically request for either For our project, we did have a user who requested
Yes, Ubuntu 16.04 python3 works already. |
Shouldn't |
Whether it should is one thing, but what actually happens is that asking |
Hey there everyone! Sorry for the delay, I've been on vacation and nobody else has picked this up. Question about the end of life dates -- are these deadlines for us to push a fix or dates after which we shouldn't care about this bug? Or maybe both? I'm unfamiliar with the Ubuntu and Python support policies, but a quick look through suggests that this is an end-of-support date for Python 3.4. Given the potential magnitude of the fix for this bug, it seems to me like the best solution is to wait for the bad version of Python to sunset and maybe try to provide a warning somewhere. Any thoughts on this? |
The dates, 2019-03-16 for Python and 2019-04-XX for Ubuntu 14.04, is when they reach end of life. Ubuntu 14.04 is relevant, because it's the Ubuntu long term support with Python 3.4 as default Python 3. After Python 3.4 reaches end of life, the only stable version of Python affected will be 3.5.0, as 3.5.1 already has a patch that solves this problem. |
This seems to perform no worse on small benchmarks, and considerably better on some larger ones. Ideally we'd use absl::flat_hash_{map,set} but those don't compile with the python3.4 Python.h header. This bug is tracked in abseil/abseil-cpp#235 PiperOrigin-RevId: 239280970
For the record, it's May 2019. Python 3.4 reached end of life as well as Ubuntu 14.04. The only way for someone to hit this problem is if that someone installs 3.5.0 explicitly. |
When building google/or-tools python package (using SWIG and abseil-cpp as deps) for Python 3.4
it can't compile since
absl/base/dynamic_annotations.h
conflict with Python 3.4 symbols:abseil-cpp/absl/base/dynamic_annotations.h
Lines 253 to 256 in 111ca70
CPython 3.4: Python/dynamic_annotations.c:
src: https://github.com/python/cpython/blob/e42b705188271da108de42b55d9344642170aa2b/Python/dynamic_annotations.c#L96-L99
here a trace in our docker jobs
note:
Trusty
)python3-dev
package point to python 3.4see: https://help.github.com/articles/closing-issues-using-keywords/
The text was updated successfully, but these errors were encountered: