Bret McGuire created CASSPYTHON-5:
-------------------------------------
Summary: Win32 wheels do not include compiled libev modules
Key: CASSPYTHON-5
URL: https://issues.apache.org/jira/browse/CASSPYTHON-5
Project: Apache Cassandra Python driver
Issue Type: Bug
Reporter: Bret McGuire
Noticed while working on CASSPYTHON-3. Seems like it stems from a compilation
issue on 32-bit platforms:
{noformat}
building 'cassandra.io.libevwrapper' extension
creating build\temp.win32-cpython-39\Release\cassandra\io
"C:\Program Files\Microsoft Visual
Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\bin\HostX86\x86\cl.exe" /c
/nologo /O2 /W3 /GL /DNDEBUG /MD
-IC:\vcpkg\packages\libev_x64-windows\include\libev
-IC:\Users\runneradmin\AppData\Local\Temp\build-env-e3vm6q30\include
-IC:\Users\runneradmin\AppData\Local\pypa\cibuildwheel\Cache\nuget-cpython\pythonx86.3.9.13\tools\include
-IC:\Users\runneradmin\AppData\Local\pypa\cibuildwheel\Cache\nuget-cpython\pythonx86.3.9.13\tools\Include
"-IC:\Program Files\Microsoft Visual
Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include" "-IC:\Program
Files\Microsoft Visual
Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\ATLMFC\include" "-IC:\Program
Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\VS\include"
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt"
"-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\um"
"-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\shared"
"-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\winrt"
"-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.26100.0\\cppwinrt"
"-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um"
/Tccassandra/io/libevwrapper.c
/Fobuild\temp.win32-cpython-39\Release\cassandra\io\libevwrapper.obj
libevwrapper.c
"C:\Program Files\Microsoft Visual
Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\bin\HostX86\x86\link.exe"
/nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO
/LIBPATH:C:\vcpkg\packages\libev_x64-windows\lib
/LIBPATH:C:\Users\runneradmin\AppData\Local\Temp\build-env-e3vm6q30\libs
/LIBPATH:C:\Users\runneradmin\AppData\Local\pypa\cibuildwheel\Cache\nuget-cpython\pythonx86.3.9.13\tools\libs
/LIBPATH:C:\Users\runneradmin\AppData\Local\pypa\cibuildwheel\Cache\nuget-cpython\pythonx86.3.9.13\tools
/LIBPATH:C:\Users\runneradmin\AppData\Local\Temp\build-env-e3vm6q30\PCbuild\win32
"/LIBPATH:C:\Program Files\Microsoft Visual
Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\ATLMFC\lib\x86"
"/LIBPATH:C:\Program Files\Microsoft Visual
Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\lib\x86" "/LIBPATH:C:\Program
Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x86" "/LIBPATH:C:\Program Files
(x86)\Windows Kits\10\lib\10.0.26100.0\ucrt\x86" "/LIBPATH:C:\Program Files
(x86)\Windows Kits\10\\lib\10.0.26100.0\\um\x86" ev.lib
/EXPORT:PyInit_libevwrapper
build\temp.win32-cpython-39\Release\cassandra\io\libevwrapper.obj
/OUT:build\lib.win32-cpython-39\cassandra\io\libevwrapper.cp39-win32.pyd
/IMPLIB:build\temp.win32-cpython-39\Release\cassandra\io\libevwrapper.cp39-win32.lib
Creating library
build\temp.win32-cpython-39\Release\cassandra\io\libevwrapper.cp39-win32.lib
and object
build\temp.win32-cpython-39\Release\cassandra\io\libevwrapper.cp39-win32.exp
libevwrapper.obj : error LNK2001: unresolved external symbol _ev_io_stop
libevwrapper.obj : error LNK2001: unresolved external symbol _ev_prepare_start
libevwrapper.obj : error LNK2001: unresolved external symbol _ev_io_start
libevwrapper.obj : error LNK2001: unresolved external symbol _ev_loop_destroy
libevwrapper.obj : error LNK2001: unresolved external symbol _ev_loop_new
libevwrapper.obj : error LNK2001: unresolved external symbol _ev_timer_again
libevwrapper.obj : error LNK2001: unresolved external symbol _ev_run
libevwrapper.obj : error LNK2001: unresolved external symbol _ev_async_start
libevwrapper.obj : error LNK2001: unresolved external symbol _ev_prepare_stop
libevwrapper.obj : error LNK2001: unresolved external symbol _ev_async_send
libevwrapper.obj : error LNK2001: unresolved external symbol _ev_unref
libevwrapper.obj : error LNK2001: unresolved external symbol _ev_timer_stop
build\lib.win32-cpython-39\cassandra\io\libevwrapper.cp39-win32.pyd : fatal
error LNK1120: 12 unresolved externals
error: command 'C:\\Program Files\\Microsoft Visual
Studio\\2022\\Enterprise\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX86\\x86\\link.exe'
failed with exit code 1120
ERROR Backend subprocess exited when trying to invoke build_wheel
Error: cibuildwheel: Command
['C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-k3x8x9gw\\cp39-win32\\build\\venv\\Scripts\\python.EXE',
'-m', 'build',
'D:\\a\\python-driver-wheels\\python-driver-wheels\\python-driver', '--wheel',
'--outdir=C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-k3x8x9gw\\cp39-win32\\built_wheel']
failed with code 1. {noformat}
These errors don't appear on the 64-bit builds for the same Windows platform.
This is against libev 4.33; I haven't looked at this specific issue on the lib
but my guess is there's limited 32-bit support there.
Note that this has been the case for a while; the wheels for 3.29.3 also suffer
from the same problem:
{noformat}
% unzip -l cassandra_driver-3.29.3-cp312-cp312-win32.whl| grep -i libev
13260 10-22-2025 00:04 cassandra/io/libevreactor.py
23056 10-22-2025 00:04 cassandra/io/libevwrapper.c
% unzip -l cassandra_driver-3.29.3-cp312-cp312-win_amd64.whl| grep -i libev
13260 10-22-2025 00:04 cassandra/io/libevreactor.py
23056 10-22-2025 00:04 cassandra/io/libevwrapper.c
18944 10-22-2025 00:15
cassandra/io/libevwrapper.cp312-win_amd64.pyd{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]