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]

Reply via email to