[xmlsec] Building xmlsec for iOs
84.le0n
84.le0n at gmail.com
Thu Aug 18 07:31:15 PDT 2011
Hi Aleksey,
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 _xmlSecOpenSSLAppGetDefaultPwdCallback ./
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!
More information about the xmlsec
mailing list