[xmlsec] Building xmlsec for iOs

Aleksey Sanin aleksey at aleksey.com
Thu Aug 18 07:50:20 PDT 2011


Sorry, I am not familiar with iOS compilation so it is hard for me to say
something definite but it looks like you there is a problem with function
name mangling.

Aleksey


On 8/18/11 5:34 AM, 84.le0n wrote:
>
> Hi all,
> after some test now I get another error, during make phase.
>
> These are the steps I've done, configuring for "build 
> i386-apple-darwin10" and "host i686-apple-darwin10" (for iOs simulator 
> included in SDK) :
> 1) make of static libxml2.a (not using original libxml2.dylib because 
> xmlsec requires newer version that that offered by Apple )
> 2) using this libxml2.a static lib I've built a static libxslt.a , 
> version 1.1.26
> 3) then I've builded openssl libs (libcrypto.a and libssl.a), version 
> 1.0.0.d
> 4) the last is xmlsec version 1.2.18, configured as follow
>
> ------------------ from here ------------------------
>
> ./configure \
>      --prefix=<destination_path> \
>      --build=i386-apple-darwin10 \
>      --host=i686-apple-darwin10 \
>      --enable-static \
>      --enable-static-linking \
>      --disable-shared \
>      --disable-crypto-dl \
>      --disable-apps-crypto-dl \
>      --disable-mscrypto \
>      --without-nspr \
>      --without-nss \
>      --without-seamonkey-ver \
>      --without-mozilla-ver \
>      --without-gcrypt \
>      --without-gnutls \
>      --with-default-crypto=openssl \
>      --with-libxml=<path_of_my_libxml2> \
>      --with-libxslt=<path_of_my_libxslt> \
>      --with-openssl=<path_of_my_openssl>
>
> ------------------ to here ------------------------
>
> The configuration runs without problems and finds my libs correctly, 
> but doing make I get this error
>
> ------------------ from here ------------------------
>
> Undefined symbols:
>   "_xmlSecOpenSSLAppDefaultKeysMngrInit", referenced from:
>       _xmlSecAppCryptoSimpleKeysMngrInit in crypto.o
>   "_xmlSecOpenSSLTransformDes3CbcGetKlass", referenced from:
>       _xmlSecAppEncryptTmpl in xmlsec.o
>   "_xmlSecOpenSSLAppKeysMngrCertLoad", referenced from:
>       _xmlSecAppCryptoSimpleKeysMngrCertLoad in crypto.o
>   "_xmlSecOpenSSLAppDefaultKeysMngrLoad", referenced from:
>       _xmlSecAppCryptoSimpleKeysMngrLoad in crypto.o
>   "_xmlSecOpenSSLAppDefaultKeysMngrSave", referenced from:
>       _xmlSecAppCryptoSimpleKeysMngrSave in crypto.o
>   "_xmlSecOpenSSLAppKeyLoad", referenced from:
>       _xmlSecAppCryptoSimpleKeysMngrPkcs12KeyLoad in crypto.o
>       _xmlSecAppCryptoSimpleKeysMngrKeyAndCertsLoad in crypto.o
>   "_xmlSecOpenSSLShutdown", referenced from:
>       _xmlSecAppCryptoShutdown in crypto.o
>   "_xmlSecOpenSSLAppKeyCertLoad", referenced from:
>       _xmlSecAppCryptoSimpleKeysMngrKeyAndCertsLoad in crypto.o
>   "_xmlCheckVersion", referenced from:
>       _main in xmlsec.o
>   "_xmlSecOpenSSLAppDefaultKeysMngrAdoptKey", referenced from:
>       _xmlSecAppCryptoSimpleKeysMngrKeyGenerate in crypto.o
>       _xmlSecAppCryptoSimpleKeysMngrBinaryKeyLoad in crypto.o
>       _xmlSecAppCryptoSimpleKeysMngrPkcs12KeyLoad in crypto.o
>       _xmlSecAppCryptoSimpleKeysMngrKeyAndCertsLoad in crypto.o
>   "_xmlSecOpenSSLAppInit", referenced from:
>       _xmlSecAppCryptoInit in crypto.o
>   "_xmlSecOpenSSLTransformHmacSha1GetKlass", referenced from:
>       _xmlSecAppSignTmpl in xmlsec.o
>   "_xmlSecOpenSSLTransformSha1GetKlass", referenced from:
>       _xmlSecAppSignTmpl in xmlsec.o
>   "_xmlSecOpenSSLInit", referenced from:
>       _xmlSecAppCryptoInit in crypto.o
>   "_xmlSecOpenSSLAppGetDefaultPwdCallback", referenced from:
>       _xmlSecAppCryptoSimpleKeysMngrPkcs12KeyLoad in crypto.o
>       _xmlSecAppCryptoSimpleKeysMngrKeyAndCertsLoad in crypto.o
>   "_xmlSecOpenSSLAppShutdown", referenced from:
>       _xmlSecAppCryptoShutdown in crypto.o
> ld: symbol(s) not found
> collect2: ld returned 1 exit status
> make[2]: *** [xmlsec1] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
>
>
> ------------------ to here ------------------------
>
>
> The strange thing is that I can't find these symbols with the 
> underscore, but without initial underscore I can find many results, an 
> example :
>
> ------------------ from here ------------------------
> --------------  without underscore -------------
> $ grep -Rin xmlSecOpenSSLAppGetDefaultPwdCallback ./
> Binary file ./xmlsec1-1.2.18/apps/crypto.o matches
> ./xmlsec1-1.2.18/include/xmlsec/openssl/app.h:119:XMLSEC_CRYPTO_EXPORT 
> void*              xmlSecOpenSSLAppGetDefaultPwdCallback(void);
> ./xmlsec1-1.2.18/include/xmlsec/openssl/symbols.h:109:#define 
> xmlSecCryptoAppGetDefaultPwdCallback   
>  xmlSecOpenSSLAppGetDefaultPwdCallback
> Binary file ./xmlsec1-1.2.18/src/openssl/.libs/libxmlsec1-openssl.a 
> matches
> ./xmlsec1-1.2.18/src/openssl/app.c:1531: * 
> xmlSecOpenSSLAppGetDefaultPwdCallback:
> ./xmlsec1-1.2.18/src/openssl/app.c:1538:xmlSecOpenSSLAppGetDefaultPwdCallback(void) 
> {
> ./xmlsec1-1.2.18/src/openssl/crypto.c:250:   
>  gXmlSecOpenSSLFunctions->cryptoAppDefaultPwdCallback        = 
> (void*)xmlSecOpenSSLAppGetDefaultPwdCallback();
> Binary file ./xmlsec1-1.2.18/src/openssl/libxmlsec1_openssl_la-app.o 
> matches
> Binary file 
> ./xmlsec1-1.2.18/src/openssl/libxmlsec1_openssl_la-crypto.o matches
>
>
> --------------  with underscore -------------
> $ grep -Rin _xmlsecopensslappgetdefault ./
> Binary file ./xmlsec1-1.2.18/apps/crypto.o matches
> Binary file ./xmlsec1-1.2.18/src/openssl/.libs/libxmlsec1-openssl.a 
> matches
> Binary file ./xmlsec1-1.2.18/src/openssl/libxmlsec1_openssl_la-app.o 
> matches
> Binary file 
> ./xmlsec1-1.2.18/src/openssl/libxmlsec1_openssl_la-crypto.o matches
>
> ------------------ to here ------------------------
>
> Why I obtain this error ?
> Where are defined that symbols with underscore ?
> What can I do to correct this error ?
>
>
> Thank you for your help!
>
>
>
> _______________________________________________
> xmlsec mailing list
> xmlsec at aleksey.com
> http://www.aleksey.com/mailman/listinfo/xmlsec
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.aleksey.com/pipermail/xmlsec/attachments/20110818/64b5df04/attachment-0001.html>


More information about the xmlsec mailing list