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