You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-users@xerces.apache.org by Michael Glavassevich <mr...@ca.ibm.com> on 2009/01/20 13:14:59 UTC
Re: XERCES 2.6 and Gcc 2.96
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: mrglavas@ca.ibm.com
E-mail: mrglavas@apache.org
"Anil Edathara" <an...@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
Re: XERCES 2.6 and Gcc 2.96
Posted by Alberto Massari <am...@datadirect.com>.
Hi Anil,
I'm not an expert of gcc 2.96, so this is just a wild guess; can you
verify/add a -lC option to the linker command line?
Alberto
Anil Edathara wrote:
> Thank you for the inputs. We made the change as you suggested for the
> first one. We managed to get a patch for gcc 2.96 which
> fixed the second issue. Now the compilation is through. Now we are
> getting some undefined reference issue which is not related to xerces.
> Thank you once again.
>
> In addition to that we get these undefined reference errors:
> tmp.2(.text+0x19e289c): In function
> `__static_initialization_and_destruction_0(int, int)':
> : undefined reference to `std::ios_base::Init::~Init()'
> tmp.2(.text+0x19e28a4): In function
> `__static_initialization_and_destruction_0(int, int)':
> : undefined reference to `std::ios_base::Init::Init()'
> tmp.2(.text+0x19e2c14): In function
> `__static_initialization_and_destruction_0(int, int)':
> : undefined reference to `std::ios_base::Init::~Init()'
> tmp.2(.text+0x19e2c1c): In function
> `__static_initialization_and_destruction_0(int, int)':
> : undefined reference to `std::ios_base::Init::Init()'
>
> Regards
> Anil
>
> -----Original Message-----
> From: Alberto Massari [mailto:amassari@datadirect.com]
> Sent: Thursday, January 22, 2009 4:51 AM
> To: Edathara, Anil (SC100:0000)
> Cc: c-users@xerces.apache.org
> Subject: Re: XERCES 2.6 and Gcc 2.96
>
> 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(v
>> oi 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:amassari@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_10XMLExce
>> pt
>> 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_10XMLExce
>> pt
>> 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: mrglavas@ca.ibm.com
>>> E-mail: mrglavas@apache.org
>>>
>>> "Anil Edathara" <an...@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
>>>>
>>>>
>>>>
>>
>>
>
>
>
Re: XERCES 2.6 and Gcc 2.96
Posted by Alberto Massari <am...@datadirect.com>.
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:amassari@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: mrglavas@ca.ibm.com
>> E-mail: mrglavas@apache.org
>>
>> "Anil Edathara" <an...@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
>>>
>>>
>
>
>
Re: XERCES 2.6 and Gcc 2.96
Posted by Alberto Massari <am...@datadirect.com>.
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_10XMLExcepts5CodesEPNS_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_10XMLExcepts5CodesEPNS_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: mrglavas@ca.ibm.com
> E-mail: mrglavas@apache.org
>
> "Anil Edathara" <an...@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
>>