Hi Anil,
by looking at the RefHash3KeysIdPool::put method in xercesc/util/RefHash3KeysIdPool.c I see this code:

   // Revisit: the gcc compiler 2.95.x is generating an
   // internal compiler error message. So we use the default
   // memory manager for now.
#if defined (XML_GCC_VERSION) && (XML_GCC_VERSION < 29600)
newBucket = new RefHash3KeysTableBucketElem<TVal>(key1, key2, key3, valueToAdopt, fBucketList[hashVal]);
#else
newBucket = new (fMemoryManager) RefHash3KeysTableBucketElem<TVal>(key1, key2, key3, valueToAdopt, fBucketList[hashVal]);
#endif

It could be that your copy of gcc still has the same problem even if it's no more version 2.95; you could try changing the #ifdef to say "XML_GCC_VERSION <= 29600" and see if the internal error goes away.
As for the StDOMNode.hpp header, try moving the

#if defined(XML_DOMREFCOUNT_EXPERIMENTAL)

found after the declaration of the template before the template, so that it's completely excluded from the build.

Alberto

Anil Edathara wrote:
Hi Alberto,

Thank you for the quick response.

We looked in detail. There are 2 issues with compilation itself.
1) First one happens when we try to compile the 'IGXMLScanner.cpp' file.
The compiler give the 'internal compiler error' message and quits. GNU C++ version gcc-2.96 (2.96+) 19990621 xerces-c-src_2_6_0/include/xercesc/util/RefHash3KeysIdPool.c: In method
`unsigned int
xercesc_2_6::RefHash3KeysIdPool<xercesc_2_6::SchemaElementDecl>::put(voi
d *, int, int, xercesc_2_6::SchemaElementDecl *)':
xerces-c-src_2_6_0/include/xercesc/validators/schema/SchemaGrammar.hpp:6
76:   instantiated from here
xerces-c-src_2_6_0/include/xercesc/util/RefHash3KeysIdPool.c:398:
Internal compiler error.
xerces-c-src_2_6_0/include/xercesc/util/RefHash3KeysIdPool.c:398:
Internal compiler error:
xerces-c-src_2_6_0/include/xercesc/util/RefHash3KeysIdPool.c:398: Please
submit a full bug report.


2) Second problem happens when we try to compiler the
'DOMWriterImpl.cpp' file. The compiler emits the 'tree_list not
implemented error' and quits.
GNU C++ version gcc-2.96 (2.96+) 19990621
xerces-c-src_2_6_0/include/xercesc/dom/StDOMNode.hpp:41: sorry, not
implemented: `tree_list' not supported by dump_expr
In file included from DOMWriterImpl.cpp:210:
xerces-c-src_2_6_0/include/xercesc/dom/StDOMNode.hpp: xerces-c-src_2_6_0/include/xercesc/dom/StDOMNode.hpp:41: sorry, not
implemented: `tree_list' not supported by dump_expr
g++ppc: Internal compiler error: program cc1plus got fatal signal 11
Regards
Anil

-----Original Message-----
From: Alberto Massari [mailto:amass...@datadirect.com] Sent: Tuesday, January 20, 2009 6:15 AM
To: c-users@xerces.apache.org
Cc: Edathara, Anil (SC100:0000)
Subject: Re: XERCES 2.6 and Gcc 2.96

Anil,
gcc 2.96 is old, and Xerces 2.6 is old too, so I don't recall what is
their status. Anyhow, you reported these errors

tmp.2(.gnu.linkonce.t._ZN11xercesc_2_610XMLRefInfoD0Ev+0x1aa): In
function `xercesc_2_6::XMLRefInfo::~XMLRefInfo()':
: undefined reference to `_Unwind_SjLj_Unregister'
tmp.2(.gnu.linkonce.t._ZN11xercesc_2_610XMLRefInfoD0Ev+0x1ae): In
function `xercesc_2_6::XMLRefInfo::~XMLRefInfo()':
: undefined reference to `_Unwind_SjLj_Unregister'
tmp.2(.gnu.linkonce.t._ZN11xercesc_2_611IOExceptionC1EPKcjNS_10XMLExcept
s5CodesEPNS_13MemoryManagerE+0x72): In function `xercesc_2_6::IOException::IOException(char const*,
unsigned, xercesc_2_6::XMLExcepts::Codes, xercesc_2_6::MemoryManager*)':
: undefined reference to `__gxx_personality_sj0'
tmp.2(.gnu.linkonce.t._ZN11xercesc_2_611IOExceptionC1EPKcjNS_10XMLExcept
s5CodesEPNS_13MemoryManagerE+0x76): In function `xercesc_2_6::IOException::IOException(char const*,
unsigned, xercesc_2_6::XMLExcepts::Codes, xercesc_2_6::MemoryManager*)':
: undefined reference to `__gxx_personality_sj0'

They refer to symbols that belong to the c++ compiler, not to Xerces;
are you sure you are using g++ as compiler, instead of gcc? Another
possibility is that your copy of gcc has been built without the option
--enable-sjlj-exceptions, and doesn't have those symbols at all.

Alberto

Michael Glavassevich wrote:
Hi Anil,

I have never built Xerces-C before. Rather than privately e-mailing folks, you should ask your question on the Xerces-C users list. And be

patient. It might take awhile before somebody answers. Also, try searching the mailing list archives. You may find that someone else asked a similar question in the past.

Thanks.

Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: mrgla...@ca.ibm.com
E-mail: mrgla...@apache.org

"Anil Edathara" <a...@nortel.com> wrote on 01/20/2009 03:13:14 AM:

Hi Michael,
Sorry to email you directly. I got your email from your recent post.
We are planning to use Xerces 2.6 in one of our vxworks projects. We are getting into some build issues while trying this. I posted it on

the xerces development site but didn't get any response.
Not sure whether I posted it correctly.
Whether gcc 2.96 can be used to build xerces 2.6 ? We have tried with

gcc 3.3 and it worked. But unfortunately we cant change xerces version and gcc version at this
point.
Regards
Anil



Reply via email to