[xmlsec] ranlib error only with arm

84.le0n 84.le0n at gmail.com
Sun Aug 28 09:56:57 PDT 2011

I've a problem when building xmlsec for arm architecture.
The configure I use is this:
./configure \
    	  --build=i386-apple-darwin10 \
          --host=arm-apple-darwin10 \
    	  --with-default-crypto=openssl \
    	  --with-libxml=<MY_LIBXML> \
	  --with-libxslt=<MY_LIBXSLT> \
    	  --with-openssl=<MY_LIBOPENSSL> \
    	  --enable-static \
	  --disable-crypto-dl \
	  --disable-shared \
	  --disable-mscrypto \
    	  --without-nspr \
	  --without-nss \
    	  --without-gcrypt \
	  --without-gnutls \

The message I receive during "make install" is
*** Warning: Linking the shared library libxmlsec1-openssl.la against the
*** static library <OPENSSL_ARMv6_INSTALL_FOLDER>/lib/libcrypto.a is
not portable!
libtool: link: warning:
seems to be moved
libtool: link: rm -fr  .libs/libxmlsec1-openssl.a
libtool: link: <OPENSSL_ARMv6_INSTALL_FOLDER>/lib/libcrypto.a
libxmlsec1_openssl_la-app.o libxmlsec1_openssl_la-bn.o
libxmlsec1_openssl_la-ciphers.o libxmlsec1_openssl_la-crypto.o
libxmlsec1_openssl_la-digests.o libxmlsec1_openssl_la-evp.o
libxmlsec1_openssl_la-hmac.o libxmlsec1_openssl_la-kw_aes.o
libxmlsec1_openssl_la-kw_des.o libxmlsec1_openssl_la-kt_rsa.o
libxmlsec1_openssl_la-signatures.o libxmlsec1_openssl_la-symkeys.o
libxmlsec1_openssl_la-x509.o libxmlsec1_openssl_la-x509vfy.o
library member: .libs/libxmlsec1-openssl.a(libcrypto.a) is not an
object file (not allowed in a library with multiple architectures)
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ar: internal
ranlib command failed
make[2]: *** [libxmlsec1-openssl.la] Error 1
make[1]: *** [install-recursive] Error 1
make: *** [install-recursive] Error 1

But if I run "lipo -info
<OPENSSL_ARMv6_INSTALL_FOLDER>/lib/libcrypto.a" it returns
input file <OPENSSL_ARMv6_INSTALL_FOLDER>/lib/libcrypto.a is not a fat file
Non-fat file: <OPENSSL_ARMv6_INSTALL_FOLDER>/lib/libcrypto.a is
architecture: armv6

So I can't understand the error message, because libcrypto.a is
created only for armv6 architecture, the same I'm building for xmlsec
while ranlib thinks that this is with multiple architecture.

Do you have an idea about this error?
I don't know ar or ranlib tools and which is their job during make phase.

Thank you very much !!

More information about the xmlsec mailing list