Potentially missing symbol in libxmltooling-lite.so

Description

One of our users at a university reported this potential problem, which we couldn't reproduce on a self-compiled Debian SP. Could be a Solaris-only issue:

SW components involved in the tests:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SunOS 5.10 Generic_137137-09
curl 7.19.2
Xerces-C++ 2.8.0
xml-tooling-c 1.3
XML Security C++ 1.5.1
log4shib 1.0.2
Open SSL 0.9.8k
Open SAML 2.3
Shibboleth SP 2.3
Apache 2.2.13

The light xml-tooling-c library libxmltooling-lite.so.4.0.0 in the
version 1.3 includes the symbol _1cKxmltoolingNSOAPTransport2T6M_v
which is defined in the full library libxmltooling.so.4.0.0. On the Solaris
platform, one can check this with the following command (the install
directory is /usr/local/xml-tooling-c)

find /usr/local/xml-tooling-c/lib -name libxmltooling*so.4.0.0 -exec sh -c 'echo $0 ; nm -D $0 | grep 1cKxmltoolingNSOAPTransport2T6M' {} \;

This was not the case in the xml-tooling-c version 1.2. The above
symbol was not used in the lite library at all.

The missing definition of the symbol in the lite library causes
problems in Shibboleth SP and Apache. The Apache module mod_shib_22.so,
generated by the Shibboleth installation, uses the light xml-tooling-c
library. If mod_shib_22.so is loaded by the httpd, it produces the
following error

httpd: Syntax error on line 76 of /etc/apache2/httpd.conf: Cannot load /usr/local/apache2/libexec/mod_shib_22.so into server: ld.so.1: httpd: fatal: relocation error: file /usr/local/xml-tooling-c/lib/libxmltooling-lite.so.4: symbol _1cKxmltoolingNSOAPTransport2T6M_v: referenced symbol not found

and the daemon does not start.

A workaround is to include both the light and the full xml-tooling-c libraries
in the file configure in Shibboleth SP source directory as follows

LITE_LIBS="-lxmltooling-lite -lxmltooling"

and to rebuild the Apache mod_shib_22.so module.

Environment

None

Activity

Show:

Scott Cantor November 20, 2009 at 3:18 PM

Closing after release.

Scott Cantor November 6, 2009 at 12:20 PM

Scott Cantor November 6, 2009 at 12:02 PM

It does appear to be platform specific, Solaris is including an UNDEF symbol for the SOAPTransport destructor. Must have occurred during the header refactoring work, I'll correct for 1.3.1, which is imminent.

Scott Cantor November 6, 2009 at 11:15 AM

I'll look at my builds and try and resolve in the 1.3.1 patch.

Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Created November 6, 2009 at 10:41 AM
Updated June 24, 2021 at 3:03 PM
Resolved November 6, 2009 at 12:20 PM