[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Octave port to OpenVMS on a Dec Alpha / VAX
From: |
John W. Eaton |
Subject: |
Re: Octave port to OpenVMS on a Dec Alpha / VAX |
Date: |
Fri, 27 Oct 2017 13:07:39 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 |
On 10/26/2017 11:06 AM, Przemek Klosowski wrote:
On 10/25/2017 10:09 AM, Dietz, Guido wrote:
Are you aware of any working Octave port to OpenVMS on a Dec Alpha or
a VAX? Where may I find that?
I am not aware of one, but I worked on OpenVMS in the past and I am
pretty sure that I had Octave running, by bringing up GCC/G++ and
recompiling Octave. I don't remember any details because it was 20 years
ago, but I think it wasn't difficult, just tedious.
I discussed this a bit with Guido off the list. It would be an
interesting thing to do as a portability test if nothing else. I do
have some experience with VMS, but it's been at least a decade.
To summarize:
I think it would be best to start with the current sources. We aim for
portable C++11. For any non-standard POSIX features, we use a
well-defined set of wrappers around functions from gnulib.
If you had asked me about this six months ago, I probably would have
thought it would be next to impossible, but recently I saw some posts on
the gnulib mailing list about improving support for VMS systems:
http://lists.gnu.org/archive/cgi-bin/namazu.cgi?query=VMS&submit=Search%21&idxname=bug-gnulib&max=20&result=normal&sort=date%3Alate
So maybe this idea is not too crazy.
I'd begin by disabling all optional features. This should happen
automatically if the configure script can't find the necessary libraries
to support optional features. Then you can add optional dependencies as
need them.
The build system requires some basic Unix tools to run, /bin/sh and
utilities, plus a reasonably current version of GNU Make, Perl and
possibly Python. Is that all possible with VMS? I'm sure there are
other things I'm forgetting.
But then...
What compilers are available for VMS? Is there a GCC port? Or is there
only VMS C, C++, and Fortran?
The only info I can find for VMS C++ compilers is this:
http://h41379.www4.hpe.com/commercial/cplus/alpha_doc/index.html
and the document linked there has a date of 2007. Since Octave requires
C++11 features now, I am sure the compiler documented there will not be
sufficient.
The most recent version of GCC for VMS that I could find was either 3.x
or 4.0.x and those are both too old for building Octave.
Unless there is another more modern C++ compiler available, I don't
think it will be possible to build the current version of Octave for VMS.
Building some older version of Octave from a dozen years ago might be
possible, but will surely bring up its own set of porting issues. Given
how much Octave has changed in the last ten years or so, solving those
problems will probably not be of much help to the current version of
Octave. That makes this idea much less interesting to me.
jwe