Visitar URL original
Switch on "new" buffer API by shadchin · Pull Request #8339 · protocolbuffers/protobuf · GitHub
Skip to content

Switch on "new" buffer API - #8339

Merged
dlj-NaN merged 4 commits into
protocolbuffers:masterfrom
shadchin:fix_python_3_10
Mar 4, 2021
Merged

dlj-NaN merged 4 commits into
protocolbuffers:masterfrom
shadchin:fix_python_3_10

Conversation

@shadchin

Copy link
Copy Markdown
Contributor

"Old" buffer API will removed in Python 3.10. This is also fix #7930.

@google-cla

google-cla Bot commented Feb 24, 2021

Copy link
Copy Markdown

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please visit https://cla.developers.google.com/ to sign.

Once you've signed (or fixed any issues), please reply here with @googlebot I signed it! and we'll verify it.


What to do if you already signed the CLA

Individual signers
Corporate signers

ℹ️ Googlers: Go here for more info.

@google-cla google-cla Bot added the cla: no label Feb 24, 2021
@google-cla google-cla Bot added cla: yes and removed cla: no labels Feb 24, 2021
@shadchin shadchin changed the title Switch on "new" buffer API. Switch on "new" buffer API Feb 25, 2021
@shadchin

shadchin commented Mar 2, 2021

Copy link
Copy Markdown
Contributor Author

Can anyone watch this PR?

shadchin added 2 commits March 3, 2021 01:08
"Old" buffer API will removed in Python 3.10. This is also fix protocolbuffers#7930.
@shadchin

shadchin commented Mar 2, 2021

Copy link
Copy Markdown
Contributor Author

I fixed warning with deprecation PyEval_CallObject for Python 3.9

@acozzette Can you rerun tests, please?

@shadchin

shadchin commented Mar 2, 2021

Copy link
Copy Markdown
Contributor Author

Free bonus from switching on "new" buffer API:

  • add support memoryview for Python 2.7

@acozzette It looks like another restart is needed :)

@shadchin

shadchin commented Mar 3, 2021

Copy link
Copy Markdown
Contributor Author

@acozzette, I don't have access for Kokoro build failed.

Could you, please, help me to understand failure reasons?

@acozzette

Copy link
Copy Markdown
Collaborator

Here is the error message and the last few log lines before it:

py27-cpp run-test: commands[1] | python setup.py -q build --cpp_implementation --warnings_as_errors --compile_static_extension
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /tmp/protobuf/protobuf/python/.tox/py27-cpp/include/python2.7/Python.h:8,
                 from google/protobuf/pyext/descriptor_pool.cc:35:
/tmp/protobuf/protobuf/python/.tox/py27-cpp/include/python2.7/pyconfig.h:1223: error: "_POSIX_C_SOURCE" redefined [-Werror]
 #define _POSIX_C_SOURCE 200112L

In file included from /usr/include/x86_64-linux-gnu/c++/8/bits/os_defines.h:39,
                 from /usr/include/x86_64-linux-gnu/c++/8/bits/c++config.h:508,
                 from /usr/include/c++/8/type_traits:38,
                 from /usr/include/c++/8/unordered_map:38,
                 from google/protobuf/pyext/descriptor_pool.cc:33:
/usr/include/features.h:265: note: this is the location of the previous definition
 # define _POSIX_C_SOURCE 200809L

In file included from /tmp/protobuf/protobuf/python/.tox/py27-cpp/include/python2.7/Python.h:8,
                 from google/protobuf/pyext/descriptor_pool.cc:35:
/tmp/protobuf/protobuf/python/.tox/py27-cpp/include/python2.7/pyconfig.h:1245: error: "_XOPEN_SOURCE" redefined [-Werror]
 #define _XOPEN_SOURCE 600

In file included from /usr/include/x86_64-linux-gnu/c++/8/bits/os_defines.h:39,
                 from /usr/include/x86_64-linux-gnu/c++/8/bits/c++config.h:508,
                 from /usr/include/c++/8/type_traits:38,
                 from /usr/include/c++/8/unordered_map:38,
                 from google/protobuf/pyext/descriptor_pool.cc:33:
/usr/include/features.h:202: note: this is the location of the previous definition
 # define _XOPEN_SOURCE 700

cc1plus: all warnings being treated as errors
error: command 'gcc' failed with exit status 1
ERROR: InvocationError for command /tmp/protobuf/protobuf/python/.tox/py27-cpp/bin/python setup.py -q build --cpp_implementation --warnings_as_errors --compile_static_extension (exited with code 1)

@shadchin

shadchin commented Mar 4, 2021

Copy link
Copy Markdown
Contributor Author

These errors are not related to the change in this PR. It looks like something has changed in the build since October 1, 2020 #7927

I removed --warnings_as_errors for Python 2.7

@acozzette Can you rerun tests, please?

@dlj-NaN
dlj-NaN merged commit 87dd07b into protocolbuffers:master Mar 4, 2021
@shadchin
shadchin deleted the fix_python_3_10 branch March 5, 2021 03:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Compiler warnings when building for Python 3.7 and 3.8

4 participants