Compiling and linking with -instances=static gave me the following
output:

ld: fatal: symbol
`RefHashTableOfEnumerator<DTDAttDef>::~RefHashTableOfEnumerator
#Nvariant 1()'
is multiply defined:
     (file /home/eyankowi/tmp/xerces-csrc_1_1_0_d05/obj/DTDAttDefList.o
and file
 /home/eyankowi/tmp/xerces-csrc_1_1_0_d05/obj/DTDElementDecl.o);
ld: fatal: File processing errors. No output written to
/home/eyankowi/tmp/xerces-csrc_1_1_0_d05/lib/libxerces-c1_1.so


There may be a way to fix this error, but as Sun doesn't recommend this
method,
it may not be worth the effort.

-Eric Yankowitz
[EMAIL PROTECTED]

Eric Yankowitz wrote:
> 
> The Sun Documentation recommends using the external method:
>    * External instances are suitable for all development and
>      provide the best overall template compilation.
>    * Static instances are suitable for very small programs
>      or debugging and have restricted uses.
>    ..stuff deleted...
>    You should use the external instances method, which is the default,
> unless there
>    is a very good reason to do otherwise.
> 
> This is from:
> http://docs.sun.com:80/ab2/coll.32.5/CPPPUG/@Ab2PageView/14127?Ab2Lang=C&Ab2Enc=iso-8859-1
> 
> The linker also complained about duplicate symbols. Off the top, I
> don't remember if it was a warning or an error. I'll check tomorrow,
> because I don't have access right now.
> 
> Since the shared library was linked with -mt, libc reported
> a mutex error at runtime and crashed when the sample programs
> were compiled and linked without -mt.
> 
> >From the Sun Documentation:
>   If you compile and link in separate steps and you compile
>   with -mt, be sure to link with -mt, as shown in the following example,
>   or you might get unexpected results.
> 
>   demo% CC -c -mt myprog.cc
>   demo% CC -mt myprog.o
> 
> This is from:
> http://docs.sun.com:80/ab2/coll.32.5/CPPPUG/@Ab2PageView/7898?Ab2Lang=C&Ab2Enc=iso-8859-1
> 
> Hope this helps,
> 
> -Eric Yankowitz
> [EMAIL PROTECTED]
> 
> Arundhati Bhowmick wrote:
> >
> > Eric,
> > Thanks a lot for your effort on Sun CC 5.0. However before I introduce the
> > changes I'd like to make sure the changes work with old version of sun CC as
> > well. Besides I need to clarify few questions regarding your changes -
> > 1. Why do you need external template instance? What fails if its not? The
> > 'instance=static'  option was introduced to avoid creating of external
> > templates for one of our customer so I need to understand exactly what your
> > requirments are on this.
> > 2. Why do you need -mt switch in samples when they are not using any
> > threading operations?
> >
> > Arundhati

Reply via email to