Hi!

So I'm having trouble rebuilding pywin32. It seems like the Windows 10 SDK is 
different from what is expected by the latest version of pywin32. Is that 
correct? Should I just attempt to fix it myself, or is there something obvious 
I'm doing wrong? Here's what happens if I build normally.

Found version 0xa00 in C:\Program Files (x86)\Windows 
Kits\10\include\10.0.10586.0\shared\SDKDDKVER.H
setup.py:1207: ResourceWarning: unclosed file <_io.TextIOWrapper 
name='C:\\Program Files (x86)\\Windows 
Kits\\10\\include\\10.0.10586.0\\shared\\SDKDDKVER.H' mode='r' 
encoding='cp1252'>
  why = self._why_cant_build_extension(ext)
building 'win32job' extension
swigging win32/src/win32job.i to win32/src/win32job_swig.cpp
D:\projects\ctg\python3\ctg\src\vendor\PythonExtensions\pywin32\swig\swig.exe 
-python -c++ -dnone -DSWIG_PY64BIT -o 
D:\projects\ctg\python3\ctg\src\vendor\PythonExtensions\pywin32\win32\src\win32job_swig.cpp
 
D:\projects\ctg\python3\ctg\src\vendor\PythonExtensions\pywin32\win32\src\win32job.i
Generating wrappers for Python
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\cl.exe /c 
/nologo /Od /MDd /W3 /GS- /Z7 /D_DEBUG -DDISTUTILS_BUILD 
-D_CRT_SECURE_NO_WARNINGS -Icom/win32com/src/include -Iwin32/src 
-Id:\projects\ctg\python3\ctg\publish\python\include 
-Id:\projects\ctg\python3\ctg\publish\python\include 
/TpD:\projects\ctg\python3\ctg\src\vendor\PythonExtensions\pywin32\win32\src\win32job_swig.cpp
 /Fobuild\temp.win-amd64-3.5-pydebug\Debug\win32/src/win32job_swig.obj 
/Fdbuild\temp.win-amd64-3.5-pydebug\Debug\win32job_vc.pdb /EHsc /DUNICODE 
/D_UNICODE /DWINNT
win32job_swig.cpp
D:\projects\ctg\python3\ctg\src\vendor\PythonExtensions\pywin32\win32\src\win32job_swig.cpp(1247):
 error C2065: 'JOB_OBJECT_RESERVED_LIMIT_VALID_FLAGS': undeclared identifier
D:\projects\ctg\python3\ctg\src\vendor\PythonExtensions\pywin32\win32\src\win32job_swig.cpp(1247):
 error C2660: 'PyDict_SetItemString': function does not take 2 arguments
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 
14.0\\VC\\BIN\\amd64\\cl.exe' failed with exit status 2xc

If I delete the following line (462) from win32job.i, I can get a fair bit 
further:
#define JOB_OBJECT_RESERVED_LIMIT_VALID_FLAGS 
JOB_OBJECT_RESERVED_LIMIT_VALID_FLAGS

Then, I get a bunch of errors that look like this:

building 'axdebug' extension
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\cl.exe /c 
/nologo /Od /W3 /GS- /Z7 /D_DEBUG /MDd -DDISTUTILS_BUILD 
-D_CRT_SECURE_NO_WARNINGS -Icom/win32com/src/include -Iwin32/src 
-Id:\projects\ctg\python3\ctg\publish\python\include 
-Id:\projects\ctg\python3\ctg\publish\python\include 
/TpD:\projects\ctg\python3\ctg\src\vendor\PythonExtensions\pywin32\com\win32comext\axdebug\src\AXDebug.cpp
 
/Fobuild\temp.win-amd64-3.5-pydebug\Debug\com/win32comext/axdebug/src/AXDebug.obj
 /Fpbuild\temp.win-amd64-3.5-pydebug\Debug\axdebug.pch 
/Fdbuild\temp.win-amd64-3.5-pydebug\Debug\axdebug_vc.pdb /EHsc /DUNICODE 
/D_UNICODE /DWINNT
AXDebug.cpp
d:\projects\ctg\python3\ctg\src\vendor\pythonextensions\pywin32\com\win32comext\axdebug\src\stdafx.h(32):
 error C2365: 'DBGPROP_ATTRIB_NO_ATTRIB': redefinition; previous definition was 
'enumerator'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10586.0\um\dbgprop.h(137): 
note: see declaration of 'DBGPROP_ATTRIB_NO_ATTRIB'
d:\projects\ctg\python3\ctg\src\vendor\pythonextensions\pywin32\com\win32comext\axdebug\src\stdafx.h(33):
 error C2365: 'DBGPROP_ATTRIB_VALUE_IS_INVALID': redefinition; previous 
definition was 'enumerator'

If I go into com/win32comext/AXDebug/src/stdafx.h, and change line 29 from:

#if defined(__REQUIRED_RPCNDR_H_VERSION__)
To
#if 0

Then I can get even further. But then it dies again later, complaining about 
undefined symbols. I can fix that by going to line 369 of AXDebug.cpp, and 
changing them from this:
                ADD_CONSTANT(EX_DBGPROP_INFO_ID); // @const 
axdebug|EX_DBGPROP_INFO_ID|
                ADD_CONSTANT(EX_DBGPROP_INFO_NTYPE); // @const 
axdebug|EX_DBGPROP_INFO_NTYPE|
                ADD_CONSTANT(EX_DBGPROP_INFO_NVALUE); // @const 
axdebug|EX_DBGPROP_INFO_NVALUE|
                ADD_CONSTANT(EX_DBGPROP_INFO_LOCKBYTES); // @const 
axdebug|EX_DBGPROP_INFO_LOCKBYTES|
                ADD_CONSTANT(EX_DBGPROP_INFO_DEBUGEXTPROP); // @const 
axdebug|EX_DBGPROP_INFO_DEBUGEXTPROP|
To this:
                ADD_CONSTANT(EX_PROP_INFO_ID); // @const 
axdebug|EX_PROP_INFO_ID|
                ADD_CONSTANT(EX_PROP_INFO_NTYPE); // @const 
axdebug|EX_PROP_INFO_NTYPE|
                ADD_CONSTANT(EX_PROP_INFO_NVALUE); // @const 
axdebug|EX_PROP_INFO_NVALUE|
                ADD_CONSTANT(EX_PROP_INFO_LOCKBYTES); // @const 
axdebug|EX_PROP_INFO_LOCKBYTES|
                ADD_CONSTANT(EX_PROP_INFO_DEBUGEXTPROP); // @const 
axdebug|EX_PROP_INFO_DEBUGEXTPROP|

Fixing that, it dies in linking axdebug. And at this point, I have to ask if 
I'm doing something wrong. We should be on the latest published version of 
pywin32, so I'm a bit surprised that I'm needing to fix all these compile 
errors. Is that expected?

Thanks for any assistance!

Chris


________________________________
This e-mail may contain CONFIDENTIAL AND PROPRIETARY INFORMATION and/or 
PRIVILEGED AND CONFIDENTIAL COMMUNICATION intended solely for the recipient 
and, therefore, may not be retransmitted to any party outside of the 
recipient's organization without the prior written consent of the sender. If 
you have received this e-mail in error please notify the sender immediately by 
telephone or reply e-mail and destroy the original message without making a 
copy. Deep Silver, Inc. accepts no liability for any losses or damages 
resulting from infected e-mail transmissions and viruses in e-mail attachments.
_______________________________________________
python-win32 mailing list
python-win32@python.org
https://mail.python.org/mailman/listinfo/python-win32

Reply via email to