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