[ 
https://issues.apache.org/jira/browse/PROTON-2458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Stitcher reassigned PROTON-2458:
---------------------------------------

    Assignee: Andrew Stitcher

> 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
>            Assignee: Andrew Stitcher
>            Priority: Major
>
> 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