[xmlsec] building static xmlsec1-1.2.6 on Mac OSx (Tiger) fails

Mathias Ruehl Super.Berti at gmx.net
Wed Dec 13 08:57:34 PST 2006


Hi there,

I am woking on a MAC with OSx 10.4.8 with Darwin Kernel 8.8.0.
Compiler is G++: powerpc-apple-darwin8-gcc-4.0.0 (GCC) 4.0.0.
I try to build 
- static xmlsec1-1.2.6 library, 
where i try to link static custom versions of (this builds worked fine)
- openssl-0.9.7c (static = 'libcrypto.a')
- libxml2-2.6.11 (static = 'libxml2.a')
- libxslt-1.1.11 (Static = 'libxslt.a'  and 'libexslt.a')
I cannot switch to newer versions of openssl, 
cause i have to use that version (openssl-0.9.7) for different reasons.

(Info: On Windows (XP) and Suse LINUX 9.3 there is no problem with all that.)

My problem on Mac is that linking the static lib "libcrypto.a" from "openssl-0.9.7c" 
to the static xmlsec1-1.2.6 seems not to work correct.


Configuring libxmlsec1 with
--------------
./configure --with-openssl=/usr/local/ssl  --disable-shared --enable-static=yes --enable-static-linking=yes --enable-crypto-dl=no --enable-apps-crypto-dl=no
--------------

and afterwards a 'make' leads to libraries 
- 'libxmlsec1.a' and
- 'libxmlsec1-openssl.a'
but with a warning during the make/link process:

--------------
*** Warning: Linking the shared library libxmlsec1-openssl.la against the
*** static library /usr/local/ssl/lib/libcrypto.a is not portable!
--------------

Result is, that a couple of important functions which are expected to be available in the 'libxmlsec1-openssl.a' are not there.
E.g. command 'nm libxmlsec1-openssl.a | grep pkcs11' leads to no match.
But in the statically linked 'libcrypto.a' there are lots of 'pkcs11'-functions 
that i expect to be available in 'libxmlsec1-openssl.a'.

When i then try to link the 'libxmlsec1-openssl.a' in another project, i get the error:
"/usr/bin/libtool: file: -lxmlsec1-openssl(libcrypto.a) is not an object file (not allowed in a library)"

For me, it seems to be a config/make problem of 'xmlsec1-1.2.6' on MAC.
Do you have any ideas or experiences that may solve the problem?
-- 
"Ein Herz für Kinder" - Ihre Spende hilft! Aktion: www.deutschlandsegelt.de
Unser Dankeschön: Ihr Name auf dem Segel der 1. deutschen America's Cup-Yacht!



More information about the xmlsec mailing list