[cmake-developers] [CMake 0015475]: Fails to build against external Expat 2.1.0 with Visual Studio 2013

Mantis Bug Tracker mantis at public.kitware.com
Wed Mar 25 20:29:17 EDT 2015


The following issue has been SUBMITTED. 
====================================================================== 
http://www.cmake.org/Bug/view.php?id=15475 
====================================================================== 
Reported By:                Daniel Schepler
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   15475
Category:                   CPack
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2015-03-25 17:29 PDT
Last Modified:              2015-03-25 17:29 PDT
====================================================================== 
Summary:                    Fails to build against external Expat 2.1.0 with
Visual Studio 2013
Description: 
When I try to build CMake 3.2.1 using external Expat 2.1.0 (and also external
ZLib 1.2.8) using Visual Studio 2013 (Express Edition), I get this error:

C:\tools\cygwin\home\dschepler\scalable-dev\scalable-3p\scalable-3p-cmake\Source
\CPack\WiX\cmWIXPatchParser.cxx(135) : error C2664: 'XML_Size XML_GetCurrentLine
Number(XML_Parser)' : cannot convert argument 1 from 'void *' to 'XML_Parser'
        Conversion from 'void*' to pointer to non-'void' requires an explicit ca
st
C:\tools\cygwin\home\dschepler\scalable-dev\scalable-3p\scalable-3p-cmake\Source
\CPack\WiX\cmWIXPatchParser.cxx(136) : error C2664: 'XML_Size XML_GetCurrentColu
mnNumber(XML_Parser)' : cannot convert argument 1 from 'void *' to 'XML_Parser'
        Conversion from 'void*' to pointer to non-'void' requires an explicit ca
st
C:\tools\cygwin\home\dschepler\scalable-dev\scalable-3p\scalable-3p-cmake\Source
\CPack\WiX\cmWIXPatchParser.cxx(137) : error C2660: 'cmWIXPatchParser::ReportErr
or' : function does not take 2 arguments
NMAKE : fatal error U1077: 'C:\PROGRA~2\MICROS~1.0\VC\bin\X86_AM~1\cl.exe' : ret
urn code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0
\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0
\VC\BIN\nmake.exe"' : return code '0x2'
Stop.

Steps to Reproduce: 
The command line I used to configure the build was:

cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE:STRING=Release
-DCMAKE_INSTALL_PREFIX:PATH=C:\tools\cygwin\home\dschepler\scalable-dev\scalable-3p\scalable-3p-cmake\image
-DCMAKE_USE_SYSTEM_EXPAT:BOOL=ON -DCMAKE_USE_SYSTEM_ZLIB:BOOL=ON
-DBUILD_QtDialog:BOOL=ON ..

Then running nmake in the build directory gave the error.

And incidentally, it found Expat and ZLib through paths included in the
CMAKE_PREFIX_PATH environment variable; while as usual, Qt 4 was found through
qmake being on PATH.

Additional Information: 
With the attached patch, I was able to complete the build, and the install image
looked good.  I don't know if this is the best solution, or whether it might be
better to change cmXMLParser to have "XML_Parser Parser;" instead of "void*
Parser;".
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2015-03-25 17:29 Daniel ScheplerNew Issue                                    
2015-03-25 17:29 Daniel ScheplerFile Added: fix-build-against-expat-2.1.0.diff  
                 
======================================================================



More information about the cmake-developers mailing list