Jiri Daněk created PROTON-2458:
----------------------------------
Summary: Python Qpid Proton won't compile on Windows with Python
3.10
Key: PROTON-2458
URL: https://issues.apache.org/jira/browse/PROTON-2458
Project: Qpid Proton
Issue Type: Bug
Components: python-binding
Affects Versions: proton-c-0.36.0
Reporter: Jiri Daněk
https://github.com/jiridanek/qpid-proton/runs/4127177911?check_suite_focus=true#step:11:548
This is main branch with one extra commit that changes Python version in GitHub
Actions to 3.10. Note that in Yaml it is necessary to quote the 3.10, otherwise
you end up passing a float of 3.1.
{noformat}
cproton_wrap.c
D:\a\qpid-proton\qpid-proton\BLD\python\dist\include\proton/object.h(242):
error C2061: syntax error: identifier 'pn_list_index'
[D:\a\qpid-proton\qpid-proton\BLD\python\py_pkg_wheel.vcxproj]
D:\a\qpid-proton\qpid-proton\BLD\python\dist\include\proton/object.h(242):
error C2059: syntax error: ';'
[D:\a\qpid-proton\qpid-proton\BLD\python\py_pkg_wheel.vcxproj]
D:\a\qpid-proton\qpid-proton\BLD\python\dist\include\proton/object.h(242):
error C2059: syntax error: '<parameter-list>'
[D:\a\qpid-proton\qpid-proton\BLD\python\py_pkg_wheel.vcxproj]
D:\a\qpid-proton\qpid-proton\BLD\python\dist\include\proton/object.h(280):
error C2061: syntax error: identifier 'pn_string_put'
[D:\a\qpid-proton\qpid-proton\BLD\python\py_pkg_wheel.vcxproj]
{noformat}
It looks that Python header file stopped defining {{ssize_t}} alias on Windows.
The Proton headers have a special case for the define that assumes Python will
define it.
{code}
# ifndef PNI_DEFINE_SSIZE_T
/* ssize_t def is needed, unless third party definition interferes, e.g.
python/swig */
# ifndef Py_CONFIG_H
# define PNI_DEFINE_SSIZE_T
# endif
# endif
{code}
On the Python side, see https://bugs.python.org/issue11717 and
https://github.com/python/cpython/pull/24479
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]