For Programmers: Free Programming Magazines  


Home > Archive > Fortran > March 2004 > Fortran from VAX To Linux









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Fortran from VAX To Linux
mancuso69

2004-03-27, 12:17 am

I'm a beginner and I've a problem porting a source code developed for
VAX Fortran into Fortran G77 for Linux.
Original sorce code contains the following calls:
SYS$QIOW, SYS$ALLOC, SYS$ASSIGN, SYS$CANTIM, SYS$CANCEL, SYS$CLREF,
SYS$BINTIM, SYS$SETIMR, SYS$WFLOR, SYS$READEF, SYS$CREATE,
SYS$CONNECT, SYS$ASCEFC and many others...
These calls are not available in Linux. Can someone tell me how to
replace these with appropriate Linux calls ?? Is there an usefull
documentation to be consulted ??


Thanks a lot
Dr Ivan D. Reid

2004-03-27, 12:17 am

On 22 Mar 2004 05:46:06 -0800, mancuso69 <mancuso69@hotmail.com>
wrote in <f0d26ec2.0403220546.612323bf@posting.google.com>:
> I'm a beginner and I've a problem porting a source code developed for
> VAX Fortran into Fortran G77 for Linux.
> Original sorce code contains the following calls:
> SYS$QIOW, SYS$ALLOC, SYS$ASSIGN, SYS$CANTIM, SYS$CANCEL, SYS$CLREF,
> SYS$BINTIM, SYS$SETIMR, SYS$WFLOR, SYS$READEF, SYS$CREATE,
> SYS$CONNECT, SYS$ASCEFC and many others...
> These calls are not available in Linux. Can someone tell me how to
> replace these with appropriate Linux calls ?? Is there an usefull
> documentation to be consulted ??


Those are all more or less tied in with the O/S. You will need to
either write your own equivalents or find a 3rd-party library with the
necessary routines. One such is http://www.accelr8.com/migprod.html -- there
are probably others.

--
Ivan Reid, Electronic & Computer Engineering, ___ CMS Collaboration,
Brunel University. Ivan.Reid@brunel.ac.uk Room 40-1-B12, CERN
KotPT -- "for stupidity above and beyond the call of duty".
Scott Robert Ladd

2004-03-27, 12:17 am

On Mon, 22 Mar 2004 05:46:06 -0800, mancuso69 wrote:

> I'm a beginner and I've a problem porting a source code developed for
> VAX Fortran into Fortran G77 for Linux.
> Original sorce code contains the following calls:
> SYS$QIOW, SYS$ALLOC, SYS$ASSIGN, SYS$CANTIM, SYS$CANCEL, SYS$CLREF,
> SYS$BINTIM, SYS$SETIMR, SYS$WFLOR, SYS$READEF, SYS$CREATE,
> SYS$CONNECT, SYS$ASCEFC and many others...
> These calls are not available in Linux. Can someone tell me how to
> replace these with appropriate Linux calls ?? Is there an usefull
> documentation to be consulted ??


You have two choices: Find a third-party library that emulates these
functions on Linux, or find a copy of the VAX Fortran and System API
manuals, and write your own equivalents.

I did a lot of VAX Fortran back in the 1980s; if memory serves, the above
functions can likely be replaced with calls to corresponding C routines in
glibc or the Linux kernel.

--
Scott Robert Ladd
Coyote Gulch Productions (http://www.coyotegulch.com)
Software Invention for High-Performance Computing


Steve Lionel

2004-03-27, 12:17 am

On 22 Mar 2004 05:46:06 -0800, mancuso69@hotmail.com (mancuso69) wrote:

>I'm a beginner and I've a problem porting a source code developed for
>VAX Fortran into Fortran G77 for Linux.
>Original sorce code contains the following calls:
>SYS$QIOW, SYS$ALLOC, SYS$ASSIGN, SYS$CANTIM, SYS$CANCEL, SYS$CLREF,
>SYS$BINTIM, SYS$SETIMR, SYS$WFLOR, SYS$READEF, SYS$CREATE,
>SYS$CONNECT, SYS$ASCEFC and many others...
>These calls are not available in Linux. Can someone tell me how to
>replace these with appropriate Linux calls ?? Is there an usefull
>documentation to be consulted ??


Your code, as others have noted, is making extensive use of OpenVMS specific
system servic routines, apparently to do advanced I/O. Taking a wild guess
from the set of routines, it's possible that it's trying to do some sort of
asynchronous, timed terminal I/O.

You are not going to have success with trying to do direct translations to
Linux. Some of the VMS concepts likely do not exist in Linux, such as event
flag clusters.

Instead, you need to take a step back and evaluate what the program is trying
to accomplish, and then find the "Linux way" to implement these.

If you want to see what the various routines are doing, start at
http://h71000.www7.hp.com/doc/os732_index.html The manuals in particular you
want are "OpenVMS I/O User's Reference Manual", "Guide to OpenVMS File
Applications", "OpenVMS Record Management Services Reference Manual" and
"OpenVMS System Services Reference Manual".

If you are truly a "beginner", I recommend finding someone experienced in
these sorts of applications to do the porting for you. (Or, as the "VMS
bigot" in me would say, don't port, leave it on OpenVMS!)


Steve Lionel
Software Products Division
Intel Corporation
Nashua, NH

User communities for Intel Software Development Products
http://softwareforums.intel.com/
Intel Fortran Support
http://developer.intel.com/software/products/support/
Richard Maine

2004-03-27, 12:17 am

Steve Lionel <Steve.Lionel@intel.com> writes:

> If you are truly a "beginner", I recommend finding someone experienced in
> these sorts of applications to do the porting for you.


I'll second that. This doesn't look like the kind of trivial
port that you'll be able to find a "cookbook" answer to. Yes,
people can point you at the Vax documentation, but don't expect
to be able to sit down with it and get anywhere on a problem
like this in just a few hours if you haven't even heard of
any of these routines before. More like a few ws - and that
assumes you are basically pretty quick at picking up new material.

--
Richard Maine | Good judgment comes from experience;
email: my first.last at org.domain | experience comes from bad judgment.
org: nasa, domain: gov | -- Mark Twain
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2009 codecomments.com