AlenkaF commented on issue #47308:
URL: https://github.com/apache/arrow/issues/47308#issuecomment-3188459064

   I have built PyArrow on a Windows machine and cannot reproduce the failure. 
I should have used the same MSVC, flags and Python version. The main difference 
I see is in the include paths.
   
   Locally, the `ucrt`, `um`, `shared`, and other Windows Kits directories are 
present. But in the CI, these are missing — only `...\include` folders appear.
   
   <details> <summary><strong>Local build output</strong></summary>
   
   ```
   (pyarrow-dev) C:\Users\Public\Repositories\arrow\python>python -m pytest 
pyarrow/tests/test_cython.py -k test_cython_api -s
   Package "tzdata" not found. Not setting TZDIR environment variable.
   ============================================ test session starts 
============================================
   platform win32 -- Python 3.12.11, pytest-8.4.1, pluggy-1.6.0
   rootdir: C:\Users\Public\Repositories\arrow\python
   configfile: setup.cfg
   plugins: hypothesis-6.138.0
   collected 2 items / 1 deselected / 1 selected
   
   pyarrow\tests\test_cython.py Compiling pyarrow_cython_example.pyx because it 
changed.
   [1/1] Cythonizing pyarrow_cython_example.pyx
   Extension module: <setuptools.extension.Extension('pyarrow_cython_example') 
at 0x2a89e690d40> 
['C:\\Users\\Inti\\.conda\\envs\\pyarrow-dev\\Lib\\site-packages\\numpy\\_core\\include',
 'C:\\Users\\Public\\Repositories\\arrow\\python\\pyarrow\\include'] 
['arrow_python', 'arrow'] 
['C:\\Users\\Public\\Repositories\\arrow\\python\\pyarrow', 
'C:/Users/Inti/.conda/envs/pyarrow-dev/Library/lib', 
'C:\\Users\\Inti\\.conda\\envs\\pyarrow-dev\\Library\\lib']
   running build_ext
   building 'pyarrow_cython_example' extension
   creating build\temp.win-amd64-cpython-312\Release
   "C:\Program Files (x86)\Microsoft Visual 
Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\bin\HostX86\x64\cl.exe" /c 
/nologo /O2 /W3 /GL /DNDEBUG /MD 
-IC:\Users\Inti\.conda\envs\pyarrow-dev\Lib\site-packages\numpy\_core\include 
-IC:\Users\Public\Repositories\arrow\python\pyarrow\include 
-IC:\Users\Inti\.conda\envs\pyarrow-dev\include 
-IC:\Users\Inti\.conda\envs\pyarrow-dev\Include "-IC:\Program Files 
(x86)\Microsoft Visual 
Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\include" "-IC:\Program Files 
(x86)\Microsoft Visual Studio\2022\BuildTools\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)\Microsoft Visual Studio\2022\BuildT
 ools\VC\Tools\MSVC\14.44.35207\include" "-IC:\Program Files (x86)\Microsoft 
Visual Studio\2022\BuildTools\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" /EHsc 
/Tppyarrow_cython_example.cpp 
/Fobuild\temp.win-amd64-cpython-312\Release\pyarrow_cython_example.obj 
-D_ENABLE_EXTENDED_ALIGNED_STORAGE /std:c++17
   pyarrow_cython_example.cpp
   pyarrow_cython_example.cpp(13990): warning C4551: function call missing 
argument list
   pyarrow_cython_example.cpp(13997): warning C4551: function call missing 
argument list
   creating 
C:\Users\Inti\AppData\Local\Temp\pytest-of-Inti\pytest-1\test_cython_api0\build\lib.win-amd64-cpython-312
   "C:\Program Files (x86)\Microsoft Visual 
Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\bin\HostX86\x64\link.exe" 
/nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO 
/LIBPATH:C:\Users\Public\Repositories\arrow\python\pyarrow 
/LIBPATH:C:/Users/Inti/.conda/envs/pyarrow-dev/Library/lib 
/LIBPATH:C:\Users\Inti\.conda\envs\pyarrow-dev\Library\lib 
/LIBPATH:C:\Users\Inti\.conda\envs\pyarrow-dev\libs 
/LIBPATH:C:\Users\Inti\.conda\envs\pyarrow-dev 
/LIBPATH:C:\Users\Inti\.conda\envs\pyarrow-dev\PCbuild\amd64 
"/LIBPATH:C:\Program Files (x86)\Microsoft Visual 
Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\lib\x64" "/LIBPATH:C:\Program 
Files (x86)\Windows Kits\10\lib\10.0.26100.0\ucrt\x64" "/LIBPATH:C:\Program 
Files (x86)\Windows Kits\10\\lib\10.0.26100.0\\um\x64" "/LIBPATH:C:\Program 
Files (x86)\Microsoft Visual 
Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\lib\x64" "/LIBPATH:C:\Program 
Files (x86)\Windows Kits\10\lib\10.0.26100.0\ucrt\x64" "/LIBPATH:C:\Program 
Files
  (x86)\Windows Kits\10\\lib\10.0.26100.0\\um\x64" arrow_python.lib arrow.lib 
/EXPORT:PyInit_pyarrow_cython_example 
build\temp.win-amd64-cpython-312\Release\pyarrow_cython_example.obj 
/OUT:build\lib.win-amd64-cpython-312\pyarrow_cython_example.cp312-win_amd64.pyd 
/IMPLIB:build\temp.win-amd64-cpython-312\Release\pyarrow_cython_example.cp312-win_amd64.lib
      Creating library 
build\temp.win-amd64-cpython-312\Release\pyarrow_cython_example.cp312-win_amd64.lib
 and object 
build\temp.win-amd64-cpython-312\Release\pyarrow_cython_example.cp312-win_amd64.exp
   Generating code
   Finished generating code
   copying 
build\lib.win-amd64-cpython-312\pyarrow_cython_example.cp312-win_amd64.pyd ->
   .
   
   ====================================== 1 passed, 1 deselected in 9.80s 
======================================
   ```
   
   </details>
   
   <details> <summary><strong>CI build output</strong></summary>
   
   ```
   "C:\Program Files (x86)\Microsoft Visual 
Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\bin\HostX86\x64\cl.exe" /c 
/nologo /O2 /W3 /GL /DNDEBUG /MD 
-IC:\Python312\Lib\site-packages\numpy\core\include 
-IC:\Python312\Lib\site-packages\pyarrow\include -IC:\Python312\include 
-IC:\Python312\Include "-IC:\Program Files (x86)\Microsoft Visual 
Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\include" "-IC:\Program Files 
(x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" /EHsc 
/Tppyarrow_cython_example.cpp 
/Fobuild\temp.win-amd64-cpython-312\Release\pyarrow_cython_example.obj 
-D_ENABLE_EXTENDED_ALIGNED_STORAGE /std:c++17
   
   pyarrow_cython_example.cpp
   
   C:\Python312\include\pyconfig.h(59): fatal error C1083: Cannot open include 
file: 'io.h': No such file or directory
   ```
   
   </details>
   
   This would suggests a problem with the Visual Studio environment on the CI— 
likely the Windows SDK is missing or not configured properly.
   
   See:
   - [discuss.python.org: Where is io.h file used as an include in pyconfig.h 
(Python 
3.12)](https://discuss.python.org/t/where-is-io-h-file-used-as-an-include-in-pyconfig-h-python-3-12/38578)
   - [Microsoft Q&A: io.h not 
found](https://learn.microsoft.com/en-us/answers/questions/1386273/io-h-not-found)
   
   Interestingly, C++ and PyArrow build successfully, but the Cython test 
fails, which is unexpected. Currently the only idea I have is to skip tests in 
case the header files are not found/Windows SDK is not installed.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to