Thanks !!! I'd be willing to help on this also. I cannot really endorse XERCES in our product (as I really want to do) unless we can have a clean build with each new release without resorting to unsupported patches of the sort below ....
Anything I can do to help get this in 'officially' ? I have a Solaris 7 (2.7) with CC5.0 (SunWorkshop) and can provide an rlogin if necessary, and/or run builds and email results. > A while ago Eric did successfully compile this on solaris 5.0 and gave his > patch. Unfortunately its still not tested /integrated at our end due to some > political reasons here for the new release. > I'm pasting the Eric's mail here regarding the changes he introduced to get it > compiled. Hope this information helps you too. Thanks Eric for your effort. > > Arundhati > -------------------------- > Below is a script I wrote that patches in support for the Sun WorkShop > 5.0 compiler > on the Xerces-C 1.1.0 source tree. > > This script does the following: > Removes NO_NATIVE_BOOL. (Sun WorkShop 5.0 now has native bool > support.) > Makes various changes to support the external template instance > placement and linkage method. > Removes -lC parameter to the linker. Explicitly specifying it > confuses WorkShop. > Adds -mt as a parameter to the compiler and linker when > compiling the samples. This is already set up correctly > in the src directory. > > In order to support the external template instance method, Makefile.incl > had to be changed. > Make now directs the compiler to output its object files to > $XERCESCROOT/obj > rather than creating them in the current directory followed by a copy to > $XERCESCROOT/obj. > This is needed to ensure that the template repository is created > properly. > > Note: Because object files are directly compiled into $XERCESCROOT you > will see > the following sorts of error messages during the make: > cp: cannot access BinFileInputStream.o > cp: cannot access BinInputStream.o > cp: cannot access BinMemInputStream.o > . > . > . > They can be safely ignored. > > I would be willing to be spend some more time to get Xerces-C compiling > out of the box > under the Sun WorkShop 5.0 compiler. > > > Any questions, > -Eric Yankowitz > [EMAIL PROTECTED] > > To run the script modify the "export SRCROOT=....." and "export > PACKAGE=......" > lines WITHIN the script and ensure that your path points to gnu make, > gnu autoconf, > and gnu m4 ahead of any other versions. > > > #! /bin/ksh > > export SRCROOT=/home/statemnt/libs/xerces > export PACKAGE=/home/statemnt/pack/cpp/xml/xerces-csrc_1_1_0_d05.tar.gz > > export XERCESCROOT=$SRCROOT/xerces-csrc_1_1_0_d05 > cd $SRCROOT > > echo "Attempting to remove any previous installations @ $XERCESCROOT" > echo > > rm -rf $XERCESCROOT > > echo "Unpacking $PACKAGE" > echo > gzip -dc $PACKAGE | tar xvf - > > cd $XERCESCROOT/src > echo "Running: autoconf" > echo > autoconf > > echo "Configuring the source tree" > echo > ./runConfigure -psolaris -ccc -xCC -d -nfileonly -rpthread > > echo "Patching up files for WorkShop Compilers 5.0 98/12/15 C++ 5.0" > echo > > echo "Sun WorkShop 5.0 Compiler supports native bools." > echo "Removing NO_NATIVE_BOOL define." > echo > mv util/Compilers/SunCCDefs.hpp util/Compilers/SunCCDefs.hpp.orig > sed -e "s/^#define NO_NATIVE_BOOL$//" util/Compilers/SunCCDefs.hpp.orig > > > util/Compilers/SunCCDefs.hpp > > echo "External template instance placement and linkage is prefered, so I > am" > echo "defining XML4C_TMPLSINC." > echo > echo "#define XML4C_TMPLSINC" >> util/Compilers/SunCCDefs.hpp > > > echo "Patching Makefile.incl for external template instance support." > echo "To ensure creating a correct template repository, Object files" > echo "will now be directly outputed to $XERCESCROOT/obj." > echo "Also, The -lC option is redundant and causes problems, so I am > removing it." > echo > mv Makefile.incl Makefile.incl.orig > sed -e "186s/-lC -lc//" -e "189s/-lC -lc//" \ > -e "180s/-instances=static//" \ > -e "424s/[EMAIL PROTECTED]/$\(ALL_OBJECTS_DIR\)\/$\(@F\)/" \ > -e "430s/[EMAIL PROTECTED]/$\(ALL_OBJECTS_DIR\)\/$\(@F\)/" \ > -e "432s/[EMAIL PROTECTED]/$\(ALL_OBJECTS_DIR\)\/$\(@F\)/" \ > Makefile.incl.orig > Makefile.incl > > make > > cd ../samples > echo "Removing -lC from the samples/runConfigure" > echo > mv ./runConfigure ./runConfigure.orig > sed -e"247d" ./runConfigure.orig > ./runConfigure > chmod +x ./runConfigure > > echo "Setting/Removing the following in samples/Makefile.incl:" > echo " Removing -lC" > echo " Setting external template instances" > echo " Setting multi-threading" > echo > mv Makefile.incl Makefile.incl.orig > sed -e "129s/-lC -lc//" \ > -e "126s/-instances=static//" \ > -e "126,127s/$/ -mt/" \ > Makefile.incl.orig > Makefile.incl > > ./runConfigure -psolaris -ccc -xCC -d > > make > > > > ----------------------------- > "David A. Lee" wrote: > > > Unfortunately, SUN documents the -ptr flag as pretty much obsolete .... > > ('may not always work') and discourages it. > > Also interesting is I found from experiment that -instances=static > > produces *massively smaller* code then using the default template-database > > options. > > (this is entirely counter-intuitive as -instances=static replicates all > > template bodies in each .o file, > > while the tempate database shares code ). > > > > ----- Original Message ----- > > From: Michael Krivoruchko <[EMAIL PROTECTED]> > > To: <[EMAIL PROTECTED]> > > Sent: Monday, February 28, 2000 11:43 AM > > Subject: Re: Getting binaries for Solaris 2.6 and CC 5.0 > > > > > Hi All, > > > > > > I am not 100% sure, but it sounds to me that you should try > > > "-ptr" option while you compile the examples. > > > > > > -------------------- AB2 SunWS C++ 5.0 User's Guide ----------------- > > > -ptrdatabase-path > > > > > > Specifies the directory of the template repository. > > > > > > The template repository is contained within the SunWS_config or > > > SunWS_cache subdirectory of the given directory. The template > > > repository cache files are stored in directory/SunWS_cache. The > > > template repository configuration files are stored in > > > directory/SunWS_config. > > > > > > You cannot use multiple -ptr options. > > > -------------------- AB2 SunWS C++ 5.0 User's Guide ----------------- > > > > > > Misha > > > > > > "David A. Lee" wrote: > > > > > > > > I get this same problem with Solaris 2.7 - have yet to get a CC5.0 > > > > based XERCES to compile, link, and run the basic tests. > > > > > > > > ----- Original Message ----- > > > > From: Cruceta, Sergio (Sergio) <[EMAIL PROTECTED]> > > > > To: <[EMAIL PROTECTED]> > > > > Sent: Monday, February 28, 2000 8:36 AM > > > > Subject: Getting binaries for Solaris 2.6 and CC 5.0 > > > > > > > > > Hi everybody, > > > > > > > > > > I would like to know if someone can send me the binaries of Xerces for > > > > > Solaris 2.6 and CC 5.0. (version 1.0.1 it's right and 1.1.0 perfect) > > > > > I followed the script published by Eric Yankowitz in the mailing-list, > > and > > > > > finallly I got my binaries (It sounds great, isn't it?), > > > > > but when I tried to compile the samples, the compiler didn't find some > > > > > instantiated templates (if you really need more details I can send you > > > > > them). > > > > > > -- > > > --------------------------------------------------------------- > > > Michael Krivoruchko CDE Group, Sun Microsystems > > > Bool House, East Point Business Park, Dublin 3, Ireland > > > Ph: +353 1 819 9272 E-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------- > > > > > > > >