views:

30

answers:

0

I'm trying to build a project on Linux with GCC where one module (my own) require XML-Security (Apache's) as well. However, when linking, I get unresolved references to some functions that are in the XML-Security library. I'm attempting to link statically (or I think so, at least -- I've provided no extra parameters, and I'm using the .a file of XML-Security). I've built the XML-Security library myself.

When I run nm --demangle on the XML-Security library (.a file), I can see the function declaration, with a 'T' -- which the documentation seem to indicate is "The symbol is in the text (code) section". I've seen 'U' as well (in other functions) but that seems to have a different meaning and most likely not the case here.

Looking in the CPP file where the function is supposedly missing indicates that it is indeed there.

I have to note that I have not a problem with all functions within that class.

I'm using Netbeans and GUI, but I've made sure the link order is correct; my library is to the left of the XML-Security library in the link order.

So, what can I do to make my project link with XML-Security?

Could there be some library I'm, for some reason, excluding? How about if I'd dynamically link the library?

(XML-Security version is 1.5.1.)

(GCC version is 4.3.2.)

Edit: The following functions are what the linker complains about. DSIGSignature::findDSIGNode(DOMNode*, char const*) DSIGSignature::newSignatureFromDOM(DOMDocument*, DOMNode*) XSECProvider::registerIdAttributeName(wchar_t const*) safeBuffer::sbMemcpyIn(void const*, unsigned int) XSECProvider::newSignatureFromDOM(DOMDocument*) DSIGSignature::createBlankSignature(DOMDocument*, canonicalizationMethod, signatureMethod, hashMethod) DSIGSignature::createReference(wchar_t const*, hashMethod, char*) DSIGSignature::appendRSAKeyValue(wchar_t const*, wchar_t const*) DSIGKeyInfoX509::appendX509Certificate(wchar_t const*)