I am trying to use the bdist_msi distribution build option from the latest sources because I need to do a silent install of the win32 extensions for python 2.7. However, when I try to compile, I get the following error:
c:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DDISTUTILS_BUILD -D_CRT_SECURE_NO_WARNINGS -Icom/win32com/src/include -Iwin32/src -Ic:\Python27\include -Ic:\Python27\PC "-IC:\Program Files\Microsoft SDKs\Windows\v6.0A\include" /Tpwin32\src\perfmon\perfmondata.cpp /Fobuild\temp.win32-2.7\Release\win32\src\perfmon\perfmondata.obj /Zi /Fdbuild\temp.win32-2.7\Release\perfmondata_vc.pdb /EHsc /DMFC_OCC_IMPL_H=\"..\src\occimpl.h\" /DUNICODE /D_UNICODE /DWINNT
perfmondata.cpp
win32\src\perfmon\perfmondata.cpp(11) : fatal error C1083: Cannot open include file: 'perfutil.h': No such file or directory
error: command '"c:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe"' failed with exit status 2
As far as I can tell, I am up to date on VS2008 patches, so what is going on here, and how do I fix it?
(full build log attached.)
Thanks in advance,
/Will Sadkin
Parlance Corporation
It works for me using Visual Studio 2008 Pro together with the Windows SDK for Windows 7 and .NET Framework 3.5 SP1 http://www.microsoft.com/en-us/download/details.aspx?id=3138.
I downloaded and installed the above SDK, but it made no difference. But it turns out that the missing .h file is not a Microsoft thing, but (at least used to be) a pywin32 thing. Looking at the version 217 sources, this file used to live in the win32\src\PerfMon subdirectory of the pywin32 sources, but is no longer present in the distribution pywin32-218.zip file. Could someone either fix the source .zip or fix the source so that perfmondata.cpp doesn't try include it if it's no longer required?
Thanks,
/Will Sadkin
It doesn't seem to be unneeded. I have the same problem and it seems the file (+yPerfMonControl.h) is needed even though they are missing... I'll try to build it by using old versions of the files.
EDIT:
I copied these from 217 to 218 since they where missing:
[win32/src]
./PerfMon/perfutil.h
./PerfMon/pyperfmon.h
./PerfMon/PyPerfMonControl.h
./win32net/win32net.h
./win32wnet/Netres.h
./win32wnet/PyNCB.h
[com/src]
./include/*.h (except PythonCOM.h, PythonCOMRegister.h and PythonCOMServer.h)
after that I got error message about duplicate definition. That means that part of the files have really been deleted on purpose. However since the .c files have not been cleaned accordingly (and I doubt they'd delete this many header files anyways) we can just deduce that 218 is broken at this moment...
Better to just use 217 for now...
EDIT2:
Yeah, 217 is working perfectly.
Last edit: Kristian Mört 2013-06-25