#647 version 218 compilation error

v1.0 (example)
William Sadkin

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
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

1 Attachments


  • William Sadkin
    William Sadkin

    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?

    /Will Sadkin

  • Kristian Mört
    Kristian Mört

    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.

    I copied these from 217 to 218 since they where missing:


    ./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...

    Yeah, 217 is working perfectly.

    Last edit: Kristian Mört 2013-06-25