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]
> > > ---------------------------------------------------------------
> > >
> > >
>
>

Reply via email to