Details
Description
A couple of issues.
Prior to compiling, XERCESCROOT and XALANCROOT are configured to point the their respective foliders, and the configurations used as follows:
Xerces: ./runConfigure -p solaris -c cc -x CC -b 64 -P $P4SRCROOT/Tools/libs/64/SUN/xerces-c_2_7_0
Xalan: ./runConfigure -p solaris -c cc -x CC -b 64 -P $P4SRCROOT/Tools/libs/64/SUN/xalanc_1_10
1) To compile on this platform, the 'solaris' entries in runConfigure had to be changed to use option '-xarch=amd64' in place of '-xarch=v9' (for XercesC and XalanC)
2) After building the libraries, our program was crashing in XalanTransformer::initialize(); (after calling XMLPlatformUtils::Initialize(); of course), with a Floating Point Exception (FPE) in:
void
DoubleSupport::initialize()
{
#if defined(XALAN_NO_STD_NUMERIC_LIMITS)
// We initialize this at here because some
// platforms have had issues with signals
// if we call sqrt(-2.01) during static
// initialization.
#if defined(XALAN_STRICT_ANSI_HEADERS)
s_NaN.d = std::sqrt(-2.01);
#else
s_NaN.d = sqrt(-2.01);
#endif
#elif !defined(XALAN_NO_STD_NAMESPACE)
// There seems to be problems with various standard libraries, so
// this is disabled for now. We need to revisit this when we
// update our autoconf/automake system to detect the right value
// for NaN at configuration time.
// XALAN_STATIC_ASSERT(std::numeric_limits<double>::has_quiet_NaN);
#endif
Removing #define XALAN_NO_STD_NUMERIC_LIMITS from the Include/SolarisDefinitions.hpp fixes this problem.