Xml-security-c 1.5.x won't compile under Cygwin [SEC=UNCLASSIFIED]

View: New views
3 Messages — Rating Filter:   Alert me  

Xml-security-c 1.5.x won't compile under Cygwin [SEC=UNCLASSIFIED]

by Hill, Shane :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

UNCLASSIFIED

UNCLASSIFIED

G'day All,

Has anyone had this issue of not being able to compile xml-security-c
1.5.0 or 1.5.1 under Cygwin? Something to do with DLL import/export.
Very nasty ... should not need this under Cygwin. Just treat a Cygwin
compile just like it were Linux and all should be fine. Except I can't
seem to get the makefile structure to allow me to do this ... Yet.

Have Fun !!
 
Shane Hill


 g++ -DHAVE_CONFIG_H -I. -I. -I../src/framework -I../include -g -O2
-DXSEC_LIBRARY_BUILD -Wall -DCYGWIN -Wall -O2 -DNDEBUG -MT
DSIGConstants.lo -MD -MP -MF .deps/DSIGConstants.Tpo -c
../src/dsig/DSIGConstants.cpp -o DSIGConstants.o
../src/dsig/DSIGConstants.cpp:141: error: definition of static data
member 'DSIGConstants::s_unicodeStrEmpty' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:141: warning:
'DSIGConstants::s_unicodeStrEmpty' defined locally after being
referenced with dllimport linkage
../src/dsig/DSIGConstants.cpp:168: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIC14N_NOC' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:168: warning:
'DSIGConstants::s_unicodeStrURIC14N_NOC' defined locally after being
referenced with dllimport linkage
../src/dsig/DSIGConstants.cpp:169: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIC14N_COM' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:169: warning:
'DSIGConstants::s_unicodeStrURIC14N_COM' defined locally after being
referenced with dllimport linkage
../src/dsig/DSIGConstants.cpp:172: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIEXC_C14N_NOC' of dllimport'd
class.
../src/dsig/DSIGConstants.cpp:172: warning:
'DSIGConstants::s_unicodeStrURIEXC_C14N_NOC' defined locally after being
referenced with dllimport linkage
../src/dsig/DSIGConstants.cpp:173: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIEXC_C14N_COM' of dllimport'd
class.
../src/dsig/DSIGConstants.cpp:173: warning:
'DSIGConstants::s_unicodeStrURIEXC_C14N_COM' defined locally after being
referenced with dllimport linkage
../src/dsig/DSIGConstants.cpp:208: error: definition of static data
member 'DSIGConstants::s_unicodeStrPROVNSS' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:207: error: definition of static data
member 'DSIGConstants::s_unicodeStrPROVWinCAPI' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:206: error: definition of static data
member 'DSIGConstants::s_unicodeStrPROVOpenSSL' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:204: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIXENC_CONTENT' of dllimport'd
class.
../src/dsig/DSIGConstants.cpp:203: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIXENC_ELEMENT' of dllimport'd
class.
../src/dsig/DSIGConstants.cpp:201: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIRSA_OAEP_MGFP1' of dllimport'd
class.
../src/dsig/DSIGConstants.cpp:200: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIRSA_1_5' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:199: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIKW_3DES' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:198: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIKW_AES256' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:197: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIKW_AES192' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:196: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIKW_AES128' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:195: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIAES256_CBC' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:194: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIAES192_CBC' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:193: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIAES128_CBC' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:192: error: definition of static data
member 'DSIGConstants::s_unicodeStrURI3DES_CBC' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:190: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIMANIFEST' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:189: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIXMLNS' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:187: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIHMAC_SHA512' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:186: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIHMAC_SHA384' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:185: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIHMAC_SHA256' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:184: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIHMAC_SHA224' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:183: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIHMAC_SHA1' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:181: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIRSA_SHA512' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:180: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIRSA_SHA384' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:179: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIRSA_SHA256' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:178: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIRSA_SHA224' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:177: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIRSA_SHA1' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:176: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIRSA_MD5' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:174: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIDSA_SHA1' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:171: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIC14N11_COM' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:170: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIC14N11_NOC' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:167: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIENVELOPE' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:166: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIXSLT' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:165: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIXPATH' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:164: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIBASE64' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:163: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIMD5' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:162: error: definition of static data
member 'DSIGConstants::s_unicodeStrURISHA512' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:161: error: definition of static data
member 'DSIGConstants::s_unicodeStrURISHA384' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:160: error: definition of static data
member 'DSIGConstants::s_unicodeStrURISHA256' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:159: error: definition of static data
member 'DSIGConstants::s_unicodeStrURISHA224' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:158: error: definition of static data
member 'DSIGConstants::s_unicodeStrURISHA1' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:157: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIRawX509' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:154: error: definition of static data
member 'DSIGConstants::s_unicodeStrURISIGBASEMORE' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:153: error: definition of static data
member 'DSIGConstants::s_unicodeStrURISIGBASE' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:151: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIXENC' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:150: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIXPF' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:149: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIEC' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:148: error: definition of static data
member 'DSIGConstants::s_unicodeStrURIDSIG' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:146: error: definition of static data
member 'DSIGConstants::s_unicodeStrAlgorithm' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:144: error: definition of static data
member 'DSIGConstants::s_unicodeStrURI' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:143: error: definition of static data
member 'DSIGConstants::s_unicodeStrXmlns' of dllimport'd class.
../src/dsig/DSIGConstants.cpp:142: error: definition of static data
member 'DSIGConstants::s_unicodeStrNL' of dllimport'd class.
make[1]: *** [DSIGConstants.lo] Error 1
make[1]: Leaving directory `/home/hills/tmp/xml-security-c-1.5.1/lib'
make: *** [all-recursive] Error 1
IMPORTANT: This email remains the property of the Australian Defence
Organisation and is subject to the jurisdiction of section 70 of the
Crimes Act 1914. If you have received this email in error, you are
requested to contact the sender and delete the email.

IMPORTANT: This email remains the property of the Australian Defence
Organisation and is subject to the jurisdiction of section 70 of the
Crimes Act 1914. If you have received this email in error, you are
requested to contact the sender and delete the email.

RE: Xml-security-c 1.5.x won't compile under Cygwin [SEC=UNCLASSIFIED]

by Scott Cantor :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hill, Shane wrote on 2009-09-24:
> Has anyone had this issue of not being able to compile xml-security-c
> 1.5.0 or 1.5.1 under Cygwin? Something to do with DLL import/export.
> Very nasty ... should not need this under Cygwin. Just treat a Cygwin
> compile just like it were Linux and all should be fine. Except I can't
> seem to get the makefile structure to allow me to do this ... Yet.

Whatever you're doing is not the right thing, you're pulling in Xerces
headers based on MSVC and they're defining the macros properly for standard
Windows builds. The xmlsec macros depend on those directly.

You have to use a configure-based build certainly, all the way down the
stack.

None of which is to say this will work on cygwin no matter what you do, but
that's the reason you're getting errors.

-- Scott



RE: Xml-security-c 1.5.x won't compile under Cygwin [SEC=UNCLASSIFIED]

by Hill, Shane :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

UNCLASSIFIED

G'day Scott,

To get the error message I'm reporting I did the following under a
Cygwin shell:

1. tar -xvzf xml-security-c-1.5.1.tar.gz 2. cd xml-security-c-1.5.1 3.
./configure 4. make

Never got anywhere near an MSVC compile. I don't even have it installed.
The Xerces library should be the one that comes with Cygwin and are
currently xerces-c-3.0.1.

I'll try compiling my own version of xerces-c under Cygwin and see if
this fixes the issue.

Have Fun !!
 
Shane Hill

-----Original Message-----
From: Scott Cantor [mailto:cantor.2@...]
Sent: Friday, 25 September 2009 11:03 AM
To: security-dev@...
Subject: RE: Xml-security-c 1.5.x won't compile under Cygwin
[SEC=UNCLASSIFIED]

Hill, Shane wrote on 2009-09-24:
> Has anyone had this issue of not being able to compile xml-security-c
> 1.5.0 or 1.5.1 under Cygwin? Something to do with DLL import/export.
> Very nasty ... should not need this under Cygwin. Just treat a Cygwin
> compile just like it were Linux and all should be fine. Except I can't

> seem to get the makefile structure to allow me to do this ... Yet.

Whatever you're doing is not the right thing, you're pulling in Xerces
headers based on MSVC and they're defining the macros properly for
standard Windows builds. The xmlsec macros depend on those directly.

You have to use a configure-based build certainly, all the way down the
stack.

None of which is to say this will work on cygwin no matter what you do,
but that's the reason you're getting errors.

-- Scott



IMPORTANT: This email remains the property of the Australian Defence
Organisation and is subject to the jurisdiction of section 70 of the
Crimes Act 1914. If you have received this email in error, you are
requested to contact the sender and delete the email.