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]

Reply via email to