Affects Version/s: 1.10
Fix Version/s: CurrentCVS
Environment:Sun Solaris 10, Opteron chipset (x86/i386). XercesC++ 2.7 XalanC 1.10
$ CC -V
CC: Sun C++ 5.7 Patch 117831-02 2005/03/30
$ cc -V
cc: Sun C 5.7 Patch 117837-04 2005/05/11
usage: cc [ options] files. Use 'cc -flags' for details
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:
// We initialize this at here because some
// platforms have had issues with signals
// if we call sqrt(-2.01) during static
s_NaN.d = std::sqrt(-2.01);
s_NaN.d = sqrt(-2.01);
// 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.
Removing #define XALAN_NO_STD_NUMERIC_LIMITS from the Include/SolarisDefinitions.hpp fixes this problem.