Hi everyone, This is just heads-up about issues I discovered when trying to get Xalan 1.11 building on a Solaris 10 system with SunStudio 12.3 using the -library=stdcxx4 option and which changes I needed to make to get things compiling... Maybe I should post this in the Xalan wiki but I need to do some other things now...
Download xalan 1.11 (src.tar.gz) from the official site (xalan.apache.org/xalan-c/<http://xalan.apache.org/xalan-c/>), verify it, and copy it to the directory where you want to build it on the Solaris. Ensure that GNU tar is used. Ensure that GNU make is used. [The following export probably isn't necessary to build Xalan, but since it was set when Xerces was built, it seems handy to also define it when Xalan is built (to see if defining it causes issues during the Xalan build process) ...] export CXXFLAGS="-library=stdcxx4 -m32" tar xvf xalan_c-1.11-src.tar.gz >out.extractFromArchive.txt 2>&1 & cd *11/c export XERCESCROOT=<root-of-directory-hierarchy Xalan was installed to> export XALANCROOT=`pwd` ./runConfigure -p solaris -c cc -x CC -l -library=stdcxx4 -b 32 -P /home/prod/usd72/app/xalan/1.11.stdcxx4 >out.runconfig 2>&1 & Change src/xalanc/Include/SolarisDefinitions.hpp as follows: remove the #if/#else/#endif around the XALAN_HAS_STD_ITERATORS/XALAN_HAS_STD_DISTANCE lines. Change src/xalanc/PlatformSupport/DoubleSupport.hpp as follows: add an #if defined(SOLARIS) / #include <math.h> / #endif section in the isNAN(double) function put an #if defined(SOLARIS) / return isnan(theNumber) != 0; / #else / and #endif around the return std::isnan(theNumber) != 0; line make >out.make 2>&1 & Verify that the output-containing files don't contain unexpected error messages and such and that the expected library files are present in the supplied Xalan installation/lib dir. To make sure that xalan and xerces seem to be working correctly, do the following : cd samples ./runConfigure -p solaris -c cc -x CC -b 32 -l -library=stdcxx4 -z -library=stdcxx4 make Verify that the SimpleTransform binary was built correctly by verifying that its' name shows up when you ls -l ../bin cd SimpleTransform/ cp ../../bin/SimpleTransform . Add the new Xerces and Xalan lib directories to the system-wide library-path, eg by export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/app/xerces/3.1.1.stdcxx4/lib:$HOME/app/xalan/1.11.stdcxx4/lib Verify that the file foo.out is not present in the current directory (if it is, delete or rename it). Then run the SimpleTransform executable, eg as follows: ./SimpleTransform Verify that the foo.out file has been created and that it contains the expected results of applying the contents of foo.xsl to the contents of foo.xml . [cid:[email protected]]<http://www.usoft.com/> Martin Elzen Developer E : [email protected]<mailto:[email protected]> T : +31-(0)35-699 09 18<tel:+31356990918> W : www.usoft.com<http://www.usoft.com/> USoft B.V. | Amalialaan 126E<http://maps.google.nl/maps?f=q&source=s_q&hl=nl&geocode=&q=amalialaan+126e,+baarn&sll=52.469397,5.509644&sspn=5.844041,16.907959&ie=UTF8&hq=&hnear=Amalialaan+126,+3743+Baarn,+Utrecht&t=h&z=16&iwloc=A> | 3743 KJ Baarn | The Netherlands [cid:[email protected]]<http://www.linkedin.com/company/usoft-b.v.>[cid:[email protected]]<http://twitter.com/USoftBPM>[cid:[email protected]]<http://www.facebook.com/USoft.BPM> ________________________________ The information contained in this communication is intended solely for the use of the individual or entity to whom it is addressed and others authorized to receive it. It may contain confidential or legally privileged information. If you are not the intended recipient you are hereby notified that any disclosure, copying, distribution or taking any action in reliance on the contents of this information is strictly prohibited and may be unlawful. If you have received this communication in error, please notify us immediately by forwarding this email to [email protected] and then delete it from your system. USoft is neither liable for the proper and complete transmission of the information contained in this communication nor for any delay in its receipt.
<<inline: image001.png>>
<<inline: image002.png>>
<<inline: image003.png>>
<<inline: image004.png>>
