[xmlsec] Compiling with MSVC 10: thousands of errors

Josef Kokeš j.kokes at apatykaservis.cz
Tue Jul 12 22:45:02 PDT 2011


Thanks. It turns out the OpenSSL headers were incorrectly installed 
(DOH!). It compiles just fine now.

Pepak

> If you look at the code, you will see that it complains about BIO which
> is openssl struct.
> You will need to figure out why it is not available in the openssl
> header files or why
> openssl header files are not included.
>
> Aleksey
>
>
> On 7/12/11 12:07 AM, Josef Kokeš wrote:
>> Hi!
>>
>> I could use some help with compiling XmlSec (the latest version
>> 1.2.18) on Windows. My original attempts were done using MingW/Msys
>> and these failed even before I got to compiling XmlSec (I just
>> couldn't get some prerequisites to compile).
>>
>> With MSVC 10.0, I eventually managed to compile all prerequisites, and
>> now I am trying to compile XmlSec itself. The problem is, I keep
>> getting thousands of errors in header files:
>>
>> cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_REENTRANT" /W1
>> /MD /I.. /I..\include /I.\include /D PACKAGE=\"xmlsec\" /D
>> "HAVE_STDIO_H" /D "HAVE_STDLIB_H" /D "HAVE_STRING_H" /D "HAVE_CTYPE_H"
>> /D "HAVE_MALLOC_H" /D "HAVE_MEMORY_H" /D "_DEBUG" /Od /Z7
>> /DXMLSEC_MSCRYPTO_NT4=1 /D "XMLSEC_DL_WIN32" /D "XMLSEC_OPENSSL_098"
>> /D "XMLSEC_CRYPTO_OPENSSL" /D "XMLSEC_CRYPTO=\"openssl\""
>> /Folibxmlsec_openssl.int\ /c ..\src\openssl\app.c ..\src\openssl\bn.c
>> ..\src\openssl\ciphers.c ..\src\openssl\crypto.c
>> ..\src\openssl\digests.c ..\src\openssl\evp.c ..\src\openssl\hmac.c
>> ..\src\openssl\kt_rsa.c ..\src\openssl\kw_aes.c
>> ..\src\openssl\kw_des.c ..\src\openssl\signatures.c
>> ..\src\openssl\symkeys.c ..\src\openssl\x509.c ..\src\openssl\x509vfy.c
>> app.c
>> C:\xml\xmlsec1-1.2.18\include\xmlsec/openssl/app.h(56) : error C2143:
>> syntax error : missing ')' before '*'
>> C:\xml\xmlsec1-1.2.18\include\xmlsec/openssl/app.h(56) : error C2081:
>> 'BIO' : name in formal parameter list illegal
>> C:\xml\xmlsec1-1.2.18\include\xmlsec/openssl/app.h(56) : error C2143:
>> syntax error : missing '{' before '*'
>> C:\xml\xmlsec1-1.2.18\include\xmlsec/openssl/app.h(57) : error C2370:
>> 'xmlSecKeyDataFormat' : redefinition; different storage class
>> C:\xml\xmlsec1-1.2.18\include\xmlsec/keysdata.h(236) : see declaration
>> of 'xmlSecKeyDataFormat'
>> C:\xml\xmlsec1-1.2.18\include\xmlsec/openssl/app.h(57) : error C2146:
>> syntax error : missing ';' before identifier 'format'
>> C:\xml\xmlsec1-1.2.18\include\xmlsec/openssl/app.h(58) : error C2059:
>> syntax error : 'type'
>> C:\xml\xmlsec1-1.2.18\include\xmlsec/openssl/app.h(58) : error C2059:
>> syntax error : ')'
>> C:\xml\xmlsec1-1.2.18\include\xmlsec/openssl/app.h(84) : error C2143:
>> syntax error : missing ')' before '*'
>> C:\xml\xmlsec1-1.2.18\include\xmlsec/openssl/app.h(84) : error C2143:
>> syntax error : missing '{' before '*'
>> C:\xml\xmlsec1-1.2.18\include\xmlsec/openssl/app.h(85) : error C2370:
>> 'xmlSecKeyDataFormat' : redefinition; different storage class
>> C:\xml\xmlsec1-1.2.18\include\xmlsec/keysdata.h(236) : see declaration
>> of 'xmlSecKeyDataFormat'
>> C:\xml\xmlsec1-1.2.18\include\xmlsec/openssl/app.h(85) : error C2146:
>> syntax error : missing ';' before identifier 'format'
>> C:\xml\xmlsec1-1.2.18\include\xmlsec/openssl/app.h(86) : error C2059:
>> syntax error : 'type'
>> C:\xml\xmlsec1-1.2.18\include\xmlsec/openssl/app.h(88) : error C2059:
>> syntax error : ')'
>>
>> And so on and so on. After 100 errors the compiler stops and tries
>> another file, which fails with similar errors (on different lines,
>> though). Searching the archives, I found a 2005 message which seemed
>> somewhat relevant
>> (http://www.mail-archive.com/xmlsec@aleksey.com/msg02730.html) and the
>> answer suggested that the user was using a wrong OpenSSL version. That
>> is not the case with my setup, as far as I can tell.
>>
>> I am using a clean Windows XP SP3 install with a clean Microsoft
>> Visual Studio 10.0 Express on it. I compiled the following packages
>> (in listed order):
>>
>> - Zlib 1.2.5 - I used the supplied win32\Makefile.msc
>> - Iconv 1.13 - this one gave me headaches until I learned that I can
>> build it using MingW and then copy the .a files to .lib files for MSVC
>> to use. Maybe this is the cause of my problems? But what else am I
>> supposed to do, considering that Iconv doesn't support MSVC anymore?
>> - LibXml2 2.7.8 - with configure.js options compiler=msvc zlib=yes
>> debug=yes
>> - LibXslt 1.1.26 - with configure.js options compiler=msvc zlib=yes
>> debug=yes
>> - OpenSSL 0.9.8r - with configure option VC-WIN32, build batch
>> ms\do_masm and makefile ms\ntdll.mak
>> - XmlSec 1.2.18 - with configure.js options crypto=openssl unicode=no
>> debug=yes. I also tried crypto=openssl=098, under the influence of the
>> 2005 message
>>
>> What can I possibly do to fix this problem? The files with errors
>> listed seem OK to me, but I am not a C programmer so maybe I am
>> missing something obvious.
>>
>> Thanks,
>>
>> Pepak
>> _______________________________________________
>> xmlsec mailing list
>> xmlsec at aleksey.com
>> http://www.aleksey.com/mailman/listinfo/xmlsec
>
>
>
> __ Zkontrolovano antivirovym programem NOD32 __
> _______ Mailscanner spolecnosti Phoenix _______



More information about the xmlsec mailing list