[xsd-users] Error compiling char-utf8.txx with Solaris Studio 12.4 c++11

Bernie Harris Bernard.T.Harris at nasa.gov
Mon Apr 11 07:05:48 EDT 2016


On 4/8/16 10:35 AM, Boris Kolpackov wrote:
> Hi Bernie,
>
> Bernie Harris <Bernard.T.Harris at nasa.gov> writes:
>
>> In Oracle Solaris Studio 12.4, the C++ compiler supports C++11, a
>> new language and ABI (Application Binary Interface).
>>
>> In C++ 11 mode, the CC compiler uses the g++ ABI and a version of
>> the g++ runtime library that is supplied with Oracle Solaris
>> Studio. For this release, version 4.8.2 of the g++ runtime library
>> is used.
> Interesting. This means you should be able to build Xerces-C++ with
> GCC (probably even in C++98 mode, though it should also build in C++11)
> and then link it to your application that is built with Sun CC in C++11
> mode.
Most, if not all of the Xerces-C++ check programs are failing by 
throwing an EndOfEntityException.  This has been reported by others 
years ago (that you even commented on).  There wasn't any resolution and 
I guess it is a problem with the g++ runtime on Solaris.  Here's a stack 
trace:
> t at 1 (l at 1) program terminated by signal ABRT (Abort)
> 0xfd86c925: __lwp_kill+0x0015:  jae __lwp_kill+0x23        [ 
> 0xfd86c933, .+0xe ]
> Current function is xercesc_3_1::ReaderMgr::popReader
>  1083 throw EndOfEntityException(prevEntity, readerNum);
> (dbx) print fThrowEOE
> fThrowEOE = false
> (dbx) print prevReaderThrowAtEnd
> prevReaderThrowAtEnd = true
> (dbx) print readerNum
> readerNum = 3U
and the code
> 1078      //
>   1079      //  If there was a previous entity, and either the 
> fThrowEOE flag is
>  set
>   1080      //  or reader was marked as such, then throw an end of entity.
>   1081      //
>   1082      if (prevEntity && (fThrowEOE || prevReaderThrowAtEnd))
>   1083          throw EndOfEntityException(prevEntity, readerNum);
I'm giving up.  I'll look for an alternative CDF Java library that 
doesn't have the performance limitation (single threadedness) that cause 
me to look at C++.  If that doesn't work, I my just use simple 
"std::cout <<" statements to produce the XML from C++ instead of using 
xsd and Xerces-C++.  Neither is as nice but may be less work. Thanks.

Bernie

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 7270 bytes
Desc: S/MIME Cryptographic Signature
Url : http://codesynthesis.com/pipermail/xsd-users/attachments/20160411/f45f9c38/smime.bin


More information about the xsd-users mailing list