You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@xerces.apache.org by David Nickerson <d....@auckland.ac.nz> on 2000/04/02 05:23:51 UTC
IRIX changes ...
Hi There,
I have also just got Xerces-C version 1.1.0 compiled under SGI IRIX 6.5, using MIPSpro 7.30 on an O2. I'm also compiling n32 binaries, and will eventually be looking at 64 bit binaries on an Origin 2000.
Sounds like I made similar changes to make it work, although instead of changing PlatformUtils.hpp, I pretty much replaced IRIXPlatformUtils.cpp with LinuxPlatformUtils.cpp (appears that a lot of code which was moved to the "code attic" in the Linux version was still in the IRIX version).
To start with, things were not looking good, and I thought I had traced back the problem to the native transcoder, so I compiled the ICU libraries and used them instead of the native transcoder. However, this did not fix the problem - so I compiled a debug version of the ICU libraries and Xerces-C - which appears to fix all my problems and work perfectly with all the samples I have tried. Not sure yet whether this is a problem with the changes I made or the optimisation of the 7.30 compilers (any suggestions would be welcome!!).
I have only just joined the mailing list and can't seem to get the file attachments from the archive, but would like to compare my changes with Matthew Baker's if someone could please send them to me.
If anyone is interested, a list of the changes I made can be found at http://www.esc.auckland.ac.nz/People/Students/Nickerso/Xerces-C/index.html
Thanks,
David.
Re: IRIX changes ...
Posted by David Nickerson <d....@auckland.ac.nz>.
src/Makefile.incl <- IRIX specific definitions have been included. However, towards the end of the file where the rule to convert .cpp to .o file is mentioned, there is a special rule for IRIX. This is not a good principle. So it has been excluded at the moment. The only difference is in the @F part. If you can find a better way to make it work without an "if PLATFROM=IRIX" statement, that will be more preferable.
now that the objects are compiled directly into the object tree, the extra IRIX compile is not neccessary.
Please check out the new code directly from Apche's CVS repository, and point out problems if any.
I checked out the source and the library builds fine with no changes required!!
I did have to add XMLFormatter.hpp/.$(TO) to the file lists in framework/Makefile(.in) to get the SAXPrint sample program to work.
I'm also still having trouble with optimised versions not being able to resolve relative paths. Debug versions of the library work fine!! Its seems that in the optimised library, the call to XMLString::Transcode(srcPath) in XMLPlatformUtils::getFullPath (IRIXPlatformUtils.cpp) returns a nonsense string, while in the debug version it returns the expected file name.
Not too sure what is happening, and it doesn't worry me too much - so I won't be spending too much time tracking it down!!
Thanks for putting in the changes,
David.
Re: IRIX changes ...
Posted by Anupam Bagchi <ab...@taz.hyperreal.org>.
Matthew and David,
I picked up the first set of IRIX changes and tried to merge it back to the Apacahe source base. Most of the changes were pertinent and were put in as such. However, since the diffs are based on older code, many of them are not relevant now. (The diffs actually were useless from a tools point of view; I had to manually look over each change before deciding to put it in).
The changes have been commited to the Apache server. However, some of the changes could not be put in because of the reasons stated below. So, the present code base may or may not work. (I could not check it first-hand since I do not have access to an IRIX machine). Please send your feedback on the changes and we can make further improvements, if necessary.
src/Makefile.incl <- IRIX specific definitions have been included. However, towards the end of the file where the rule to convert .cpp to .o file is mentioned, there is a special rule for IRIX. This is not a good principle. So it has been excluded at the moment. The only difference is in the @F part. If you can find a better way to make it work without an "if PLATFROM=IRIX" statement, that will be more preferable.
src/runConfigure <- The use of $compileroption to the list of libraries in line 517 does not look logical. So it has been excluded.
src/util/PlatformUtils.hpp <- No change has been included since they all seem obsolete. The streaming functions were all taken out and don't exist any more.
src/util/Platforms/IRIX/IRIXPlatformUtils.cpp <- Most changes have been put in. However the code that looks for the library location is not relevant anymore. A lot more changes went in since the 1.1.0 release which I also included. In general, David's suggestion to start from the LinuxPlatformUtils.cpp appears more reasonable.
samples/Makefile.incl <- no problem, all changes put in
samples/runConfigure <- no problem, all changes put in
Please check out the new code directly from Apche's CVS repository, and point out problems if any.
Matthew and David have both been acknowledged in the docs where list of contributors are mentioned.
- Anupam Bagchi (abagchi@us.ibm.com)
Advisory Software Engineer
IBM, Java Technology Center, Cupertino, CA 95014
----- Original Message -----
From: David Nickerson
To: xerces-dev@xml.apache.org
Sent: Saturday, April 01, 2000 8:23 PM
Subject: IRIX changes ...
Hi There,
I have also just got Xerces-C version 1.1.0 compiled under SGI IRIX 6.5, using MIPSpro 7.30 on an O2. I'm also compiling n32 binaries, and will eventually be looking at 64 bit binaries on an Origin 2000.
Sounds like I made similar changes to make it work, although instead of changing PlatformUtils.hpp, I pretty much replaced IRIXPlatformUtils.cpp with LinuxPlatformUtils.cpp (appears that a lot of code which was moved to the "code attic" in the Linux version was still in the IRIX version).
To start with, things were not looking good, and I thought I had traced back the problem to the native transcoder, so I compiled the ICU libraries and used them instead of the native transcoder. However, this did not fix the problem - so I compiled a debug version of the ICU libraries and Xerces-C - which appears to fix all my problems and work perfectly with all the samples I have tried. Not sure yet whether this is a problem with the changes I made or the optimisation of the 7.30 compilers (any suggestions would be welcome!!).
I have only just joined the mailing list and can't seem to get the file attachments from the archive, but would like to compare my changes with Matthew Baker's if someone could please send them to me.
If anyone is interested, a list of the changes I made can be found at http://www.esc.auckland.ac.nz/People/Students/Nickerso/Xerces-C/index.html
Thanks,
David.
Re: IRIX changes ...
Posted by David Nickerson <d....@auckland.ac.nz>.
From: "Matthew Baker" <Ma...@gmd.de>
To: <xe...@xml.apache.org>
Cc: <xe...@xml.apache.org>
Sent: Sunday, April 02, 2000 8:54 PM
Subject: Re: IRIX changes ...
> On Sun, 2 Apr 2000, David Nickerson wrote:
>
> > To start with, things were not looking good, and I thought I had traced
> > back the problem to the native transcoder, so I compiled the ICU
> > libraries and used them instead of the native transcoder. However, this
> > did not fix the problem - so I compiled a debug version of the ICU
> > libraries and Xerces-C - which appears to fix all my problems and work
> > perfectly with all the samples I have tried. Not sure yet whether this
> > is a problem with the changes I made or the optimisation of the 7.30
> > compilers (any suggestions would be welcome!!).
>
> I thought I came across a similar-sounding bug when I was testing my
> installation with the sample suite. As it turned out, the parsers need an
> absolute URL rather than a relative one. I was trying to run SAXPrint,
> for example, with a command line parameter of sample.xml instead of
> file:/home/blahblah/sample.xml. The reason I mention this is I thought
> I'd traced it back to the native transcoder before I realized what was
> going on.
>
> Actually maybe it is a bug. Should the parsers resolve relative URLs?
My version of the libraries (Xerces-C and ICU) seem to resolve both absolute
and relative references - possibly due to changing the code in
IRIXPlatformUtils.cpp to mirror the changes in LinuxPlatformUtils.cpp ??
See ya,
David.
Re: IRIX changes ...
Posted by David Nickerson <d....@auckland.ac.nz>.
I have combined my changes with Matthew Baker's to give a reasonably simple
method of building the Xerces-C library using the native transcoder under
SGI IRIX 6.5 with MIPSpro 7.30 compilers.
Instructions and changed files can be found at
http://www.esc.auckland.ac.nz/People/Students/Nickerso/Xerces-C/index.html
The main point to note is that unless you have the -d flag on the
runConfigure command, relative paths do not appear to work. i.e. unless you
use a debug (or even an optimised debug) library, you always need to specify
the absolute URI - file:/path/to/sample/sample.xml - rather than the
relative path!!
This appears to be the case whether you use the native or the ICU
transcoders. Any ideas ???
David.
Re: IRIX changes ...
Posted by Matthew Baker <Ma...@gmd.de>.
On Sun, 2 Apr 2000, David Nickerson wrote:
> To start with, things were not looking good, and I thought I had traced
> back the problem to the native transcoder, so I compiled the ICU
> libraries and used them instead of the native transcoder. However, this
> did not fix the problem - so I compiled a debug version of the ICU
> libraries and Xerces-C - which appears to fix all my problems and work
> perfectly with all the samples I have tried. Not sure yet whether this
> is a problem with the changes I made or the optimisation of the 7.30
> compilers (any suggestions would be welcome!!).
I thought I came across a similar-sounding bug when I was testing my
installation with the sample suite. As it turned out, the parsers need an
absolute URL rather than a relative one. I was trying to run SAXPrint,
for example, with a command line parameter of sample.xml instead of
file:/home/blahblah/sample.xml. The reason I mention this is I thought
I'd traced it back to the native transcoder before I realized what was
going on.
Actually maybe it is a bug. Should the parsers resolve relative URLs?
> I have only just joined the mailing list and can't seem to get the file
> attachments from the archive, but would like to compare my changes with
> Matthew Baker's if someone could please send them to me.
I'll foward them to you. Oh, I found an additional thing. The
-L/usr/lib32 needs to be removed from the IRIX compiler options in
src/Makefile.incl otherwise it won't built with -64.
> If anyone is interested, a list of the changes I made can be found at
> http://www.esc.auckland.ac.nz/People/Students/Nickerso/Xerces-C/index.html
I am interested, thanks. Maybe I should do the same. I'll put them at
http://www.gmd.de/~mbaker/xerces-c-irix/ at some stage today.
Oh, David's idea of updating IRIXPlatformUtils.cpp from
LinuxPlatformUtils.cpp rather than editing PlatformUtils.hpp makes
better sense to me.
Cheers,
Matthew
P.S. I'm emailing this to both lists because it's a reply to the old list
:)
--
Dr. Matthew Baker matthew.baker@gmd.de
GMD - FIT.MMK http://fit.gmd.de/hci/pages/matthew.baker.html