Neil,

Thanks for the details.
I cannot build directly from the CVS repository as we are not using the
latest Xerces version (but we will upgrade at some point).
We managed to make it work by rebuilding the Xerces library with a specific
Solaris compilation flag that turns on support for large file (under the
cover, I think that the compiler will just replace all the open/write/close
calls by the open64/write64/close64 ones.
The complete Xerces code had no problem to compile that way and we could
write file bigger than 2 gig for sure.

Which "fix" is the best, I am not sure. I am a little concern by the
compilation flag for performance reason, but so far, everything seems to
perform the same way.

Thomas  

-----Original Message-----
From: Neil Graham [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, January 06, 2004 7:06 PM
To: [EMAIL PROTECTED]
Subject: Re: XMLPlatformUtils support for large file on Solaris






Hi Thomas,

If it's possible for you to build directly from our CVS repository, I've
just put in a fix that I think resolves this problem.  Since we're using
open instead of fopen, I believe it's necessary to or in O_LARGEFILE to the
open call; but I have no sufficiently large files to test this.

Thanks!
Neil
Neil Graham
XML Parser Development
IBM Toronto Lab
Phone:  905-413-3519, T/L 969-3519
E-mail:  [EMAIL PROTECTED]




 

                      [EMAIL PROTECTED]

                      oftware.com                     To:
[EMAIL PROTECTED]

                                                      cc:

                      12/30/2003 12:18 AM             Subject:
XMLPlatformUtils support for large file on Solaris

                      Please respond to

                      xerces-c-dev

 

 





I am using the following XMLPlatformUtils call to write XML documents
directly to disk.

XMLPlatformUtils::openFileToWrite(utf16FileName);

XMLPlatformUtils::writeBufferToFile(_fileHandle,
                                        _bufferedBytes,
                                        (XMLByte*)_fileBuffer);
XMLPlatformUtils::closeFile(_fileHandle);

It seems that those calls cannot be used for files bigger than 2 Gig. I
check the XercesC source code, Solaris platform util implementation, it
seems that a regular open is used to open the file while on Solaris, things
like open64 (or something like that) must be used for large file support (I
think).

Can anybody confirm? If it is confirmed, is there anywhere an alternative to
the default XMLPlatformUtils that will support large files?

Thanks.

Thomas


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to