You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to use greenlet with Python 3.8 / 3.9 on Windows ARM64, but there is a compilation issue when I try building it using VS Studio 2017 / 2019:
src/greenlet/greenlet.c(353): fatal error C1189: #error: "greenlet needs to be ported to this platform, or taught how to detect your compiler properly."
The patch adds platform implementation for win32 llvm reusing
platform/switch_aarch64_gcc.h and fixes the stackref type to
int64_t, as long is considered to be 32bit by llvm-mingw.
The .pyd extension for greenlet can be manually built using:
https://github.com/mstorsjo/llvm-mingw.
How to set the env to build a working .pyd:
* Install mingw64 or mingw32
* Download the llvm-mingw binaries and add them to path
https://github.com/mstorsjo/llvm-mingw/releases
* Download a Python 3.9 build for ARM64 and unzip in greenlet/src/greenlet
https://github.com/ader1990/cpython-builder/actions/runs/377798403
How to build the .pyd using llvm-mingw:
* cd greenlet/src/greenlet
* aarch64-w64-mingw32-clang -c greenlet.c -o greenlet.o -I./cpython/include
* aarch64-w64-mingw32-clang -shared -o _greenlet.cp39-win_arm64.pyd greenlet.o -L./cpython/libs -l:python3.lib -l:python39.lib
Partially-fixes: python-greenlet#220
Hello,
I am trying to use greenlet with Python 3.8 / 3.9 on Windows ARM64, but there is a compilation issue when I try building it using VS Studio 2017 / 2019:
It seems there has to be a special switch implementation here for ARM64, but currently I do not know how to tackle it:
https://github.com/python-greenlet/greenlet/blob/master/src/greenlet/slp_platformselect.h#L8
Can anyone help me with some pointers for the win32 ARM64 switch?
Thank you,
Adrian
The text was updated successfully, but these errors were encountered: